reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
46 class ObjCDeclSpec;
1620 ParsedType ParseObjCTypeName(ObjCDeclSpec &DS, DeclaratorContext Ctx, 1629 void ParseObjCPropertyAttribute(ObjCDeclSpec &DS); 2172 void ParseObjCTypeQualifierList(ObjCDeclSpec &DS,tools/clang/include/clang/Sema/DeclSpec.h
407 ObjCDeclSpec *ObjCQualifiers; 788 ObjCDeclSpec *getObjCQualifiers() const { return ObjCQualifiers; } 789 void setObjCQualifiers(ObjCDeclSpec *quals) { ObjCQualifiers = quals; }tools/clang/include/clang/Sema/Sema.h
8702 FieldDeclarator &FD, ObjCDeclSpec &ODS, 8731 ObjCDeclSpec DeclSpec; 8741 tok::TokenKind MethodType, ObjCDeclSpec &ReturnQT, ParsedType ReturnType, 11161 void CodeCompleteObjCPropertyFlags(Scope *S, ObjCDeclSpec &ODS); 11164 void CodeCompleteObjCPassingType(Scope *S, ObjCDeclSpec &DS,tools/clang/lib/Parse/ParseObjc.cpp
720 ObjCDeclSpec OCDS; 743 if (OCDS.getPropertyAttributes() & ObjCDeclSpec::DQ_PR_nullability) 800 ObjCDeclSpec &DS, 841 void Parser::ParseObjCPropertyAttribute(ObjCDeclSpec &DS) { 862 DS.setPropertyAttributes(ObjCDeclSpec::DQ_PR_readonly); 864 DS.setPropertyAttributes(ObjCDeclSpec::DQ_PR_assign); 866 DS.setPropertyAttributes(ObjCDeclSpec::DQ_PR_unsafe_unretained); 868 DS.setPropertyAttributes(ObjCDeclSpec::DQ_PR_readwrite); 870 DS.setPropertyAttributes(ObjCDeclSpec::DQ_PR_retain); 872 DS.setPropertyAttributes(ObjCDeclSpec::DQ_PR_strong); 874 DS.setPropertyAttributes(ObjCDeclSpec::DQ_PR_copy); 876 DS.setPropertyAttributes(ObjCDeclSpec::DQ_PR_nonatomic); 878 DS.setPropertyAttributes(ObjCDeclSpec::DQ_PR_atomic); 880 DS.setPropertyAttributes(ObjCDeclSpec::DQ_PR_weak); 912 DS.setPropertyAttributes(ObjCDeclSpec::DQ_PR_setter); 921 DS.setPropertyAttributes(ObjCDeclSpec::DQ_PR_getter); 925 if (DS.getPropertyAttributes() & ObjCDeclSpec::DQ_PR_nullability) 929 DS.setPropertyAttributes(ObjCDeclSpec::DQ_PR_nullability); 932 if (DS.getPropertyAttributes() & ObjCDeclSpec::DQ_PR_nullability) 936 DS.setPropertyAttributes(ObjCDeclSpec::DQ_PR_nullability); 939 if (DS.getPropertyAttributes() & ObjCDeclSpec::DQ_PR_nullability) 943 DS.setPropertyAttributes(ObjCDeclSpec::DQ_PR_nullability); 946 if (DS.getPropertyAttributes() & ObjCDeclSpec::DQ_PR_nullability) 950 DS.setPropertyAttributes(ObjCDeclSpec::DQ_PR_nullability); 954 DS.setPropertyAttributes(ObjCDeclSpec::DQ_PR_null_resettable); 956 DS.setPropertyAttributes(ObjCDeclSpec::DQ_PR_class); 1138 void Parser::ParseObjCTypeQualifierList(ObjCDeclSpec &DS, 1160 ObjCDeclSpec::ObjCDeclQualifier Qual; 1164 case objc_in: Qual = ObjCDeclSpec::DQ_In; break; 1165 case objc_out: Qual = ObjCDeclSpec::DQ_Out; break; 1166 case objc_inout: Qual = ObjCDeclSpec::DQ_Inout; break; 1167 case objc_oneway: Qual = ObjCDeclSpec::DQ_Oneway; break; 1168 case objc_bycopy: Qual = ObjCDeclSpec::DQ_Bycopy; break; 1169 case objc_byref: Qual = ObjCDeclSpec::DQ_Byref; break; 1172 Qual = ObjCDeclSpec::DQ_CSNullability; 1177 Qual = ObjCDeclSpec::DQ_CSNullability; 1182 Qual = ObjCDeclSpec::DQ_CSNullability; 1189 if (Qual == ObjCDeclSpec::DQ_CSNullability) 1233 ParsedType Parser::ParseObjCTypeName(ObjCDeclSpec &DS, 1268 if (DS.getObjCDeclQualifier() & ObjCDeclSpec::DQ_CSNullability) 1342 ObjCDeclSpec DSRet;tools/clang/lib/Sema/SemaCodeComplete.cpp
6039 if ((Attributes & ObjCDeclSpec::DQ_PR_readonly) && 6040 (Attributes & ObjCDeclSpec::DQ_PR_readwrite)) 6046 (ObjCDeclSpec::DQ_PR_assign | ObjCDeclSpec::DQ_PR_unsafe_unretained | 6046 (ObjCDeclSpec::DQ_PR_assign | ObjCDeclSpec::DQ_PR_unsafe_unretained | 6047 ObjCDeclSpec::DQ_PR_copy | ObjCDeclSpec::DQ_PR_retain | 6047 ObjCDeclSpec::DQ_PR_copy | ObjCDeclSpec::DQ_PR_retain | 6048 ObjCDeclSpec::DQ_PR_strong | ObjCDeclSpec::DQ_PR_weak); 6048 ObjCDeclSpec::DQ_PR_strong | ObjCDeclSpec::DQ_PR_weak); 6049 if (AssignCopyRetMask && AssignCopyRetMask != ObjCDeclSpec::DQ_PR_assign && 6050 AssignCopyRetMask != ObjCDeclSpec::DQ_PR_unsafe_unretained && 6051 AssignCopyRetMask != ObjCDeclSpec::DQ_PR_copy && 6052 AssignCopyRetMask != ObjCDeclSpec::DQ_PR_retain && 6053 AssignCopyRetMask != ObjCDeclSpec::DQ_PR_strong && 6054 AssignCopyRetMask != ObjCDeclSpec::DQ_PR_weak) 6060 void Sema::CodeCompleteObjCPropertyFlags(Scope *S, ObjCDeclSpec &ODS) { 6070 if (!ObjCPropertyFlagConflicts(Attributes, ObjCDeclSpec::DQ_PR_readonly)) 6072 if (!ObjCPropertyFlagConflicts(Attributes, ObjCDeclSpec::DQ_PR_assign)) 6075 ObjCDeclSpec::DQ_PR_unsafe_unretained)) 6077 if (!ObjCPropertyFlagConflicts(Attributes, ObjCDeclSpec::DQ_PR_readwrite)) 6079 if (!ObjCPropertyFlagConflicts(Attributes, ObjCDeclSpec::DQ_PR_retain)) 6081 if (!ObjCPropertyFlagConflicts(Attributes, ObjCDeclSpec::DQ_PR_strong)) 6083 if (!ObjCPropertyFlagConflicts(Attributes, ObjCDeclSpec::DQ_PR_copy)) 6085 if (!ObjCPropertyFlagConflicts(Attributes, ObjCDeclSpec::DQ_PR_nonatomic)) 6087 if (!ObjCPropertyFlagConflicts(Attributes, ObjCDeclSpec::DQ_PR_atomic)) 6092 if (!ObjCPropertyFlagConflicts(Attributes, ObjCDeclSpec::DQ_PR_weak)) 6095 if (!ObjCPropertyFlagConflicts(Attributes, ObjCDeclSpec::DQ_PR_setter)) { 6103 if (!ObjCPropertyFlagConflicts(Attributes, ObjCDeclSpec::DQ_PR_getter)) { 6111 if (!ObjCPropertyFlagConflicts(Attributes, ObjCDeclSpec::DQ_PR_nullability)) { 6331 void Sema::CodeCompleteObjCPassingType(Scope *S, ObjCDeclSpec &DS, 6341 (ObjCDeclSpec::DQ_In | ObjCDeclSpec::DQ_Inout)) == 0) { 6341 (ObjCDeclSpec::DQ_In | ObjCDeclSpec::DQ_Inout)) == 0) { 6347 (ObjCDeclSpec::DQ_Out | ObjCDeclSpec::DQ_Inout)) == 0) { 6347 (ObjCDeclSpec::DQ_Out | ObjCDeclSpec::DQ_Inout)) == 0) { 6353 (ObjCDeclSpec::DQ_Bycopy | ObjCDeclSpec::DQ_Byref | 6353 (ObjCDeclSpec::DQ_Bycopy | ObjCDeclSpec::DQ_Byref | 6354 ObjCDeclSpec::DQ_Oneway)) == 0) { 6359 if ((DS.getObjCDeclQualifier() & ObjCDeclSpec::DQ_CSNullability) == 0) {tools/clang/lib/Sema/SemaDeclObjC.cpp
4126 CvtQTToAstBitMask(ObjCDeclSpec::ObjCDeclQualifier PQTVal) { 4541 tok::TokenKind MethodType, ObjCDeclSpec &ReturnQT, ParsedType ReturnType,tools/clang/lib/Sema/SemaObjCProperty.cpp
133 if (T.isObjCGCWeak()) return ObjCDeclSpec::DQ_PR_weak; 140 return ObjCDeclSpec::DQ_PR_weak; 142 return ObjCDeclSpec::DQ_PR_strong; 144 return ObjCDeclSpec::DQ_PR_unsafe_unretained; 180 ObjCDeclSpec &ODS, 186 FD.D.setObjCWeakProperty((Attributes & ObjCDeclSpec::DQ_PR_weak) != 0); 192 bool isReadWrite = ((Attributes & ObjCDeclSpec::DQ_PR_readwrite) || 194 !(Attributes & ObjCDeclSpec::DQ_PR_readonly)); 283 if (Attributes & ObjCDeclSpec::DQ_PR_readonly) 285 if (Attributes & ObjCDeclSpec::DQ_PR_readwrite) 287 if (Attributes & ObjCDeclSpec::DQ_PR_getter) 289 if (Attributes & ObjCDeclSpec::DQ_PR_setter) 291 if (Attributes & ObjCDeclSpec::DQ_PR_assign) 293 if (Attributes & ObjCDeclSpec::DQ_PR_retain) 295 if (Attributes & ObjCDeclSpec::DQ_PR_strong) 297 if (Attributes & ObjCDeclSpec::DQ_PR_weak) 299 if (Attributes & ObjCDeclSpec::DQ_PR_copy) 301 if (Attributes & ObjCDeclSpec::DQ_PR_unsafe_unretained) 303 if (Attributes & ObjCDeclSpec::DQ_PR_nonatomic) 305 if (Attributes & ObjCDeclSpec::DQ_PR_atomic) 307 if (Attributes & ObjCDeclSpec::DQ_PR_class) 439 bool isClassProperty = (AttributesAsWritten & ObjCDeclSpec::DQ_PR_class) || 440 (Attributes & ObjCDeclSpec::DQ_PR_class); 465 (Attributes & ObjCDeclSpec::DQ_PR_readwrite) && 479 if (AttributesAsWritten & ObjCDeclSpec::DQ_PR_getter) { 487 Attributes |= ObjCDeclSpec::DQ_PR_getter; 585 if (Attributes & (ObjCDeclSpec::DQ_PR_assign | 586 ObjCDeclSpec::DQ_PR_unsafe_unretained)) { 598 isAssign && !(Attributes & ObjCDeclSpec::DQ_PR_assign)) { 626 bool isClassProperty = (AttributesAsWritten & ObjCDeclSpec::DQ_PR_class) || 627 (Attributes & ObjCDeclSpec::DQ_PR_class); 655 if (Attributes & ObjCDeclSpec::DQ_PR_readonly) 658 if (Attributes & ObjCDeclSpec::DQ_PR_getter) 661 if (Attributes & ObjCDeclSpec::DQ_PR_setter) 667 if (Attributes & ObjCDeclSpec::DQ_PR_retain) 670 if (Attributes & ObjCDeclSpec::DQ_PR_strong) 673 if (Attributes & ObjCDeclSpec::DQ_PR_weak) 676 if (Attributes & ObjCDeclSpec::DQ_PR_copy) 679 if (Attributes & ObjCDeclSpec::DQ_PR_unsafe_unretained) 686 if (Attributes & ObjCDeclSpec::DQ_PR_nonatomic) 692 if (Attributes & ObjCDeclSpec::DQ_PR_unsafe_unretained) 702 if (Attributes & ObjCDeclSpec::DQ_PR_nullability) 705 if (Attributes & ObjCDeclSpec::DQ_PR_null_resettable) 708 if (Attributes & ObjCDeclSpec::DQ_PR_class) 2546 if ((Attributes & ObjCDeclSpec::DQ_PR_readonly) && 2547 (Attributes & ObjCDeclSpec::DQ_PR_readwrite)) 2555 if ((Attributes & (ObjCDeclSpec::DQ_PR_weak | ObjCDeclSpec::DQ_PR_copy | 2555 if ((Attributes & (ObjCDeclSpec::DQ_PR_weak | ObjCDeclSpec::DQ_PR_copy | 2556 ObjCDeclSpec::DQ_PR_retain | ObjCDeclSpec::DQ_PR_strong)) && 2556 ObjCDeclSpec::DQ_PR_retain | ObjCDeclSpec::DQ_PR_strong)) && 2560 << (Attributes & ObjCDeclSpec::DQ_PR_weak ? "weak" : 2561 Attributes & ObjCDeclSpec::DQ_PR_copy ? "copy" : "retain (or strong)"); 2562 Attributes &= ~(ObjCDeclSpec::DQ_PR_weak | ObjCDeclSpec::DQ_PR_copy | 2562 Attributes &= ~(ObjCDeclSpec::DQ_PR_weak | ObjCDeclSpec::DQ_PR_copy | 2563 ObjCDeclSpec::DQ_PR_retain | ObjCDeclSpec::DQ_PR_strong); 2563 ObjCDeclSpec::DQ_PR_retain | ObjCDeclSpec::DQ_PR_strong); 2568 if ((Attributes & ObjCDeclSpec::DQ_PR_assign) && 2569 !(Attributes & ObjCDeclSpec::DQ_PR_unsafe_unretained) && 2576 if (Attributes & ObjCDeclSpec::DQ_PR_assign) { 2577 if (Attributes & ObjCDeclSpec::DQ_PR_copy) { 2580 Attributes &= ~ObjCDeclSpec::DQ_PR_copy; 2582 if (Attributes & ObjCDeclSpec::DQ_PR_retain) { 2585 Attributes &= ~ObjCDeclSpec::DQ_PR_retain; 2587 if (Attributes & ObjCDeclSpec::DQ_PR_strong) { 2590 Attributes &= ~ObjCDeclSpec::DQ_PR_strong; 2593 (Attributes & ObjCDeclSpec::DQ_PR_weak)) { 2596 Attributes &= ~ObjCDeclSpec::DQ_PR_weak; 2600 } else if (Attributes & ObjCDeclSpec::DQ_PR_unsafe_unretained) { 2601 if (Attributes & ObjCDeclSpec::DQ_PR_copy) { 2604 Attributes &= ~ObjCDeclSpec::DQ_PR_copy; 2606 if (Attributes & ObjCDeclSpec::DQ_PR_retain) { 2609 Attributes &= ~ObjCDeclSpec::DQ_PR_retain; 2611 if (Attributes & ObjCDeclSpec::DQ_PR_strong) { 2614 Attributes &= ~ObjCDeclSpec::DQ_PR_strong; 2617 (Attributes & ObjCDeclSpec::DQ_PR_weak)) { 2620 Attributes &= ~ObjCDeclSpec::DQ_PR_weak; 2622 } else if (Attributes & ObjCDeclSpec::DQ_PR_copy) { 2623 if (Attributes & ObjCDeclSpec::DQ_PR_retain) { 2626 Attributes &= ~ObjCDeclSpec::DQ_PR_retain; 2628 if (Attributes & ObjCDeclSpec::DQ_PR_strong) { 2631 Attributes &= ~ObjCDeclSpec::DQ_PR_strong; 2633 if (Attributes & ObjCDeclSpec::DQ_PR_weak) { 2636 Attributes &= ~ObjCDeclSpec::DQ_PR_weak; 2639 else if ((Attributes & ObjCDeclSpec::DQ_PR_retain) && 2640 (Attributes & ObjCDeclSpec::DQ_PR_weak)) { 2643 Attributes &= ~ObjCDeclSpec::DQ_PR_retain; 2645 else if ((Attributes & ObjCDeclSpec::DQ_PR_strong) && 2646 (Attributes & ObjCDeclSpec::DQ_PR_weak)) { 2649 Attributes &= ~ObjCDeclSpec::DQ_PR_weak; 2652 if (Attributes & ObjCDeclSpec::DQ_PR_weak) { 2661 if ((Attributes & ObjCDeclSpec::DQ_PR_atomic) && 2662 (Attributes & ObjCDeclSpec::DQ_PR_nonatomic)) { 2665 Attributes &= ~ObjCDeclSpec::DQ_PR_atomic; 2671 if (Attributes & ObjCDeclSpec::DQ_PR_readonly) { 2704 if (!(Attributes & ObjCDeclSpec::DQ_PR_copy) 2705 &&!(Attributes & ObjCDeclSpec::DQ_PR_readonly) 2709 else if ((Attributes & ObjCDeclSpec::DQ_PR_retain) && 2710 !(Attributes & ObjCDeclSpec::DQ_PR_readonly) && 2711 !(Attributes & ObjCDeclSpec::DQ_PR_strong) && 2715 if ((Attributes & ObjCDeclSpec::DQ_PR_readonly) && 2716 (Attributes & ObjCDeclSpec::DQ_PR_setter))tools/clang/lib/Sema/SemaType.cpp
4308 ->setObjCDeclQualifier(ObjCDeclSpec::DQ_CSNullability);