diff options
Diffstat (limited to 'clang/unittests/ASTMatchers/ASTMatchersTest.cpp')
| -rw-r--r-- | clang/unittests/ASTMatchers/ASTMatchersTest.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/clang/unittests/ASTMatchers/ASTMatchersTest.cpp b/clang/unittests/ASTMatchers/ASTMatchersTest.cpp index d51a5e28b5e..f0eede8a788 100644 --- a/clang/unittests/ASTMatchers/ASTMatchersTest.cpp +++ b/clang/unittests/ASTMatchers/ASTMatchersTest.cpp @@ -1420,6 +1420,13 @@ TEST(Callee, MatchesDeclarations) { CallMethodX)); } +TEST(ConversionDeclaration, IsExplicit) { + EXPECT_TRUE(matches("struct S { explicit operator int(); };", + conversionDecl(isExplicit()))); + EXPECT_TRUE(notMatches("struct S { operator int(); };", + conversionDecl(isExplicit()))); +} + TEST(Callee, MatchesMemberExpressions) { EXPECT_TRUE(matches("class Y { void x() { this->x(); } };", callExpr(callee(memberExpr())))); @@ -1992,6 +1999,13 @@ TEST(ConstructorDeclaration, IsImplicit) { methodDecl(isImplicit(), hasName("operator=")))); } +TEST(ConstructorDeclaration, IsExplicit) { + EXPECT_TRUE(matches("struct S { explicit S(int); };", + constructorDecl(isExplicit()))); + EXPECT_TRUE(notMatches("struct S { S(int); };", + constructorDecl(isExplicit()))); +} + TEST(ConstructorDeclaration, Kinds) { EXPECT_TRUE(matches("struct S { S(); };", constructorDecl(isDefaultConstructor()))); |

