Lines Matching defs:Class

998 static bool CanDeclareSpecialMemberFunction(const CXXRecordDecl *Class) {
1000 if (!Class->getDefinition() || Class->isDependentContext())
1004 return !Class->isBeingDefined();
1007 void Sema::ForceDeclarationOfImplicitMembers(CXXRecordDecl *Class) {
1008 if (!CanDeclareSpecialMemberFunction(Class))
1012 if (Class->needsImplicitDefaultConstructor())
1013 DeclareImplicitDefaultConstructor(Class);
1016 if (Class->needsImplicitCopyConstructor())
1017 DeclareImplicitCopyConstructor(Class);
1020 if (Class->needsImplicitCopyAssignment())
1021 DeclareImplicitCopyAssignment(Class);
1025 if (Class->needsImplicitMoveConstructor())
1026 DeclareImplicitMoveConstructor(Class);
1029 if (Class->needsImplicitMoveAssignment())
1030 DeclareImplicitMoveAssignment(Class);
1034 if (Class->needsImplicitDestructor())
1035 DeclareImplicitDestructor(Class);
1069 CXXRecordDecl *Class = const_cast<CXXRecordDecl *>(Record);
1071 S.DeclareImplicitDefaultConstructor(Class);
1073 S.DeclareImplicitCopyConstructor(Class);
1076 S.DeclareImplicitMoveConstructor(Class);
1093 CXXRecordDecl *Class = const_cast<CXXRecordDecl *>(Record);
1095 S.DeclareImplicitCopyAssignment(Class);
1098 S.DeclareImplicitMoveAssignment(Class);
1393 if (ObjCInterfaceDecl *Class = Method->getClassInterface()) {
1395 if (ObjCIvarDecl *Ivar = Class->lookupInstanceVariable(
2150 // Class and enumeration member names can be found by name lookup in any
2730 bool Sema::LookupInSuper(LookupResult &R, CXXRecordDecl *Class) {
2732 // doing a lookup in Class that just magically skipped the direct
2733 // members of Class itself. That is, the naming class is Class, and the
2735 for (const auto &BaseSpec : Class->bases()) {
2739 Result.setBaseObjectType(Context.getRecordType(Class));
2754 R.setNamingClass(Class);
2964 CXXRecordDecl *Class) {
2967 if (Class->getDeclName() == Result.S.VAListTagName)
2979 DeclContext *Ctx = Class->getDeclContext();
2996 = dyn_cast<ClassTemplateSpecializationDecl>(Class)) {
3010 if (!Result.addClassTransitive(Class))
3015 Result.S.Context.getRecordType(Class)))
3021 Bases.push_back(Class);
3024 Class = Bases.pop_back_val();
3027 for (const auto &Base : Class->bases()) {
3073 #define TYPE(Class, Base)
3074 #define DEPENDENT_TYPE(Class, Base) case Type::Class:
3075 #define NON_CANONICAL_TYPE(Class, Base) case Type::Class:
3076 #define NON_CANONICAL_UNLESS_DEPENDENT_TYPE(Class, Base) case Type::Class:
3077 #define ABSTRACT_TYPE(Class, Base)
3108 CXXRecordDecl *Class =
3110 addAssociatedClassesAndNamespaces(Result, Class);
3513 CXXConstructorDecl *Sema::LookupDefaultConstructor(CXXRecordDecl *Class) {
3515 LookupSpecialMember(Class, CXXSpecialMemberKind::DefaultConstructor,
3521 CXXConstructorDecl *Sema::LookupCopyingConstructor(CXXRecordDecl *Class,
3526 Class, CXXSpecialMemberKind::CopyConstructor, Quals & Qualifiers::Const,
3532 CXXConstructorDecl *Sema::LookupMovingConstructor(CXXRecordDecl *Class,
3535 Class, CXXSpecialMemberKind::MoveConstructor, Quals & Qualifiers::Const,
3541 DeclContext::lookup_result Sema::LookupConstructors(CXXRecordDecl *Class) {
3543 if (CanDeclareSpecialMemberFunction(Class)) {
3544 runWithSufficientStackSpace(Class->getLocation(), [&] {
3545 if (Class->needsImplicitDefaultConstructor())
3546 DeclareImplicitDefaultConstructor(Class);
3547 if (Class->needsImplicitCopyConstructor())
3548 DeclareImplicitCopyConstructor(Class);
3549 if (getLangOpts().CPlusPlus11 && Class->needsImplicitMoveConstructor())
3550 DeclareImplicitMoveConstructor(Class);
3554 CanQualType T = Context.getCanonicalType(Context.getTypeDeclType(Class));
3556 return Class->lookup(Name);
3559 CXXMethodDecl *Sema::LookupCopyingAssignment(CXXRecordDecl *Class,
3567 Class, CXXSpecialMemberKind::CopyAssignment, Quals & Qualifiers::Const,
3574 CXXMethodDecl *Sema::LookupMovingAssignment(CXXRecordDecl *Class,
3581 Class, CXXSpecialMemberKind::MoveAssignment, Quals & Qualifiers::Const,
3588 CXXDestructorDecl *Sema::LookupDestructor(CXXRecordDecl *Class) {
3590 LookupSpecialMember(Class, CXXSpecialMemberKind::Destructor, false, false,
4101 if (CXXRecordDecl *Class = dyn_cast<CXXRecordDecl>(Ctx))
4102 Result.getSema().ForceDeclarationOfImplicitMembers(Class);
4924 if (ObjCInterfaceDecl *Class = dyn_cast<ObjCInterfaceDecl>(MemberContext)) {
4926 if (ObjCIvarDecl *Ivar = Class->lookupInstanceVariable(Name)) {
4933 if (ObjCPropertyDecl *Prop = Class->FindPropertyDeclaration(