Lines Matching defs:CXXRecordDecl

253 class CXXRecordDecl : public RecordDecl {
325 CXXRecordDecl *Definition;
333 DefinitionData(CXXRecordDecl *D);
410 LambdaDefinitionData(CXXRecordDecl *D, TypeSourceInfo *Info, bool Dependent,
459 void addedClassSubobject(CXXRecordDecl *Base);
478 const CXXRecordDecl *X);
481 CXXRecordDecl(Kind K, TagKind TK, const ASTContext &C, DeclContext *DC,
483 IdentifierInfo *Id, CXXRecordDecl *PrevDecl);
492 CXXRecordDecl *getCanonicalDecl() override {
493 return cast<CXXRecordDecl>(RecordDecl::getCanonicalDecl());
496 const CXXRecordDecl *getCanonicalDecl() const {
497 return const_cast<CXXRecordDecl*>(this)->getCanonicalDecl();
500 CXXRecordDecl *getPreviousDecl() {
501 return cast_or_null<CXXRecordDecl>(
505 const CXXRecordDecl *getPreviousDecl() const {
506 return const_cast<CXXRecordDecl*>(this)->getPreviousDecl();
509 CXXRecordDecl *getMostRecentDecl() {
510 return cast<CXXRecordDecl>(
514 const CXXRecordDecl *getMostRecentDecl() const {
515 return const_cast<CXXRecordDecl*>(this)->getMostRecentDecl();
518 CXXRecordDecl *getMostRecentNonInjectedDecl() {
519 CXXRecordDecl *Recent =
520 static_cast<CXXRecordDecl *>(this)->getMostRecentDecl();
529 const CXXRecordDecl *getMostRecentNonInjectedDecl() const {
530 return const_cast<CXXRecordDecl*>(this)->getMostRecentNonInjectedDecl();
533 CXXRecordDecl *getDefinition() const {
542 static CXXRecordDecl *Create(const ASTContext &C, TagKind TK, DeclContext *DC,
545 CXXRecordDecl *PrevDecl = nullptr,
547 static CXXRecordDecl *CreateLambda(const ASTContext &C, DeclContext *DC,
551 static CXXRecordDecl *CreateDeserialized(const ASTContext &C, unsigned ID);
1093 /// The CXXRecordDecl is a class type, but not a union type,
1381 /// The declaration for X<int>::A is a (non-templated) CXXRecordDecl
1384 /// the CXXRecordDecl X<T>::A. When a complete definition of
1387 CXXRecordDecl *getInstantiatedFromMemberClass() const;
1396 void setInstantiationOfMemberClass(CXXRecordDecl *RD,
1403 /// CXXRecordDecl. The former contains template properties (such as
1407 /// CXXRecordDecl that from a ClassTemplateDecl, while
1409 /// a CXXRecordDecl.
1424 const CXXRecordDecl *getTemplateInstantiationPattern() const;
1426 CXXRecordDecl *getTemplateInstantiationPattern() {
1427 return const_cast<CXXRecordDecl *>(const_cast<const CXXRecordDecl *>(this)
1441 if (const auto *RD = dyn_cast<CXXRecordDecl>(getDeclContext()))
1449 const_cast<const CXXRecordDecl*>(this)->isLocalClass());
1466 bool isDerivedFrom(const CXXRecordDecl *Base) const;
1484 bool isDerivedFrom(const CXXRecordDecl *Base, CXXBasePaths &Paths) const;
1499 bool isVirtuallyDerivedFrom(const CXXRecordDecl *Base) const;
1503 bool isProvablyNotDerivedFrom(const CXXRecordDecl *Base) const;
1511 llvm::function_ref<bool(const CXXRecordDecl *BaseDefinition)>;
1572 /// The base record pointer should refer to the canonical CXXRecordDecl of the
1575 CXXBasePath &Path, const CXXRecordDecl *BaseRecord);
1584 /// refer to the canonical CXXRecordDecl of the base class that we
1588 const CXXRecordDecl *BaseRecord);
1935 CXXMethodDecl(Kind DK, ASTContext &C, CXXRecordDecl *RD,
1948 static CXXMethodDecl *Create(ASTContext &C, CXXRecordDecl *RD,
2046 const CXXRecordDecl *getParent() const {
2047 return cast<CXXRecordDecl>(FunctionDecl::getParent());
2052 CXXRecordDecl *getParent() {
2053 return const_cast<CXXRecordDecl *>(
2054 cast<CXXRecordDecl>(FunctionDecl::getParent()));
2071 const CXXRecordDecl *Decl);
2074 const CXXRecordDecl *Decl);
2112 getCorrespondingMethodInClass(const CXXRecordDecl *RD,
2116 getCorrespondingMethodInClass(const CXXRecordDecl *RD,
2124 CXXMethodDecl *getCorrespondingMethodDeclaredInClass(const CXXRecordDecl *RD,
2127 getCorrespondingMethodDeclaredInClass(const CXXRecordDecl *RD,
2395 CXXConstructorDecl(ASTContext &C, CXXRecordDecl *RD, SourceLocation StartLoc,
2449 Create(ASTContext &C, CXXRecordDecl *RD, SourceLocation StartLoc,
2658 CXXDestructorDecl(ASTContext &C, CXXRecordDecl *RD, SourceLocation StartLoc,
2672 static CXXDestructorDecl *Create(ASTContext &C, CXXRecordDecl *RD,
2714 CXXConversionDecl(ASTContext &C, CXXRecordDecl *RD, SourceLocation StartLoc,
2734 Create(ASTContext &C, CXXRecordDecl *RD, SourceLocation StartLoc,
3319 const CXXRecordDecl *getParent() const {
3320 return cast<CXXRecordDecl>(getDeclContext());
3322 CXXRecordDecl *getParent() {
3323 return cast<CXXRecordDecl>(getDeclContext());
3342 CXXRecordDecl *getNominatedBaseClass() const;
3346 CXXRecordDecl *getConstructedBaseClass() const {
3347 return cast<CXXRecordDecl>((ConstructedBaseClassShadowDecl