Lines Matching refs:CXXRecordDecl

38 class CXXRecordDecl;
261 /// FIXME: This is a little CXXRecordDecl-specific that the moment.
285 class CXXRecordDecl : public RecordDecl {
301 DefinitionData(CXXRecordDecl *D);
496 CXXRecordDecl *Definition;
523 typedef LazyDefinitionDataPtr<CXXRecordDecl, struct DefinitionData>
525 friend class LazyDefinitionDataPtr<CXXRecordDecl, struct DefinitionData>;
533 LambdaDefinitionData(CXXRecordDecl *D, TypeSourceInfo *Info,
615 void addedClassSubobject(CXXRecordDecl *Base);
634 CXXRecordDecl(Kind K, TagKind TK, const ASTContext &C, DeclContext *DC,
636 IdentifierInfo *Id, CXXRecordDecl *PrevDecl);
645 CXXRecordDecl *getCanonicalDecl() override {
646 return cast<CXXRecordDecl>(RecordDecl::getCanonicalDecl());
648 virtual const CXXRecordDecl *getCanonicalDecl() const {
649 return cast<CXXRecordDecl>(RecordDecl::getCanonicalDecl());
652 CXXRecordDecl *getPreviousDecl() {
653 return cast_or_null<CXXRecordDecl>(
656 const CXXRecordDecl *getPreviousDecl() const {
657 return const_cast<CXXRecordDecl*>(this)->getPreviousDecl();
660 CXXRecordDecl *getMostRecentDecl() {
661 return cast<CXXRecordDecl>(
665 const CXXRecordDecl *getMostRecentDecl() const {
666 return const_cast<CXXRecordDecl*>(this)->getMostRecentDecl();
669 CXXRecordDecl *getDefinition() const {
676 static CXXRecordDecl *Create(const ASTContext &C, TagKind TK, DeclContext *DC,
679 CXXRecordDecl *PrevDecl = nullptr,
681 static CXXRecordDecl *CreateLambda(const ASTContext &C, DeclContext *DC,
685 static CXXRecordDecl *CreateDeserialized(const ASTContext &C, unsigned ID);
1327 /// The declaration for X<int>::A is a (non-templated) CXXRecordDecl
1330 /// the CXXRecordDecl X<T>::A. When a complete definition of
1333 CXXRecordDecl *getInstantiatedFromMemberClass() const;
1344 void setInstantiationOfMemberClass(CXXRecordDecl *RD,
1351 /// CXXRecordDecl. The former contains template properties (such as
1355 /// CXXRecordDecl that from a ClassTemplateDecl, while
1357 /// a CXXRecordDecl.
1380 if (const CXXRecordDecl *RD = dyn_cast<CXXRecordDecl>(getDeclContext()))
1388 const_cast<const CXXRecordDecl*>(this)->isLocalClass());
1405 bool isDerivedFrom(const CXXRecordDecl *Base) const;
1423 bool isDerivedFrom(const CXXRecordDecl *Base, CXXBasePaths &Paths) const;
1438 bool isVirtuallyDerivedFrom(const CXXRecordDecl *Base) const;
1442 bool isProvablyNotDerivedFrom(const CXXRecordDecl *Base) const;
1449 typedef bool ForallBasesCallback(const CXXRecordDecl *BaseDefinition,
1516 /// The user data pointer should refer to the canonical CXXRecordDecl of the
1528 /// refer to the canonical CXXRecordDecl of the base class that we
1698 CXXMethodDecl(Kind DK, ASTContext &C, CXXRecordDecl *RD,
1710 static CXXMethodDecl *Create(ASTContext &C, CXXRecordDecl *RD,
1795 const CXXRecordDecl *getParent() const {
1796 return cast<CXXRecordDecl>(FunctionDecl::getParent());
1801 CXXRecordDecl *getParent() {
1802 return const_cast<CXXRecordDecl *>(
1803 cast<CXXRecordDecl>(FunctionDecl::getParent()));
1847 getCorrespondingMethodInClass(const CXXRecordDecl *RD,
1851 getCorrespondingMethodInClass(const CXXRecordDecl *RD,
2138 CXXConstructorDecl(ASTContext &C, CXXRecordDecl *RD, SourceLocation StartLoc,
2152 static CXXConstructorDecl *Create(ASTContext &C, CXXRecordDecl *RD,
2338 CXXDestructorDecl(ASTContext &C, CXXRecordDecl *RD, SourceLocation StartLoc,
2349 static CXXDestructorDecl *Create(ASTContext &C, CXXRecordDecl *RD,
2389 CXXConversionDecl(ASTContext &C, CXXRecordDecl *RD, SourceLocation StartLoc,
2399 static CXXConversionDecl *Create(ASTContext &C, CXXRecordDecl *RD,