Lines Matching refs:Class

562 static bool CanDeclareSpecialMemberFunction(const CXXRecordDecl *Class) {  in CanDeclareSpecialMemberFunction()  argument
564 if (!Class->getDefinition() || Class->isDependentContext()) in CanDeclareSpecialMemberFunction()
568 return !Class->isBeingDefined(); in CanDeclareSpecialMemberFunction()
571 void Sema::ForceDeclarationOfImplicitMembers(CXXRecordDecl *Class) { in ForceDeclarationOfImplicitMembers() argument
572 if (!CanDeclareSpecialMemberFunction(Class)) in ForceDeclarationOfImplicitMembers()
576 if (Class->needsImplicitDefaultConstructor()) in ForceDeclarationOfImplicitMembers()
577 DeclareImplicitDefaultConstructor(Class); in ForceDeclarationOfImplicitMembers()
580 if (Class->needsImplicitCopyConstructor()) in ForceDeclarationOfImplicitMembers()
581 DeclareImplicitCopyConstructor(Class); in ForceDeclarationOfImplicitMembers()
584 if (Class->needsImplicitCopyAssignment()) in ForceDeclarationOfImplicitMembers()
585 DeclareImplicitCopyAssignment(Class); in ForceDeclarationOfImplicitMembers()
589 if (Class->needsImplicitMoveConstructor()) in ForceDeclarationOfImplicitMembers()
590 DeclareImplicitMoveConstructor(Class); // might not actually do it in ForceDeclarationOfImplicitMembers()
593 if (Class->needsImplicitMoveAssignment()) in ForceDeclarationOfImplicitMembers()
594 DeclareImplicitMoveAssignment(Class); // might not actually do it in ForceDeclarationOfImplicitMembers()
598 if (Class->needsImplicitDestructor()) in ForceDeclarationOfImplicitMembers()
599 DeclareImplicitDestructor(Class); in ForceDeclarationOfImplicitMembers()
632 CXXRecordDecl *Class = const_cast<CXXRecordDecl *>(Record); in DeclareImplicitMemberFunctionsWithName() local
634 S.DeclareImplicitDefaultConstructor(Class); in DeclareImplicitMemberFunctionsWithName()
636 S.DeclareImplicitCopyConstructor(Class); in DeclareImplicitMemberFunctionsWithName()
639 S.DeclareImplicitMoveConstructor(Class); in DeclareImplicitMemberFunctionsWithName()
656 CXXRecordDecl *Class = const_cast<CXXRecordDecl *>(Record); in DeclareImplicitMemberFunctionsWithName() local
658 S.DeclareImplicitCopyAssignment(Class); in DeclareImplicitMemberFunctionsWithName()
661 S.DeclareImplicitMoveAssignment(Class); in DeclareImplicitMemberFunctionsWithName()
1005 if (ObjCInterfaceDecl *Class = Method->getClassInterface()) { in CppLookupName() local
1007 if (ObjCIvarDecl *Ivar = Class->lookupInstanceVariable( in CppLookupName()
2015 bool Sema::LookupInSuper(LookupResult &R, CXXRecordDecl *Class) { in LookupInSuper() argument
2016 for (const auto &BaseSpec : Class->bases()) { in LookupInSuper()
2020 Result.setBaseObjectType(Context.getRecordType(Class)); in LookupInSuper()
2202 CXXRecordDecl *Class) { in addAssociatedClassesAndNamespaces() argument
2205 if (Class->getDeclName() == Result.S.VAListTagName) in addAssociatedClassesAndNamespaces()
2217 DeclContext *Ctx = Class->getDeclContext(); in addAssociatedClassesAndNamespaces()
2229 if (!Result.Classes.insert(Class).second) in addAssociatedClassesAndNamespaces()
2242 = dyn_cast<ClassTemplateSpecializationDecl>(Class)) { in addAssociatedClassesAndNamespaces()
2255 if (!Class->hasDefinition()) in addAssociatedClassesAndNamespaces()
2261 Bases.push_back(Class); in addAssociatedClassesAndNamespaces()
2264 Class = Bases.pop_back_val(); in addAssociatedClassesAndNamespaces()
2267 for (const auto &Base : Class->bases()) { in addAssociatedClassesAndNamespaces()
2313 #define TYPE(Class, Base) in addAssociatedClassesAndNamespaces() argument
2314 #define DEPENDENT_TYPE(Class, Base) case Type::Class: in addAssociatedClassesAndNamespaces() argument
2315 #define NON_CANONICAL_TYPE(Class, Base) case Type::Class: in addAssociatedClassesAndNamespaces() argument
2316 #define NON_CANONICAL_UNLESS_DEPENDENT_TYPE(Class, Base) case Type::Class: in addAssociatedClassesAndNamespaces() argument
2317 #define ABSTRACT_TYPE(Class, Base) in addAssociatedClassesAndNamespaces() argument
2350 CXXRecordDecl *Class in addAssociatedClassesAndNamespaces() local
2352 addAssociatedClassesAndNamespaces(Result, Class); in addAssociatedClassesAndNamespaces()
2748 CXXConstructorDecl *Sema::LookupDefaultConstructor(CXXRecordDecl *Class) { in LookupDefaultConstructor() argument
2750 LookupSpecialMember(Class, CXXDefaultConstructor, false, false, false, in LookupDefaultConstructor()
2757 CXXConstructorDecl *Sema::LookupCopyingConstructor(CXXRecordDecl *Class, in LookupCopyingConstructor() argument
2762 LookupSpecialMember(Class, CXXCopyConstructor, Quals & Qualifiers::Const, in LookupCopyingConstructor()
2769 CXXConstructorDecl *Sema::LookupMovingConstructor(CXXRecordDecl *Class, in LookupMovingConstructor() argument
2772 LookupSpecialMember(Class, CXXMoveConstructor, Quals & Qualifiers::Const, in LookupMovingConstructor()
2779 DeclContext::lookup_result Sema::LookupConstructors(CXXRecordDecl *Class) { in LookupConstructors() argument
2781 if (CanDeclareSpecialMemberFunction(Class)) { in LookupConstructors()
2782 if (Class->needsImplicitDefaultConstructor()) in LookupConstructors()
2783 DeclareImplicitDefaultConstructor(Class); in LookupConstructors()
2784 if (Class->needsImplicitCopyConstructor()) in LookupConstructors()
2785 DeclareImplicitCopyConstructor(Class); in LookupConstructors()
2786 if (getLangOpts().CPlusPlus11 && Class->needsImplicitMoveConstructor()) in LookupConstructors()
2787 DeclareImplicitMoveConstructor(Class); in LookupConstructors()
2790 CanQualType T = Context.getCanonicalType(Context.getTypeDeclType(Class)); in LookupConstructors()
2792 return Class->lookup(Name); in LookupConstructors()
2796 CXXMethodDecl *Sema::LookupCopyingAssignment(CXXRecordDecl *Class, in LookupCopyingAssignment() argument
2804 LookupSpecialMember(Class, CXXCopyAssignment, Quals & Qualifiers::Const, in LookupCopyingAssignment()
2813 CXXMethodDecl *Sema::LookupMovingAssignment(CXXRecordDecl *Class, in LookupMovingAssignment() argument
2820 LookupSpecialMember(Class, CXXMoveAssignment, Quals & Qualifiers::Const, in LookupMovingAssignment()
2834 CXXDestructorDecl *Sema::LookupDestructor(CXXRecordDecl *Class) { in LookupDestructor() argument
2835 return cast<CXXDestructorDecl>(LookupSpecialMember(Class, CXXDestructor, in LookupDestructor()
3214 if (CXXRecordDecl *Class = dyn_cast<CXXRecordDecl>(Ctx)) in LookupVisibleDecls() local
3215 Result.getSema().ForceDeclarationOfImplicitMembers(Class); in LookupVisibleDecls()
4012 if (ObjCInterfaceDecl *Class = dyn_cast<ObjCInterfaceDecl>(MemberContext)) { in LookupPotentialTypoResult() local
4014 if (ObjCIvarDecl *Ivar = Class->lookupInstanceVariable(Name)) { in LookupPotentialTypoResult()
4021 if (ObjCPropertyDecl *Prop = Class->FindPropertyDeclaration(Name)) { in LookupPotentialTypoResult()