Lines Matching defs:CXXRecordDecl

74 CXXRecordDecl::DefinitionData::DefinitionData(CXXRecordDecl *D)
110 CXXBaseSpecifier *CXXRecordDecl::DefinitionData::getBasesSlowCase() const {
114 CXXBaseSpecifier *CXXRecordDecl::DefinitionData::getVBasesSlowCase() const {
118 CXXRecordDecl::CXXRecordDecl(Kind K, TagKind TK, const ASTContext &C,
121 CXXRecordDecl *PrevDecl)
126 CXXRecordDecl *CXXRecordDecl::Create(const ASTContext &C, TagKind TK,
129 CXXRecordDecl *PrevDecl,
131 auto *R = new (C, DC) CXXRecordDecl(CXXRecord, TK, C, DC, StartLoc, IdLoc, Id,
141 CXXRecordDecl *
142 CXXRecordDecl::CreateLambda(const ASTContext &C, DeclContext *DC,
146 auto *R = new (C, DC) CXXRecordDecl(CXXRecord, TTK_Class, C, DC, Loc, Loc,
158 CXXRecordDecl *
159 CXXRecordDecl::CreateDeserialized(const ASTContext &C, unsigned ID) {
160 auto *R = new (C, ID) CXXRecordDecl(
170 static bool hasRepeatedBaseClass(const CXXRecordDecl *StartRD) {
171 llvm::SmallPtrSet<const CXXRecordDecl*, 8> SeenBaseTypes;
172 SmallVector<const CXXRecordDecl*, 8> WorkList = {StartRD};
174 const CXXRecordDecl *RD = WorkList.pop_back_val();
176 if (const CXXRecordDecl *B = BaseSpec.getType()->getAsCXXRecordDecl()) {
187 CXXRecordDecl::setBases(CXXBaseSpecifier const * const *Bases,
223 cast<CXXRecordDecl>(BaseType->castAs<RecordType>()->getDecl());
294 if (CXXRecordDecl *VBaseDecl = VBase.getType()->getAsCXXRecordDecl())
479 unsigned CXXRecordDecl::getODRHash() const {
495 void CXXRecordDecl::addedClassSubobject(CXXRecordDecl *Subobj) {
538 bool CXXRecordDecl::hasConstexprDestructor() const {
543 bool CXXRecordDecl::hasAnyDependentBases() const {
547 return !forallBases([](const CXXRecordDecl *) { return true; });
550 bool CXXRecordDecl::isTriviallyCopyable() const {
567 void CXXRecordDecl::markedVirtualFunctionPure() {
573 bool CXXRecordDecl::hasSubobjectAtOffsetZeroOfEmptyBaseType(
574 ASTContext &Ctx, const CXXRecordDecl *XFirst) {
578 llvm::SmallPtrSet<const CXXRecordDecl*, 8> Bases;
579 llvm::SmallPtrSet<const CXXRecordDecl*, 8> M;
580 SmallVector<const CXXRecordDecl*, 8> WorkList;
583 auto Visit = [&](const CXXRecordDecl *RD) -> bool {
596 bool RDIsBase = !forallBases([&](const CXXRecordDecl *Base) -> bool {
620 const CXXRecordDecl *X = WorkList.pop_back_val();
653 bool CXXRecordDecl::lambdaIsDefaultConstructibleAndAssignable() const {
672 void CXXRecordDecl::addedMember(Decl *D) {
1059 if (CXXRecordDecl *FieldType = T->getAsCXXRecordDecl()) {
1106 auto *FieldRec = cast<CXXRecordDecl>(RecordTy->getDecl());
1333 void CXXRecordDecl::finishedDefaultedOrDeletedMember(CXXMethodDecl *D) {
1369 void CXXRecordDecl::setTrivialForCallFlags(CXXMethodDecl *D) {
1386 bool CXXRecordDecl::isCLike() const {
1396 bool CXXRecordDecl::isGenericLambda() const {
1410 static NamedDecl* getLambdaCallOperatorHelper(const CXXRecordDecl &RD) {
1422 FunctionTemplateDecl* CXXRecordDecl::getDependentLambdaCallOperator() const {
1427 CXXMethodDecl *CXXRecordDecl::getLambdaCallOperator() const {
1439 CXXMethodDecl* CXXRecordDecl::getLambdaStaticInvoker() const {
1454 void CXXRecordDecl::getCaptureFields(
1473 CXXRecordDecl::getGenericLambdaTemplateParameterList() const {
1482 CXXRecordDecl::getLambdaExplicitTemplateParameters() const {
1496 Decl *CXXRecordDecl::getLambdaContextDecl() const {
1522 ASTContext &Context, const CXXRecordDecl *Record, bool InVirtual,
1535 CXXRecordDecl::conversion_iterator ConvI = Record->conversion_begin();
1536 CXXRecordDecl::conversion_iterator ConvE = Record->conversion_end();
1541 for (CXXRecordDecl::conversion_iterator I = ConvI; I != ConvE; ++I) {
1555 = CXXRecordDecl::MergeAccess(Access, I.getAccess());
1571 = CXXRecordDecl::MergeAccess(Access, I.getAccessSpecifier());
1574 auto *Base = cast<CXXRecordDecl>(RT->getDecl());
1585 const CXXRecordDecl *Record,
1601 CXXRecordDecl::conversion_iterator ConvI = Record->conversion_begin();
1602 CXXRecordDecl::conversion_iterator ConvE = Record->conversion_end();
1612 CollectVisibleConversions(Context, cast<CXXRecordDecl>(RT->getDecl()),
1627 llvm::iterator_range<CXXRecordDecl::conversion_iterator>
1628 CXXRecordDecl::getVisibleConversionFunctions() const {
1646 void CXXRecordDecl::removeConversion(const NamedDecl *ConvDecl) {
1671 CXXRecordDecl *CXXRecordDecl::getInstantiatedFromMemberClass() const {
1673 return cast<CXXRecordDecl>(MSInfo->getInstantiatedFrom());
1678 MemberSpecializationInfo *CXXRecordDecl::getMemberSpecializationInfo() const {
1683 CXXRecordDecl::setInstantiationOfMemberClass(CXXRecordDecl *RD,
1692 ClassTemplateDecl *CXXRecordDecl::getDescribedClassTemplate() const {
1696 void CXXRecordDecl::setDescribedClassTemplate(ClassTemplateDecl *Template) {
1700 TemplateSpecializationKind CXXRecordDecl::getTemplateSpecializationKind() const{
1711 CXXRecordDecl::setTemplateSpecializationKind(TemplateSpecializationKind TSK) {
1725 const CXXRecordDecl *CXXRecordDecl::getTemplateInstantiationPattern() const {
1727 [](const CXXRecordDecl *D) -> const CXXRecordDecl * {
1758 const CXXRecordDecl *RD = this;
1770 CXXDestructorDecl *CXXRecordDecl::getDestructor() const {
1783 bool CXXRecordDecl::isAnyDestructorNoReturn() const {
1791 if (const CXXRecordDecl *RD = Base.getType()->getAsCXXRecordDecl())
1797 if (const CXXRecordDecl *RD =
1815 bool CXXRecordDecl::isInterfaceLike() const {
1866 void CXXRecordDecl::completeDefinition() {
1870 void CXXRecordDecl::completeDefinition(CXXFinalOverriderMap *FinalOverriders) {
1911 bool CXXRecordDecl::mayBeAbstract() const {
1918 cast<CXXRecordDecl>(B.getType()->castAs<RecordType>()->getDecl());
2005 CXXMethodDecl::getCorrespondingMethodDeclaredInClass(const CXXRecordDecl *RD,
2036 CXXMethodDecl::getCorrespondingMethodInClass(const CXXRecordDecl *RD,
2065 const auto *Base = cast<CXXRecordDecl>(RT->getDecl());
2073 CXXMethodDecl *CXXMethodDecl::Create(ASTContext &C, CXXRecordDecl *RD,
2119 const CXXRecordDecl *BestDynamicDecl = Base->getBestDynamicClassType();
2334 const CXXRecordDecl *Decl) {
2340 const CXXRecordDecl *Decl) {
2347 const CXXRecordDecl *Decl) {
2385 const CXXRecordDecl *P = getParent();
2474 ASTContext &C, CXXRecordDecl *RD, SourceLocation StartLoc,
2514 ASTContext &C, CXXRecordDecl *RD, SourceLocation StartLoc,
2654 ASTContext &C, CXXRecordDecl *RD, SourceLocation StartLoc,
2687 ASTContext &C, CXXRecordDecl *RD, SourceLocation StartLoc,
2922 CXXRecordDecl *ConstructorUsingShadowDecl::getNominatedBaseClass() const {