Home
last modified time | relevance | path

Searched refs:CXXRecordDecl (Results 1 – 25 of 520) sorted by relevance

12345678910>>...21

/external/llvm-project/clang/lib/AST/
DCXXInheritance.cpp68 bool CXXRecordDecl::isDerivedFrom(const CXXRecordDecl *Base) const { in isDerivedFrom()
74 bool CXXRecordDecl::isDerivedFrom(const CXXRecordDecl *Base, in isDerivedFrom()
79 Paths.setOrigin(const_cast<CXXRecordDecl*>(this)); in isDerivedFrom()
81 const CXXRecordDecl *BaseDecl = Base->getCanonicalDecl(); in isDerivedFrom()
89 bool CXXRecordDecl::isVirtuallyDerivedFrom(const CXXRecordDecl *Base) const { in isVirtuallyDerivedFrom()
99 Paths.setOrigin(const_cast<CXXRecordDecl*>(this)); in isVirtuallyDerivedFrom()
101 const CXXRecordDecl *BaseDecl = Base->getCanonicalDecl(); in isVirtuallyDerivedFrom()
109 bool CXXRecordDecl::isProvablyNotDerivedFrom(const CXXRecordDecl *Base) const { in isProvablyNotDerivedFrom()
110 const CXXRecordDecl *TargetDecl = Base->getCanonicalDecl(); in isProvablyNotDerivedFrom()
111 return forallBases([TargetDecl](const CXXRecordDecl *Base) { in isProvablyNotDerivedFrom()
[all …]
DVTableBuilder.cpp36 const CXXRecordDecl *DerivedClass;
41 const CXXRecordDecl *VirtualBase;
51 BaseOffset(const CXXRecordDecl *DerivedClass, in BaseOffset()
52 const CXXRecordDecl *VirtualBase, CharUnits NonVirtualOffset) in BaseOffset()
70 const CXXRecordDecl *VirtualBase;
82 const CXXRecordDecl *MostDerivedClass;
92 const CXXRecordDecl *LayoutClass;
113 typedef llvm::DenseMap<std::pair<const CXXRecordDecl *, unsigned>,
116 typedef llvm::DenseMap<const CXXRecordDecl *, unsigned> SubobjectCountMapTy;
126 typedef llvm::SmallPtrSet<const CXXRecordDecl *, 4> VisitedVirtualBasesSetTy;
[all …]
DRecordLayoutBuilder.cpp41 const CXXRecordDecl *Class;
73 llvm::DenseMap<const CXXRecordDecl *, CharUnits> BaseOffsets;
76 llvm::DenseMap<const CXXRecordDecl *, CharUnits> VirtualBaseOffsets;
86 bool getExternalNVBaseOffset(const CXXRecordDecl *RD, CharUnits &BaseOffset) { in getExternalNVBaseOffset()
94 bool getExternalVBaseOffset(const CXXRecordDecl *RD, CharUnits &BaseOffset) { in getExternalVBaseOffset()
110 const CXXRecordDecl *Class;
113 typedef llvm::TinyPtrVector<const CXXRecordDecl *> ClassVectorTy;
125 void AddSubobjectAtOffset(const CXXRecordDecl *RD, CharUnits Offset);
130 void UpdateEmptyFieldSubobjects(const CXXRecordDecl *RD,
131 const CXXRecordDecl *Class, CharUnits Offset,
[all …]
DDeclCXX.cpp75 CXXRecordDecl::DefinitionData::DefinitionData(CXXRecordDecl *D) in DefinitionData()
113 CXXBaseSpecifier *CXXRecordDecl::DefinitionData::getBasesSlowCase() const { in getBasesSlowCase()
117 CXXBaseSpecifier *CXXRecordDecl::DefinitionData::getVBasesSlowCase() const { in getVBasesSlowCase()
121 CXXRecordDecl::CXXRecordDecl(Kind K, TagKind TK, const ASTContext &C, in CXXRecordDecl() function in CXXRecordDecl
124 CXXRecordDecl *PrevDecl) in CXXRecordDecl()
129 CXXRecordDecl *CXXRecordDecl::Create(const ASTContext &C, TagKind TK, in Create()
132 CXXRecordDecl *PrevDecl, in Create()
134 auto *R = new (C, DC) CXXRecordDecl(CXXRecord, TK, C, DC, StartLoc, IdLoc, Id, in Create()
144 CXXRecordDecl *
145 CXXRecordDecl::CreateLambda(const ASTContext &C, DeclContext *DC, in CreateLambda()
[all …]
/external/clang/lib/AST/
DCXXInheritance.cpp76 bool CXXRecordDecl::isDerivedFrom(const CXXRecordDecl *Base) const { in isDerivedFrom()
82 bool CXXRecordDecl::isDerivedFrom(const CXXRecordDecl *Base, in isDerivedFrom()
87 Paths.setOrigin(const_cast<CXXRecordDecl*>(this)); in isDerivedFrom()
89 const CXXRecordDecl *BaseDecl = Base->getCanonicalDecl(); in isDerivedFrom()
98 bool CXXRecordDecl::isVirtuallyDerivedFrom(const CXXRecordDecl *Base) const { in isVirtuallyDerivedFrom()
108 Paths.setOrigin(const_cast<CXXRecordDecl*>(this)); in isVirtuallyDerivedFrom()
110 const CXXRecordDecl *BaseDecl = Base->getCanonicalDecl(); in isVirtuallyDerivedFrom()
119 bool CXXRecordDecl::isProvablyNotDerivedFrom(const CXXRecordDecl *Base) const { in isProvablyNotDerivedFrom()
120 const CXXRecordDecl *TargetDecl = Base->getCanonicalDecl(); in isProvablyNotDerivedFrom()
121 return forallBases([TargetDecl](const CXXRecordDecl *Base) { in isProvablyNotDerivedFrom()
[all …]
DVTTBuilder.cpp29 const CXXRecordDecl *MostDerivedClass, in VTTBuilder()
40 const CXXRecordDecl *VTableClass) { in AddVTablePointer()
57 const CXXRecordDecl *RD = Base.getBase(); in LayoutSecondaryVTTs()
64 const CXXRecordDecl *BaseDecl = in LayoutSecondaryVTTs()
65 cast<CXXRecordDecl>(I.getType()->getAs<RecordType>()->getDecl()); in LayoutSecondaryVTTs()
80 const CXXRecordDecl *VTableClass, in LayoutSecondaryVirtualPointers()
82 const CXXRecordDecl *RD = Base.getBase(); in LayoutSecondaryVirtualPointers()
90 const CXXRecordDecl *BaseDecl = in LayoutSecondaryVirtualPointers()
91 cast<CXXRecordDecl>(I.getType()->getAs<RecordType>()->getDecl()); in LayoutSecondaryVirtualPointers()
151 void VTTBuilder::LayoutVirtualVTTs(const CXXRecordDecl *RD, in LayoutVirtualVTTs()
[all …]
DRecordLayoutBuilder.cpp41 const CXXRecordDecl *Class;
73 llvm::DenseMap<const CXXRecordDecl *, CharUnits> BaseOffsets;
76 llvm::DenseMap<const CXXRecordDecl *, CharUnits> VirtualBaseOffsets;
86 bool getExternalNVBaseOffset(const CXXRecordDecl *RD, CharUnits &BaseOffset) { in getExternalNVBaseOffset()
94 bool getExternalVBaseOffset(const CXXRecordDecl *RD, CharUnits &BaseOffset) { in getExternalVBaseOffset()
110 const CXXRecordDecl *Class;
113 typedef llvm::TinyPtrVector<const CXXRecordDecl *> ClassVectorTy;
125 void AddSubobjectAtOffset(const CXXRecordDecl *RD, CharUnits Offset);
130 void UpdateEmptyFieldSubobjects(const CXXRecordDecl *RD,
131 const CXXRecordDecl *Class,
[all …]
DDeclCXX.cpp48 CXXRecordDecl::DefinitionData::DefinitionData(CXXRecordDecl *D) in DefinitionData()
77 CXXBaseSpecifier *CXXRecordDecl::DefinitionData::getBasesSlowCase() const { in getBasesSlowCase()
81 CXXBaseSpecifier *CXXRecordDecl::DefinitionData::getVBasesSlowCase() const { in getVBasesSlowCase()
85 CXXRecordDecl::CXXRecordDecl(Kind K, TagKind TK, const ASTContext &C, in CXXRecordDecl() function in CXXRecordDecl
88 CXXRecordDecl *PrevDecl) in CXXRecordDecl()
94 CXXRecordDecl *CXXRecordDecl::Create(const ASTContext &C, TagKind TK, in Create()
97 CXXRecordDecl* PrevDecl, in Create()
99 CXXRecordDecl *R = new (C, DC) CXXRecordDecl(CXXRecord, TK, C, DC, StartLoc, in Create()
109 CXXRecordDecl *
110 CXXRecordDecl::CreateLambda(const ASTContext &C, DeclContext *DC, in CreateLambda()
[all …]
DVTableBuilder.cpp37 const CXXRecordDecl *DerivedClass;
42 const CXXRecordDecl *VirtualBase;
52 BaseOffset(const CXXRecordDecl *DerivedClass, in BaseOffset()
53 const CXXRecordDecl *VirtualBase, CharUnits NonVirtualOffset) in BaseOffset()
71 const CXXRecordDecl *VirtualBase;
83 const CXXRecordDecl *MostDerivedClass;
93 const CXXRecordDecl *LayoutClass;
114 typedef llvm::DenseMap<std::pair<const CXXRecordDecl *, unsigned>,
117 typedef llvm::DenseMap<const CXXRecordDecl *, unsigned> SubobjectCountMapTy;
127 typedef llvm::SmallPtrSet<const CXXRecordDecl *, 4> VisitedVirtualBasesSetTy;
[all …]
/external/clang/include/clang/AST/
DVTableBuilder.h28 class CXXRecordDecl; variable
68 static VTableComponent MakeRTTI(const CXXRecordDecl *RD) { in MakeRTTI()
124 const CXXRecordDecl *getRTTIDecl() const { in getRTTIDecl()
126 return reinterpret_cast<CXXRecordDecl *>(getPointer()); in getRTTIDecl()
311 virtual void computeVTableRelatedInformation(const CXXRecordDecl *RD) = 0;
342 typedef llvm::DenseMap<const CXXRecordDecl *, const VTableLayout *>
346 typedef std::pair<const CXXRecordDecl *,
347 const CXXRecordDecl *> ClassPairTy;
357 void computeVTableRelatedInformation(const CXXRecordDecl *RD) override;
363 const VTableLayout &getVTableLayout(const CXXRecordDecl *RD) { in getVTableLayout()
[all …]
DVTTBuilder.h29 llvm::PointerIntPair<const CXXRecordDecl *, 1, bool> BaseAndIsVirtual;
34 VTTVTable(const CXXRecordDecl *Base, CharUnits BaseOffset, bool BaseIsVirtual) in VTTVTable()
40 const CXXRecordDecl *getBase() const { in getBase()
72 const CXXRecordDecl *MostDerivedClass;
87 typedef llvm::SmallPtrSet<const CXXRecordDecl *, 4> VisitedVirtualBasesSetTy;
103 const CXXRecordDecl *VTableClass);
116 const CXXRecordDecl *VTableClass,
126 void LayoutVirtualVTTs(const CXXRecordDecl *RD,
134 VTTBuilder(ASTContext &Ctx, const CXXRecordDecl *MostDerivedClass,
DRecordLayout.h25 class CXXRecordDecl; variable
56 typedef llvm::DenseMap<const CXXRecordDecl *, VBaseInfo>
114 llvm::PointerIntPair<const CXXRecordDecl *, 1, bool> PrimaryBase;
117 const CXXRecordDecl *BaseSharingVBPtr;
120 typedef llvm::DenseMap<const CXXRecordDecl *, CharUnits> BaseOffsetsMapTy;
150 const CXXRecordDecl *PrimaryBase,
152 const CXXRecordDecl *BaseSharingVBPtr,
204 const CXXRecordDecl *getPrimaryBase() const { in getPrimaryBase()
219 CharUnits getBaseClassOffset(const CXXRecordDecl *Base) const { in getBaseClassOffset()
227 CharUnits getVBaseClassOffset(const CXXRecordDecl *VBase) const { in getVBaseClassOffset()
[all …]
DCXXInheritance.h33 class CXXRecordDecl; variable
50 const CXXRecordDecl *Class;
119 CXXRecordDecl *Origin;
161 friend class CXXRecordDecl; variable
165 bool lookupInBases(ASTContext &Context, const CXXRecordDecl *Record,
166 CXXRecordDecl::BaseMatchesCallback BaseMatches);
217 CXXRecordDecl *getOrigin() const { return Origin; } in getOrigin()
218 void setOrigin(CXXRecordDecl *Rec) { Origin = Rec; } in setOrigin()
235 const CXXRecordDecl *InVirtualSubobject) in UniqueVirtualMethod()
249 const CXXRecordDecl *InVirtualSubobject;
[all …]
DMangle.h157 virtual void mangleCXXVTable(const CXXRecordDecl *RD, raw_ostream &) = 0;
158 virtual void mangleCXXVTT(const CXXRecordDecl *RD, raw_ostream &) = 0;
159 virtual void mangleCXXCtorVTable(const CXXRecordDecl *RD, int64_t Offset,
160 const CXXRecordDecl *Type,
188 virtual void mangleCXXVFTable(const CXXRecordDecl *Derived,
189 ArrayRef<const CXXRecordDecl *> BasePath,
195 virtual void mangleCXXVBTable(const CXXRecordDecl *Derived,
196 ArrayRef<const CXXRecordDecl *> BasePath,
206 virtual void mangleCXXVirtualDisplacementMap(const CXXRecordDecl *SrcRD,
207 const CXXRecordDecl *DstRD,
[all …]
/external/llvm-project/clang/include/clang/AST/
DVTableBuilder.h26 class CXXRecordDecl; variable
66 static VTableComponent MakeRTTI(const CXXRecordDecl *RD) { in MakeRTTI()
118 const CXXRecordDecl *getRTTIDecl() const { in getRTTIDecl()
120 return reinterpret_cast<CXXRecordDecl *>(getPointer()); in getRTTIDecl()
336 virtual void computeVTableRelatedInformation(const CXXRecordDecl *RD) = 0;
370 typedef llvm::DenseMap<const CXXRecordDecl *,
375 typedef std::pair<const CXXRecordDecl *,
376 const CXXRecordDecl *> ClassPairTy;
386 void computeVTableRelatedInformation(const CXXRecordDecl *RD) override;
402 const VTableLayout &getVTableLayout(const CXXRecordDecl *RD) { in getVTableLayout()
[all …]
DVTTBuilder.h30 class CXXRecordDecl; variable
33 llvm::PointerIntPair<const CXXRecordDecl *, 1, bool> BaseAndIsVirtual;
38 VTTVTable(const CXXRecordDecl *Base, CharUnits BaseOffset, bool BaseIsVirtual) in VTTVTable()
44 const CXXRecordDecl *getBase() const { in getBase()
75 const CXXRecordDecl *MostDerivedClass;
90 using VisitedVirtualBasesSetTy = llvm::SmallPtrSet<const CXXRecordDecl *, 4>;
106 const CXXRecordDecl *VTableClass);
119 const CXXRecordDecl *VTableClass,
129 void LayoutVirtualVTTs(const CXXRecordDecl *RD,
137 VTTBuilder(ASTContext &Ctx, const CXXRecordDecl *MostDerivedClass,
DMangle.h159 virtual void mangleCXXVTable(const CXXRecordDecl *RD, raw_ostream &) = 0;
160 virtual void mangleCXXVTT(const CXXRecordDecl *RD, raw_ostream &) = 0;
161 virtual void mangleCXXCtorVTable(const CXXRecordDecl *RD, int64_t Offset,
162 const CXXRecordDecl *Type,
174 virtual void mangleLambdaSig(const CXXRecordDecl *Lambda, raw_ostream &) = 0;
194 virtual void mangleCXXVFTable(const CXXRecordDecl *Derived,
195 ArrayRef<const CXXRecordDecl *> BasePath,
201 virtual void mangleCXXVBTable(const CXXRecordDecl *Derived,
202 ArrayRef<const CXXRecordDecl *> BasePath,
213 virtual void mangleCXXVirtualDisplacementMap(const CXXRecordDecl *SrcRD,
[all …]
DCXXInheritance.h51 const CXXRecordDecl *Class;
119 friend class CXXRecordDecl; variable
122 const CXXRecordDecl *Origin = nullptr;
143 llvm::SmallPtrSet<const CXXRecordDecl *, 4> VisitedDependentRecords;
167 bool lookupInBases(ASTContext &Context, const CXXRecordDecl *Record,
168 CXXRecordDecl::BaseMatchesCallback BaseMatches,
218 const CXXRecordDecl *getOrigin() const { return Origin; } in getOrigin()
219 void setOrigin(const CXXRecordDecl *Rec) { Origin = Rec; } in setOrigin()
242 const CXXRecordDecl *InVirtualSubobject = nullptr;
247 const CXXRecordDecl *InVirtualSubobject) in UniqueVirtualMethod()
[all …]
DRecordLayout.h29 class CXXRecordDecl; variable
59 using VBaseOffsetsMapTy = llvm::DenseMap<const CXXRecordDecl *, VBaseInfo>;
132 llvm::PointerIntPair<const CXXRecordDecl *, 1, bool> PrimaryBase;
135 const CXXRecordDecl *BaseSharingVBPtr;
138 using BaseOffsetsMapTy = llvm::DenseMap<const CXXRecordDecl *, CharUnits>;
167 const CXXRecordDecl *PrimaryBase, bool IsPrimaryBaseVirtual,
168 const CXXRecordDecl *BaseSharingVBPtr,
234 const CXXRecordDecl *getPrimaryBase() const { in getPrimaryBase()
249 CharUnits getBaseClassOffset(const CXXRecordDecl *Base) const { in getBaseClassOffset()
259 CharUnits getVBaseClassOffset(const CXXRecordDecl *VBase) const { in getVBaseClassOffset()
[all …]
/external/clang/lib/CodeGen/
DCGVTables.h26 class CXXRecordDecl; variable
39 typedef std::pair<const CXXRecordDecl *, BaseSubobject> BaseSubobjectPairTy;
65 const CXXRecordDecl *RD, const VTableComponent *Components,
81 uint64_t getSubVTTIndex(const CXXRecordDecl *RD, BaseSubobject Base);
85 uint64_t getSecondaryVirtualPointerIndex(const CXXRecordDecl *RD,
91 GenerateConstructionVTable(const CXXRecordDecl *RD, const BaseSubobject &Base,
98 llvm::GlobalVariable *GetAddrOfVTT(const CXXRecordDecl *RD);
103 const CXXRecordDecl *RD);
112 void GenerateClassData(const CXXRecordDecl *RD);
114 bool isVTableExternal(const CXXRecordDecl *RD);
/external/llvm-project/clang/lib/Sema/
DSemaAccess.cpp65 static CXXRecordDecl *FindDeclaringClass(NamedDecl *D) { in FindDeclaringClass()
73 CXXRecordDecl *DeclaringClass = cast<CXXRecordDecl>(DC); in FindDeclaringClass()
75 DeclaringClass = cast<CXXRecordDecl>(DeclaringClass->getDeclContext()); in FindDeclaringClass()
106 if (isa<CXXRecordDecl>(DC)) { in EffectiveContext()
107 CXXRecordDecl *Record = cast<CXXRecordDecl>(DC); in EffectiveContext()
127 bool includesClass(const CXXRecordDecl *R) const { in includesClass()
138 typedef SmallVectorImpl<CXXRecordDecl*>::const_iterator record_iterator;
142 SmallVector<CXXRecordDecl*, 4> Records;
156 CXXRecordDecl *NamingClass, in AccessTarget()
166 CXXRecordDecl *BaseClass, in AccessTarget()
[all …]
/external/clang/lib/Sema/
DSemaAccess.cpp65 static CXXRecordDecl *FindDeclaringClass(NamedDecl *D) { in FindDeclaringClass()
73 CXXRecordDecl *DeclaringClass = cast<CXXRecordDecl>(DC); in FindDeclaringClass()
75 DeclaringClass = cast<CXXRecordDecl>(DeclaringClass->getDeclContext()); in FindDeclaringClass()
106 if (isa<CXXRecordDecl>(DC)) { in EffectiveContext()
107 CXXRecordDecl *Record = cast<CXXRecordDecl>(DC); in EffectiveContext()
127 bool includesClass(const CXXRecordDecl *R) const { in includesClass()
139 typedef SmallVectorImpl<CXXRecordDecl*>::const_iterator record_iterator;
143 SmallVector<CXXRecordDecl*, 4> Records;
157 CXXRecordDecl *NamingClass, in AccessTarget()
167 CXXRecordDecl *BaseClass, in AccessTarget()
[all …]
/external/llvm-project/clang-tools-extra/clangd/unittests/
DTypeHierarchyTests.cpp73 const CXXRecordDecl *RD = findRecordTypeAt(AST, Pt); in TEST()
95 const CXXRecordDecl *RD = findRecordTypeAt(AST, Pt); in TEST()
116 const CXXRecordDecl *RD = findRecordTypeAt(AST, Pt); in TEST()
142 const CXXRecordDecl *Parent = in TEST()
143 dyn_cast<CXXRecordDecl>(&findDecl(AST, "Parent")); in TEST()
144 const CXXRecordDecl *Child1 = in TEST()
145 dyn_cast<CXXRecordDecl>(&findDecl(AST, "Child1")); in TEST()
146 const CXXRecordDecl *Child2 = in TEST()
147 dyn_cast<CXXRecordDecl>(&findDecl(AST, "Child2")); in TEST()
176 const CXXRecordDecl *Parent1 = in TEST()
[all …]
/external/llvm-project/clang/lib/CodeGen/
DCGVTables.h25 class CXXRecordDecl; variable
40 typedef std::pair<const CXXRecordDecl *, BaseSubobject> BaseSubobjectPairTy;
111 uint64_t getSubVTTIndex(const CXXRecordDecl *RD, BaseSubobject Base);
115 uint64_t getSecondaryVirtualPointerIndex(const CXXRecordDecl *RD,
121 GenerateConstructionVTable(const CXXRecordDecl *RD, const BaseSubobject &Base,
128 llvm::GlobalVariable *GetAddrOfVTT(const CXXRecordDecl *RD);
133 const CXXRecordDecl *RD);
142 void GenerateClassData(const CXXRecordDecl *RD);
144 bool isVTableExternal(const CXXRecordDecl *RD);
/external/llvm-project/clang-tools-extra/clang-tidy/fuchsia/
DMultipleInheritanceCheck.cpp21 AST_MATCHER(CXXRecordDecl, hasBases) { in AST_MATCHER() argument
30 void MultipleInheritanceCheck::addNodeToInterfaceMap(const CXXRecordDecl *Node, in addNodeToInterfaceMap()
40 bool MultipleInheritanceCheck::getInterfaceStatus(const CXXRecordDecl *Node, in getInterfaceStatus()
52 const CXXRecordDecl *Node) const { in isCurrentClassInterface()
62 bool MultipleInheritanceCheck::isInterface(const CXXRecordDecl *Node) { in isInterface()
78 const auto *Base = cast<CXXRecordDecl>(D); in isInterface()
97 if (const auto *D = Result.Nodes.getNodeAs<CXXRecordDecl>("decl")) { in check()
105 const auto *Base = cast<CXXRecordDecl>(Ty->getDecl()->getDefinition()); in check()
114 const auto *Base = cast<CXXRecordDecl>(Ty->getDecl()->getDefinition()); in check()

12345678910>>...21