|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
Declarations
tools/clang/include/clang/ASTMatchers/ASTMatchers.h 380 extern const internal::VariadicDynCastAllOfMatcher<Decl, RecordDecl> recordDecl;
References
tools/clang/lib/ASTMatchers/Dynamic/Registry.cpp 468 REGISTER_MATCHER(recordDecl);
tools/clang/lib/StaticAnalyzer/Checkers/PointerIterationChecker.cpp 69 recordDecl(hasName("std::unordered_set")
tools/clang/tools/extra/clang-include-fixer/find-all-symbols/FindAllSymbols.cpp 159 auto CRecords = recordDecl(CommonFilter, ExternCMatcher, isDefinition());
tools/clang/tools/extra/clang-reorder-fields/ReorderFieldsAction.cpp 39 match(recordDecl(hasName(RecordName), isDefinition()).bind("recordDecl"),
tools/clang/tools/extra/clang-tidy/abseil/FasterStrsplitDelimiterCheck.cpp 70 cxxConstructExpr(hasType(recordDecl(hasName("::absl::string_view"))),
78 hasType(recordDecl(hasName("::absl::ByAnyChar"))),
tools/clang/tools/extra/clang-tidy/android/CloexecAccept4Check.cpp 22 hasType(pointsTo(recordDecl(isStruct(), hasName("sockaddr"))));
tools/clang/tools/extra/clang-tidy/android/CloexecAcceptCheck.cpp 21 hasType(pointsTo(recordDecl(isStruct(), hasName("sockaddr"))));
tools/clang/tools/extra/clang-tidy/bugprone/DanglingHandleCheck.cpp 78 recordType(hasDeclaration(recordDecl(isASequence())))))))),
82 recordType(hasDeclaration(recordDecl(
157 recordType(hasDeclaration(recordDecl(
tools/clang/tools/extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp 556 hasType(hasUnqualifiedDesugaredType(recordType(hasDeclaration(recordDecl(
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/InterfacesGlobalInitCheck.cpp 24 recordDecl())), // Class scope.
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp 292 hasType(recordDecl(has(fieldDecl()),
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/ProTypeUnionAccessCheck.cpp 24 memberExpr(hasObjectExpression(hasType(recordDecl(isUnion()))))
tools/clang/tools/extra/clang-tidy/llvm/TwineLocalCheck.cpp 22 qualType(hasDeclaration(recordDecl(hasName("::llvm::Twine"))));
tools/clang/tools/extra/clang-tidy/misc/UnconventionalAssignOperatorCheck.cpp 35 hasName("operator="), ofClass(recordDecl().bind("class")))
tools/clang/tools/extra/clang-tidy/modernize/AvoidCArraysCheck.cpp 55 hasParent(recordDecl(isExternCContext())))),
tools/clang/tools/extra/clang-tidy/modernize/ReplaceAutoPtrCheck.cpp 91 auto AutoPtrDecl = recordDecl(hasName("auto_ptr"), isFromStdNamespace());
tools/clang/tools/extra/clang-tidy/modernize/UseAutoCheck.cpp 215 hasDeclContext(recordDecl(hasStdContainerName(), isFromStdNamespace())));
tools/clang/tools/extra/clang-tidy/modernize/UseDefaultMemberInitCheck.cpp 215 hasParent(recordDecl(isUnion()))))),
tools/clang/tools/extra/clang-tidy/performance/FasterStringFindCheck.cpp 78 recordDecl(hasAnyName(SmallVector<StringRef, 4>(
tools/clang/tools/extra/clang-tidy/readability/RedundantMemberInitCheck.cpp 42 unless(forField(hasParent(recordDecl(isUnion())))))
tools/clang/tools/extra/clang-tidy/readability/RedundantSmartptrGetCheck.cpp 34 return recordDecl(hasAnyName("::std::unique_ptr", "::std::shared_ptr"));
39 const auto QuacksLikeASmartptr = recordDecl(
40 recordDecl().bind("duck_typing"),
62 recordDecl(Smartptr, has(cxxConversionDecl(returns(booleanType()))))));
tools/clang/unittests/AST/ASTContextParentMapTest.cpp 30 cxxMethodDecl(hasParent(recordDecl(hasName("C"))))));
tools/clang/unittests/AST/ASTImporterTest.cpp 1124 recordDecl(has(classTemplateDecl()),
1868 FirstDeclMatcher<RecordDecl>().match(FromTU0, recordDecl(hasName("X")));
1870 FirstDeclMatcher<RecordDecl>().match(FromTU1, recordDecl(hasName("X")));
1878 DeclCounter<RecordDecl>().match(ToTU, recordDecl(hasName("X"))));
1901 FirstDeclMatcher<RecordDecl>().match(FromTU0, recordDecl(hasName("X")));
1903 FirstDeclMatcher<RecordDecl>().match(FromTU1, recordDecl(hasName("X")));
1911 DeclCounter<RecordDecl>().match(ToTU, recordDecl(hasName("X"))));
2932 recordDecl(hasFieldOrder({"b", "a"})));
3241 FirstDeclMatcher<RecordDecl>().match(FromTU, recordDecl(hasName("A")));
3254 R0, recordDecl(has(fieldDecl(hasName("next"))))));
3256 R1, recordDecl(has(fieldDecl(hasName("next"))))));
3667 auto Pattern = recordDecl(hasName("X"), unless(isImplicit()));
3685 auto Pattern = recordDecl(hasName("X"), unless(isImplicit()));
3703 auto Pattern = recordDecl(hasName("X"), unless(isImplicit()));
4338 FirstDeclMatcher<RecordDecl>().match(ToTU, recordDecl(hasName("Foo")));
4340 FirstDeclMatcher<RecordDecl>().match(ToTU, recordDecl(hasName("A")));
4376 FirstDeclMatcher<RecordDecl>().match(ToTU, recordDecl(hasName("A")));
4378 FirstDeclMatcher<RecordDecl>().match(ToTU, recordDecl(hasName("B")));
4386 hasParent(recordDecl(hasName("A"))))));
4391 hasParent(recordDecl(hasName("B"))))));
tools/clang/unittests/AST/SourceLocationTest.cpp 39 EXPECT_FALSE(Verifier.match("int i;", recordDecl()));
tools/clang/unittests/AST/StructuralEquivalenceTest.cpp 717 FirstDeclMatcher<RecordDecl>().match(TU, recordDecl(hasName("X")));
719 FirstDeclMatcher<RecordDecl>().match(TU1, recordDecl(hasName("X")));
752 FirstDeclMatcher<RecordDecl>().match(ToTU, recordDecl(hasName("A")));
tools/clang/unittests/ASTMatchers/ASTMatchersInternalTest.cpp 24 DeclarationMatcher HasEmptyName = recordDecl(hasName(""));
31 DeclarationMatcher HasEmptyName = recordDecl(matchesName(""));
55 DeclarationMatcher HasClassB = just(has(recordDecl(hasName("B")).bind("b")));
78 polymorphicHas(recordDecl(hasName("B")).bind("b"));
90 polymorphicHas(recordDecl(hasName("B")));
188 recordDecl(hasName("X"), isExpansionInMainFile())));
189 EXPECT_TRUE(notMatches("", recordDecl(isExpansionInMainFile())));
193 recordDecl(isExpansionInMainFile()), false,
201 "#include \"other\"\n", recordDecl(isExpansionInSystemHeader()), true,
204 recordDecl(isExpansionInSystemHeader()),
207 recordDecl(isExpansionInSystemHeader())));
208 EXPECT_TRUE(notMatches("", recordDecl(isExpansionInSystemHeader())));
219 recordDecl(isExpansionInFileMatching("b.*"), hasName("B")), true,
225 recordDecl(isExpansionInFileMatching("f.*"), hasName("X")), false,
tools/clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp 34 recordDecl(hasName("T")))))))));
39 recordDecl(hasName("T"))))),
45 recordDecl(hasName("T"))))),
51 DeclarationMatcher HasClassX = recordDecl(has(recordDecl(hasName("X"))));
51 DeclarationMatcher HasClassX = recordDecl(has(recordDecl(hasName("X"))));
56 recordDecl(hasName("Y"), has(recordDecl(hasName("X"))));
56 recordDecl(hasName("Y"), has(recordDecl(hasName("X"))));
65 recordDecl(
66 has(recordDecl(
67 has(recordDecl(hasName("X"))),
68 has(recordDecl(hasName("Y"))),
70 has(recordDecl(
71 has(recordDecl(hasName("A"))),
72 has(recordDecl(hasName("B"))),
123 recordDecl(
125 has(recordDecl(
127 has(recordDecl(
129 has(recordDecl(
132 has(recordDecl(
135 has(recordDecl(
137 has(recordDecl(
166 recordDecl(
168 has(recordDecl(hasName("Z"))),
170 has(recordDecl(hasName("Y")))));
176 namedDecl(hasName("Foo"), unless(recordDecl()));
192 recordDecl(
193 hasDescendant(recordDecl(hasName("X"))),
207 recordDecl(
208 hasDescendant(recordDecl(has(recordDecl(hasName("Y"))),
208 hasDescendant(recordDecl(has(recordDecl(hasName("Y"))),
230 recordDecl(
231 hasDescendant(recordDecl(hasDescendant(recordDecl(hasName("Y"))),
231 hasDescendant(recordDecl(hasDescendant(recordDecl(hasName("Y"))),
301 recordDecl(anyOf(hasName("X"), hasName("Y"), hasName("Z"), hasName("U")));
306 recordDecl(anyOf(hasName("X"), hasName("Y"), hasName("Z"), hasName("U"),
484 cxxRecordDecl(isDerivedFrom(recordDecl(hasName("Some"))))));
491 cxxRecordDecl(hasName("B"), isDerivedFrom(recordDecl(hasName("A"))))));
499 isDirectlyDerivedFrom(recordDecl(hasName("A"))))));
560 cxxRecordDecl(isDerivedFrom(recordDecl(hasName("X")).bind("test")))));
688 DeclarationMatcher ClassX = has(recordDecl(hasName("::X")).bind("x"));
697 recordDecl(hasName("A"), has(recordDecl(hasName("B")).bind("b"))));
697 recordDecl(hasName("A"), has(recordDecl(hasName("B")).bind("b"))));
731 DeclarationMatcher ClassX = recordDecl(hasName("X")).bind("x");
735 recordDecl(hasName("A"), hasDescendant(ClassX)),
736 recordDecl(hasName("B"), hasDescendant(ClassX)))),
857 sizeOfExpr(hasArgumentOfType(hasDeclaration(recordDecl(hasName("A")))))));
859 hasArgumentOfType(hasDeclaration(recordDecl(hasName("string")))))));
985 hasType(references(recordDecl(hasName("X")))));
1388 recordDecl(hasName("a::b::C"))));
1390 recordDecl(hasName("::a::b::C"))));
1392 recordDecl(hasName("b::C"))));
1394 recordDecl(hasName("C"))));
1396 recordDecl(hasName("c::b::C"))));
1398 recordDecl(hasName("a::c::C"))));
1400 recordDecl(hasName("a::b::A"))));
1402 recordDecl(hasName("::C"))));
1404 recordDecl(hasName("::b::C"))));
1406 recordDecl(hasName("z::a::b::C"))));
1408 recordDecl(hasName("a+b::C"))));
1410 recordDecl(hasName("C"))));
1416 recordDecl(hasName("A::B::C"))));
1419 recordDecl(hasName("::A::B::C"))));
1422 recordDecl(hasName("B::C"))));
1425 recordDecl(hasName("C"))));
1428 recordDecl(hasName("c::B::C"))));
1431 recordDecl(hasName("A::c::C"))));
1434 recordDecl(hasName("A::B::A"))));
1437 recordDecl(hasName("::C"))));
1440 recordDecl(hasName("::B::C"))));
1442 recordDecl(hasName("z::A::B::C"))));
1445 recordDecl(hasName("A+B::C"))));
1450 EXPECT_TRUE(matches(code, recordDecl(hasName("a::b::C"))));
1451 EXPECT_TRUE(matches(code, recordDecl(hasName("a::C"))));
1452 EXPECT_TRUE(matches(code, recordDecl(hasName("::a::b::C"))));
1453 EXPECT_TRUE(matches(code, recordDecl(hasName("::a::C"))));
1459 matches(code, recordDecl(hasName("a::(anonymous namespace)::C"))));
1460 EXPECT_TRUE(matches(code, recordDecl(hasName("a::C"))));
1462 matches(code, recordDecl(hasName("::a::(anonymous namespace)::C"))));
1463 EXPECT_TRUE(matches(code, recordDecl(hasName("::a::C"))));
1468 recordDecl(hasName("A::(anonymous class)::C"))));
1470 recordDecl(hasName("::A::(anonymous class)::C"))));
1472 recordDecl(hasName("::A::C"))));
1474 recordDecl(hasName("A::(anonymous struct)::C"))));
1476 recordDecl(hasName("::A::(anonymous struct)::C"))));
1478 recordDecl(hasName("::A::C"))));
1497 EXPECT_TRUE(matches(Code, recordDecl(hasAnyName("XX", "a::b::C"))));
1498 EXPECT_TRUE(matches(Code, recordDecl(hasAnyName("a::b::C", "XX"))));
1499 EXPECT_TRUE(matches(Code, recordDecl(hasAnyName("XX::C", "a::b::C"))));
1500 EXPECT_TRUE(matches(Code, recordDecl(hasAnyName("XX", "C"))));
1502 EXPECT_TRUE(notMatches(Code, recordDecl(hasAnyName("::C", "::b::C"))));
1504 matches(Code, recordDecl(hasAnyName("::C", "::b::C", "::a::b::C"))));
1507 EXPECT_TRUE(matches(Code, recordDecl(hasAnyName(Names))));
1512 recordDecl(hasName("A"), isDefinition());
1716 memberExpr(hasObjectExpression(hasType(recordDecl(hasName("X")))))));
1722 memberExpr(hasObjectExpression(hasType(recordDecl(hasName("X")))))));
1726 hasType(pointsTo(recordDecl(hasName("X"))))))));
1739 memberExpr(hasObjectExpression(hasType(recordDecl(hasName("X")))))));
1743 hasType(recordDecl(hasName("X")))))));
1754 hasType(pointsTo(recordDecl(hasName("S"))))))));
1758 hasType(pointsTo(recordDecl(hasName("S"))))))));
1818 recordDecl(eachOf(has(fieldDecl(hasName("a")).bind("v")),
1826 recordDecl(eachOf(has(fieldDecl(hasName("a")).bind("v")),
1831 recordDecl(eachOf(has(fieldDecl(hasName("a")).bind("v")),
1836 recordDecl(eachOf(has(fieldDecl(hasName("a")).bind("v")),
1851 fieldDecl(hasType(recordDecl(hasName("A"))))))));
1857 functionDecl(hasParameter(0, hasType(recordDecl(hasName("A")))),
1866 fieldDecl(hasType(recordDecl(hasName("A"))))))));
2300 decl(allOf(recordDecl(hasName("::X::Y")).bind("record"),
2304 decl(allOf(recordDecl(hasName("::X")).bind("record"),
2311 recordDecl(
2317 recordDecl(
2365 varDecl(hasType(recordDecl(hasName("StringRef")))).bind("var")))),
2381 varDecl(hasType(recordDecl(hasName("StringRef")))).bind("var")))),
tools/clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp 83 DeclarationMatcher ClassMatcher(recordDecl());
90 DeclarationMatcher ClassX = recordDecl(recordDecl(hasName("X")));
90 DeclarationMatcher ClassX = recordDecl(recordDecl(hasName("X")));
166 friendDecl(hasType(recordDecl(hasName("X"))))));
245 cxxMemberCallExpr(on(hasType(recordDecl(hasName("Y")))));
264 cxxMemberCallExpr(on(hasType(pointsTo(recordDecl(hasName("Y"))))));
370 cxxMemberCallExpr(thisPointerType(recordDecl(hasName("Y"))));
402 cxxMemberCallExpr(thisPointerType(recordDecl(hasName("Y"))))))));
1082 initListExpr(hasType(recordDecl(hasName("B"))))));
1259 varDecl(hasType(recordDecl(hasName("X"))))));
1447 recordType(hasDeclaration(recordDecl(hasName("S"))))));
1449 recordType(hasDeclaration(recordDecl(hasName("S"))))));
1506 specifiesType(hasDeclaration(recordDecl(hasName("A")))));
1578 "class X { class Y {}; };", recordDecl(hasName("::X::Y")).bind(""),
tools/clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp 35 cxxRecordDecl(hasName("B"), isDerivedFrom(recordDecl()))));
45 recordDecl(hasDeclContext(namespaceDecl(hasName("M"))))));
52 recordDecl(hasDeclContext(namespaceDecl(hasName("N"))))));
59 recordDecl(hasDeclContext(namespaceDecl(
124 expr(hasType(pointsTo(recordDecl(hasName("X")))),
135 expr(hasType(pointsTo(recordDecl(hasName("X")))),
147 TypeMatcher TypeA = hasDeclaration(recordDecl(hasName("A")));
160 recordDecl(hasName("A"), has(recordDecl(hasName("B")))));
160 recordDecl(hasName("A"), has(recordDecl(hasName("B")))));
301 TypeMatcher ClassX = hasDeclaration(recordDecl(hasName("X")));
313 TypeMatcher ClassX = hasDeclaration(recordDecl(hasName("X")));
324 DeclarationMatcher ClassX = recordDecl(hasName("X"));
333 DeclarationMatcher ClassX = recordDecl(hasName("X"));
749 cxxMethodDecl(hasParameter(0, hasType(recordDecl(hasName("X")))))));
752 cxxMethodDecl(hasParameter(0, hasType(recordDecl(hasName("X")))))));
755 0, hasType(pointsTo(recordDecl(hasName("X"))))))));
758 0, hasType(references(recordDecl(hasName("X"))))))));
764 cxxMethodDecl(hasAnyParameter(hasType(recordDecl(hasName("X")))))));
767 cxxMethodDecl(hasAnyParameter(hasType(recordDecl(hasName("X")))))));
781 recordDecl(hasName("Y")))))));
787 cxxMethodDecl(hasAnyParameter(hasType(recordDecl(hasName("X")))))));
793 hasType(pointsTo(recordDecl(hasName("X"))))))));
1027 forField(hasType(recordDecl(hasName("Baz"))))))));
1033 forField(hasType(recordDecl(hasName("Bar"))))))));
1330 recordDecl(hasName("C"), hasDescendant(callExpr(
1896 recordDecl(hasName("C"), forEach(fieldDecl(hasName("x")).bind("x"))),
1902 recordDecl(hasName("C"), forEach(fieldDecl().bind("f"))),
1909 recordDecl(hasName("C"),
1910 forEach(recordDecl(forEach(fieldDecl().bind("f"))))),
1916 recordDecl(hasName("C"),
1922 DeclarationMatcher m = recordDecl(
1926 recordDecl(hasName("A"), anyOf(m, forEachDescendant(m))),
1934 recordDecl(hasName("A"), allOf(hasDescendant(m), anyOf(m, anything()))),
1942 recordDecl(hasName("C"), forEachDescendant(fieldDecl().bind("f"))),
1950 recordDecl(hasName("C"), forEachDescendant(recordDecl(
1950 recordDecl(hasName("C"), forEachDescendant(recordDecl(
1966 "class X { int a; };", recordDecl(decl().bind("x"), has(fieldDecl())),
1992 recordDecl(
1993 recordDecl().bind("x"), hasName("::X"),
1994 anyOf(forEachDescendant(recordDecl(hasName("Y"))), anything())),
1997 "class X {};", recordDecl(recordDecl().bind("x"), hasName("::X"),
1997 "class X {};", recordDecl(recordDecl().bind("x"), hasName("::X"),
2012 recordDecl(decl().bind("x"),
2046 functionDecl(decl().bind("x"), hasAncestor(recordDecl(hasName("::A")))),
2053 ifStmt(stmt().bind("x"), hasAncestor(recordDecl(hasName("::A")))),
2057 recordDecl(hasName("::A"), decl().bind("x"), unless(hasName("fooble"))),
2069 recordDecl(hasName("C"), forEachDescendant(decl().bind("decl"))),
2073 recordDecl(hasName("C"), forEachDescendant(decl().bind("decl"))),
2080 recordDecl(hasName("::A"), findAll(recordDecl(hasName("::A")).bind("v"))),
2080 recordDecl(hasName("::A"), findAll(recordDecl(hasName("::A")).bind("v"))),
2087 recordDecl(hasName("::A"), findAll(fieldDecl().bind("v"))),
2094 recordDecl(hasName("::A"),
2095 findAll(decl(anyOf(recordDecl(hasName("::A")).bind("v"),
2101 recordDecl(hasName("::A"), findAll(recordDecl(isDefinition()).bind("v"))),
2101 recordDecl(hasName("::A"), findAll(recordDecl(isDefinition()).bind("v"))),
2108 recordDecl(hasName("C"), hasAncestor(recordDecl(hasName("A"))))));
2108 recordDecl(hasName("C"), hasAncestor(recordDecl(hasName("A"))))));
2114 recordDecl(hasName("C"), hasAncestor(recordDecl(hasName("X"))))));
2114 recordDecl(hasName("C"), hasAncestor(recordDecl(hasName("X"))))));
2120 varDecl(hasName("c"), hasType(recordDecl(hasName("C"),
2121 hasAncestor(recordDecl(hasName("A"))))))));
2139 fieldDecl(hasAncestor(recordDecl(hasAncestor(recordDecl().bind("r"))))),
2139 fieldDecl(hasAncestor(recordDecl(hasAncestor(recordDecl().bind("r"))))),
2148 hasDescendant(recordDecl(isDefinition(),
2149 hasAncestor(recordDecl())))
2174 hasAncestor(recordDecl(hasName("A"))))));
2182 hasAncestor(recordDecl(hasName("A")))))))));
2282 compoundStmt(hasParent(recordDecl()))));
2485 "class X { class Y {}; };", recordDecl(hasName("::X")).bind("X"),
2487 "X", decl(hasDescendant(recordDecl(hasName("X::Y")).bind("Y"))),
2490 "class X { class Y {}; };", recordDecl(hasName("::X")).bind("X"),
2492 "X", decl(hasDescendant(recordDecl(hasName("X::Z")).bind("Z"))),
2509 "class X { class Y {}; };", recordDecl(hasName("::X")).bind("X"),
2511 "X", recordDecl(has(recordDecl(hasName("X::Y")).bind("Y"))), "Y")));
2511 "X", recordDecl(has(recordDecl(hasName("X::Y")).bind("Y"))), "Y")));
2513 "class X { class Y {}; };", recordDecl(hasName("::X")).bind("X"),
2515 "X", recordDecl(has(recordDecl(hasName("X::Z")).bind("Z"))), "Z")));
2515 "X", recordDecl(has(recordDecl(hasName("X::Z")).bind("Z"))), "Z")));
tools/clang/unittests/ASTMatchers/Dynamic/RegistryTest.cpp 217 specifiesType(hasDeclaration(recordDecl(hasName("A")))))))
372 D = recordDecl(
tools/clang/unittests/ASTMatchers/Dynamic/VariantValueTest.cpp 56 Value = VariantMatcher::SingleMatcher(recordDecl());
83 Value = VariantMatcher::SingleMatcher(recordDecl());
150 recordDecl(hasName("X"))))