TEST(runToolOnCode, FindsClassDecl) { bool FoundClassDeclX = false; EXPECT_TRUE(runToolOnCode(new TestAction( new FindClassDeclXConsumer(&FoundClassDeclX)), "class X;")); EXPECT_TRUE(FoundClassDeclX); FoundClassDeclX = false; EXPECT_TRUE(runToolOnCode(new TestAction( new FindClassDeclXConsumer(&FoundClassDeclX)), "class Y;")); EXPECT_FALSE(FoundClassDeclX); }
TEST(runToolOnCode, FindsNoTopLevelDeclOnEmptyCode) { bool FoundTopLevelDecl = false; EXPECT_TRUE( runToolOnCode(new TestAction(llvm::make_unique<FindTopLevelDeclConsumer>( &FoundTopLevelDecl)), "")); EXPECT_FALSE(FoundTopLevelDecl); }
TEST(runToolOnCode, FindsTopLevelDeclOnEmptyCode) { bool FoundTopLevelDecl = false; EXPECT_TRUE(runToolOnCode( new TestAction(new FindTopLevelDeclConsumer(&FoundTopLevelDecl)), "")); EXPECT_TRUE(FoundTopLevelDecl); }
void InheritanceBuilder::process(const llvm::Twine &Code) { MatchFinder MF; tackOnto(MF); runToolOnCode(newFrontendActionFactory(&MF)->create(), Code); }
TEST(runToolOnCode, TestSkipFunctionBody) { EXPECT_TRUE(runToolOnCode(new SkipBodyAction, "int skipMe() { an_error_here }")); EXPECT_FALSE(runToolOnCode(new SkipBodyAction, "int skipMeNot() { an_error_here }")); }