diff options
Diffstat (limited to 'clang/unittests')
| -rw-r--r-- | clang/unittests/Tooling/RecursiveASTVisitorTest.cpp | 9 | ||||
| -rw-r--r-- | clang/unittests/Tooling/TestVisitor.h | 3 |
2 files changed, 11 insertions, 1 deletions
diff --git a/clang/unittests/Tooling/RecursiveASTVisitorTest.cpp b/clang/unittests/Tooling/RecursiveASTVisitorTest.cpp index 837a15fa887..6be734e6d4b 100644 --- a/clang/unittests/Tooling/RecursiveASTVisitorTest.cpp +++ b/clang/unittests/Tooling/RecursiveASTVisitorTest.cpp @@ -531,6 +531,15 @@ TEST(RecursiveASTVisitor, VisitsCompoundLiteralType) { TypeLocVisitor::Lang_C)); } +TEST(RecursiveASTVisitor, VisitsObjCPropertyType) { + TypeLocVisitor Visitor; + Visitor.ExpectMatch("NSNumber", 2, 33); + EXPECT_TRUE(Visitor.runOver( + "@class NSNumber; \n" + "@interface A @property (retain) NSNumber *x; @end\n", + TypeLocVisitor::Lang_OBJC)); +} + TEST(RecursiveASTVisitor, VisitsLambdaExpr) { LambdaExprVisitor Visitor; Visitor.ExpectMatch("", 1, 12); diff --git a/clang/unittests/Tooling/TestVisitor.h b/clang/unittests/Tooling/TestVisitor.h index ec751c350e0..2e64032cf40 100644 --- a/clang/unittests/Tooling/TestVisitor.h +++ b/clang/unittests/Tooling/TestVisitor.h @@ -39,7 +39,7 @@ public: virtual ~TestVisitor() { } - enum Language { Lang_C, Lang_CXX98, Lang_CXX11, Lang_CXX=Lang_CXX98 }; + enum Language { Lang_C, Lang_CXX98, Lang_CXX11, Lang_OBJC, Lang_CXX=Lang_CXX98 }; /// \brief Runs the current AST visitor over the given code. bool runOver(StringRef Code, Language L = Lang_CXX) { @@ -48,6 +48,7 @@ public: case Lang_C: Args.push_back("-std=c99"); break; case Lang_CXX98: Args.push_back("-std=c++98"); break; case Lang_CXX11: Args.push_back("-std=c++11"); break; + case Lang_OBJC: Args.push_back("-ObjC"); break; } return tooling::runToolOnCodeWithArgs(CreateTestAction(), Code, Args); } |

