reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

Declarations

gen/tools/clang/include/clang/AST/DeclNodes.inc
  175 OBJCPROPERTY(ObjCProperty, NamedDecl)
tools/clang/include/clang/AST/ASTContext.h
  112 class ObjCPropertyDecl;
tools/clang/include/clang/AST/ASTMutationListener.h
   33   class ObjCPropertyDecl;
tools/clang/include/clang/AST/DeclObjC.h
   54 class ObjCPropertyDecl;
tools/clang/include/clang/Analysis/BodyFarm.h
   27 class ObjCPropertyDecl;
tools/clang/include/clang/Sema/DelayedDiagnostic.h
   44 class ObjCPropertyDecl;
tools/clang/include/clang/Sema/ScopeInfo.h
   51 class ObjCPropertyDecl;
tools/clang/include/clang/Sema/Sema.h
  153   class ObjCPropertyDecl;
tools/clang/tools/libclang/CXIndexDataConsumer.h
   22   class ObjCPropertyDecl;

References

gen/tools/clang/include/clang/Sema/AttrParsedAttrImpl.inc
  992   if (!D || (!isa<FunctionDecl>(D) && !isa<ObjCMethodDecl>(D) && !isa<ObjCPropertyDecl>(D))) {
 1932   if (!D || (!isa<FunctionDecl>(D) && !isa<ObjCMethodDecl>(D) && !isa<ObjCPropertyDecl>(D) && !isa<ParmVarDecl>(D))) {
 1948   if (!D || (!isa<FunctionDecl>(D) && !isa<ObjCMethodDecl>(D) && !isa<ObjCPropertyDecl>(D) && !isa<ParmVarDecl>(D))) {
 2204   if (!D || (!isa<ObjCMethodDecl>(D) && !isa<ObjCPropertyDecl>(D))) {
 2759   if (!D || (!isa<FunctionDecl>(D) && !isGlobalVar(D) && !isa<ObjCMethodDecl>(D) && !isa<ObjCPropertyDecl>(D))) {
 3548     return isa<ObjCPropertyDecl>(D);
include/llvm/ADT/ArrayRef.h
  108         const ArrayRef<U *> &A,
  110            std::is_convertible<U *const *, T const *>::value>::type * = nullptr)
  118       const SmallVectorTemplateCommon<U *, DummyT> &Vec,
  120           std::is_convertible<U *const *, T const *>::value>::type * = nullptr)
include/llvm/ADT/DenseMapInfo.h
   39   static inline T* getEmptyKey() {
   41     Val <<= PointerLikeTypeTraits<T*>::NumLowBitsAvailable;
   45   static inline T* getTombstoneKey() {
   47     Val <<= PointerLikeTypeTraits<T*>::NumLowBitsAvailable;
   51   static unsigned getHashValue(const T *PtrVal) {
   56   static bool isEqual(const T *LHS, const T *RHS) { return LHS == RHS; }
   56   static bool isEqual(const T *LHS, const T *RHS) { return LHS == RHS; }
include/llvm/ADT/STLExtras.h
   75       typename std::add_pointer<typename std::add_const<T>::type>::type;
include/llvm/Support/Casting.h
   57   static inline bool doit(const From &Val) {
   58     return To::classof(&Val);
  104   static inline bool doit(const From *Val) {
  106     return isa_impl<To, From>::doit(*Val);
  106     return isa_impl<To, From>::doit(*Val);
  122     return isa_impl_wrap<To, SimpleFrom,
  132     return isa_impl_cl<To,FromTy>::doit(Val);
  142   return isa_impl_wrap<X, const Y,
  172   using ret_type = To *;       // Pointer arg case, return Ty*
  176   using ret_type = const To *; // Constant pointer arg case, return const Ty*
  198   using ret_type = typename cast_retty<To, SimpleFrom>::ret_type;
  204   using ret_type = typename cast_retty_impl<To,FromTy>::ret_type;
  210       To, From, typename simplify_type<From>::SimpleType>::ret_type;
  227   static typename cast_retty<To, FromTy>::ret_type doit(const FromTy &Val) {
  228     typename cast_retty<To, FromTy>::ret_type Res2
  256 inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  265   return cast_convert_val<X, Y*,
  265   return cast_convert_val<X, Y*,
  266                           typename simplify_type<Y*>::SimpleType>::doit(Val);
  305 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  309   return cast<X>(Val);
  337 LLVM_NODISCARD inline typename cast_retty<X, Y>::ret_type dyn_cast(Y &Val) {
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  366 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  368   return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
  368   return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
include/llvm/Support/PointerLikeTypeTraits.h
   56   static inline void *getAsVoidPointer(T *P) { return P; }
   57   static inline T *getFromVoidPointer(void *P) { return static_cast<T *>(P); }
   59   enum { NumLowBitsAvailable = detail::ConstantLog2<alignof(T)>::value };
   91   typedef PointerLikeTypeTraits<T *> NonConst;
   93   static inline const void *getAsVoidPointer(const T *P) {
   96   static inline const T *getFromVoidPointer(const void *P) {
tools/clang/include/clang/AST/ASTContext.h
 1836   std::string getObjCEncodingForPropertyDecl(const ObjCPropertyDecl *PD,
 1843                                                   const ObjCPropertyDecl *PD,
tools/clang/include/clang/AST/ASTTypeTraits.h
   65     return ASTNodeKind(KindToKindId<T>::Id);
   65     return ASTNodeKind(KindToKindId<T>::Id);
   65     return ASTNodeKind(KindToKindId<T>::Id);
  251   const T *get() const {
  252     return BaseConverter<T>::get(NodeKind, Storage.buffer);
  394     static const T *get(ASTNodeKind NodeKind, const char Storage[]) {
  395       if (ASTNodeKind::getFromNodeKind<T>().isBaseOf(NodeKind))
  399     static const T &getUnchecked(ASTNodeKind NodeKind, const char Storage[]) {
  401       return *cast<T>(static_cast<const BaseT *>(
  469     : public DynCastPtrConverter<T, Decl> {};
tools/clang/include/clang/AST/DeclBase.h
 2058       while (*Current && !isa<SpecificDecl>(*Current))
 2063     using value_type = SpecificDecl *;
 2086     value_type operator*() const { return cast<SpecificDecl>(*Current); }
 2135              (!isa<SpecificDecl>(*Current) ||
 2136               (Acceptable && !(cast<SpecificDecl>(*Current)->*Acceptable)())))
 2136               (Acceptable && !(cast<SpecificDecl>(*Current)->*Acceptable)())))
 2136               (Acceptable && !(cast<SpecificDecl>(*Current)->*Acceptable)())))
 2141     using value_type = SpecificDecl *;
 2164     value_type operator*() const { return cast<SpecificDecl>(*Current); }
 2536   static ::clang::DeclContext *doit(const FromTy *Val) {
 2537     return FromTy::castToDeclContext(Val);
tools/clang/include/clang/AST/DeclObjC.h
  474   const ObjCPropertyDecl *findPropertyDecl(bool CheckOverrides = true) const;
  810   static ObjCPropertyDecl *Create(ASTContext &C, DeclContext *DC,
  818   static ObjCPropertyDecl *CreateDeserialized(ASTContext &C, unsigned ID);
  956   static ObjCPropertyDecl *findPropertyDecl(const DeclContext *DC,
  983   using prop_iterator = specific_decl_iterator<ObjCPropertyDecl>;
  985       llvm::iterator_range<specific_decl_iterator<ObjCPropertyDecl>>;
  998       filtered_decl_iterator<ObjCPropertyDecl,
  999                              &ObjCPropertyDecl::isInstanceProperty>;
 1015       filtered_decl_iterator<ObjCPropertyDecl,
 1016                              &ObjCPropertyDecl::isClassProperty>;
 1095   bool HasUserDeclaredSetterMethod(const ObjCPropertyDecl *P) const;
 1098   ObjCPropertyDecl *
 1104                      ObjCPropertyDecl *>;
 1106   using PropertyDeclOrder = llvm::SmallVector<ObjCPropertyDecl *, 8>;
 1800   ObjCPropertyDecl
 2255   void collectInheritedProtocolProperties(const ObjCPropertyDecl *Property,
 2777   ObjCPropertyDecl *PropertyDecl;
 2791                        ObjCPropertyDecl *property,
 2805                                       ObjCPropertyDecl *property,
 2817   ObjCPropertyDecl *getPropertyDecl() const {
 2820   void setPropertyDecl(ObjCPropertyDecl *Prop) { PropertyDecl = Prop; }
tools/clang/include/clang/AST/ExprObjC.h
  648   ObjCPropertyRefExpr(ObjCPropertyDecl *PD, QualType t,
  659   ObjCPropertyRefExpr(ObjCPropertyDecl *PD, QualType t,
  707   ObjCPropertyDecl *getExplicitProperty() const {
  709     return cast<ObjCPropertyDecl>(PropertyOrGetter.getPointer());
  811   void setExplicitProperty(ObjCPropertyDecl *D, unsigned methRefFlags) {
tools/clang/include/clang/AST/JSONNodeDumper.h
  254   void VisitObjCPropertyDecl(const ObjCPropertyDecl *D);
tools/clang/include/clang/AST/RecursiveASTVisitor.h
 1573   if (D->getTypeSourceInfo())
 1574     TRY_TO(TraverseTypeLoc(D->getTypeSourceInfo()->getTypeLoc()));
 1576     TRY_TO(TraverseType(D->getType()));
tools/clang/include/clang/AST/TextNodeDumper.h
  345   void VisitObjCPropertyDecl(const ObjCPropertyDecl *D);
tools/clang/include/clang/ASTMatchers/ASTMatchers.h
  110   const T *getNodeAs(StringRef ID) const {
  111     return MyBoundNodes.getNodeAs<T>(ID);
 1424 extern const internal::VariadicDynCastAllOfMatcher<Decl, ObjCPropertyDecl>
tools/clang/include/clang/ASTMatchers/ASTMatchersInternal.h
  160   const T *getNodeAs(StringRef ID) const {
  165     return It->second.get<T>();
  436     return canConvertTo(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
  445   template <typename T> Matcher<T> convertTo() const {
  447     return unconditionalConvertTo<T>();
  499   explicit Matcher(MatcherInterface<T> *Implementation)
  507           typename std::enable_if<std::is_base_of<From, T>::value &&
  508                                !std::is_same<From, T>::value>::type * = nullptr)
  520             std::is_same<T, QualType>::value &&
  529     static_assert(std::is_base_of<To, T>::value, "Invalid dynCast call.");
  534   bool matches(const T &Node,
  581     return Other.dynCastTo(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
 1243   operator Matcher<T>() const {
 1245                ast_type_traits::ASTNodeKind::getFromNodeKind<T>())
 1246         .template unconditionalConvertTo<T>();
 1255 class BindableMatcher : public Matcher<T> {
 1257   explicit BindableMatcher(const Matcher<T> &M) : Matcher<T>(M) {}
 1258   explicit BindableMatcher(MatcherInterface<T> *Implementation)
 1265   Matcher<T> bind(StringRef ID) const {
 1335   template <typename T> operator Matcher<T>() const {
 1337                Op, ast_type_traits::ASTNodeKind::getFromNodeKind<T>(),
 1338                getMatchers<T>(std::index_sequence_for<Ps...>()))
 1339         .template unconditionalConvertTo<T>();
 1370 inline Matcher<T> DynTypedMatcher::unconditionalConvertTo() const {
 1376 BindableMatcher<T> makeAllOfComposite(
 1377     ArrayRef<const Matcher<T> *> InnerMatchers) {
 1388   using PI = llvm::pointee_iterator<const Matcher<T> *const *>;
 1395           ast_type_traits::ASTNodeKind::getFromNodeKind<T>(),
 1397           .template unconditionalConvertTo<T>());
 1408     ArrayRef<const Matcher<InnerT> *> InnerMatchers) {
 1557     : public VariadicFunction<BindableMatcher<SourceT>, Matcher<TargetT>,
 1558                               makeDynCastAllOfComposite<SourceT, TargetT>> {
tools/clang/include/clang/ASTMatchers/Dynamic/VariantValue.h
  199   ast_matchers::internal::Matcher<T> getTypedMatcher() const {
  202         ->template convertTo<T>();
  227       : MatcherOps(ast_type_traits::ASTNodeKind::getFromNodeKind<T>()) {}
  228   typedef ast_matchers::internal::Matcher<T> MatcherT;
  232     return DynTypedMatcher(Matcher.convertTo<T>());
tools/clang/include/clang/Sema/DelayedDiagnostic.h
  145                                             const ObjCPropertyDecl  *ObjCProperty,
  230   const ObjCPropertyDecl *getObjCProperty() const {
  243     const ObjCPropertyDecl  *ObjCProperty;
tools/clang/include/clang/Sema/ScopeInfo.h
  268     WeakObjectProfileTy(const Expr *Base, const ObjCPropertyDecl *Property);
  384                        const ObjCPropertyDecl *Prop);
tools/clang/include/clang/Sema/Sema.h
 3823                                                const ObjCPropertyDecl *&PDecl) const;
 3827   ObjCPropertyDecl *HandlePropertyInClassExtension(Scope *S,
 3844   ObjCPropertyDecl *CreatePropertyDecl(Scope *S,
 4365   bool DiagnosePropertyAccessorMismatch(ObjCPropertyDecl *PD,
 8685   void ProcessPropertyDecl(ObjCPropertyDecl *property);
 8688   void DiagnosePropertyMismatch(ObjCPropertyDecl *Property,
 8689                                 ObjCPropertyDecl *SuperProperty,
tools/clang/include/clang/Sema/TypoCorrection.h
  156   DeclClass *getCorrectionDeclAs() const {
  157     return dyn_cast_or_null<DeclClass>(getCorrectionDecl());
  369     return candidate.getCorrectionDeclAs<C>();
tools/clang/include/clang/Serialization/ASTReader.h
 1887   T *ReadDeclAs(ModuleFile &F, const RecordData &R, unsigned &I) {
 1888     return cast_or_null<T>(GetDecl(ReadDeclID(F, R, I)));
 2541   T *readDeclAs() {
 2542     return Reader->ReadDeclAs<T>(*F, Record, Idx);
tools/clang/include/clang/StaticAnalyzer/Core/Checker.h
   33     ((const CHECKER *)checker)->checkASTDecl(cast<DECL>(D), mgr, BR);
   37     return isa<DECL>(D);
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
 1030   const ObjCPropertyDecl *getAccessedProperty() const;
tools/clang/lib/ARCMigrate/ObjCMT.cpp
   61   void migratePropertyNsReturnsInnerPointer(ASTContext &Ctx, ObjCPropertyDecl *P);
  260     const ObjCPropertyDecl *Prop = Method->findPropertyDecl();
  602   for (auto *Prop : D->instance_properties()) {
  619     for (const auto *Property : PDecl->instance_properties()) {
  620       if (Property->getPropertyImplementation() == ObjCPropertyDecl::Optional)
  633       else if (ObjCPropertyDecl *ClassProperty = dyn_cast<ObjCPropertyDecl>(R[0])) {
  633       else if (ObjCPropertyDecl *ClassProperty = dyn_cast<ObjCPropertyDecl>(R[0])) {
 1278                                                                   ObjCPropertyDecl *P) {
tools/clang/lib/ARCMigrate/TransGCAttrs.cpp
   29   std::vector<ObjCPropertyDecl *> &AllProps;
   34                    std::vector<ObjCPropertyDecl *> &AllProps)
   51     if (ObjCPropertyDecl *PropD = dyn_cast<ObjCPropertyDecl>(D)) {
   51     if (ObjCPropertyDecl *PropD = dyn_cast<ObjCPropertyDecl>(D)) {
  217 typedef llvm::TinyPtrVector<ObjCPropertyDecl *> IndivPropsTy;
  232   SmallVector<std::pair<AttributedTypeLoc, ObjCPropertyDecl *>, 4> ATLs;
  234   ObjCPropertyDecl::PropertyAttributeKind
  235     Attrs = ObjCPropertyDecl::OBJC_PR_noattr;
  238     ObjCPropertyDecl *PD = *PI;
  277     if (Attrs & ObjCPropertyDecl::OBJC_PR_assign)
  298                           std::vector<ObjCPropertyDecl *> &AllProps) {
  299   typedef llvm::TinyPtrVector<ObjCPropertyDecl *> IndivPropsTy;
  303     ObjCPropertyDecl *PD = AllProps[i];
  305           (ObjCPropertyDecl::OBJC_PR_assign |
  306            ObjCPropertyDecl::OBJC_PR_readonly)) {
  324   std::vector<ObjCPropertyDecl *> AllProps;
tools/clang/lib/ARCMigrate/TransProperties.cpp
   59     ObjCPropertyDecl *PropD;
   63     PropData(ObjCPropertyDecl *propD)
   78     for (auto *Prop : D->instance_properties()) {
  110       ObjCPropertyDecl *propD = implD->getPropertyDecl();
  171     ObjCPropertyDecl::PropertyAttributeKind propAttrs = getPropertyAttrs(props);
  173     if (propAttrs & (ObjCPropertyDecl::OBJC_PR_copy |
  174                      ObjCPropertyDecl::OBJC_PR_unsafe_unretained |
  175                      ObjCPropertyDecl::OBJC_PR_strong |
  176                      ObjCPropertyDecl::OBJC_PR_weak))
  179     if (propAttrs & ObjCPropertyDecl::OBJC_PR_retain) {
  186     if (propAttrs & ObjCPropertyDecl::OBJC_PR_assign) {
  357   ObjCPropertyDecl::PropertyAttributeKind
  360     ObjCPropertyDecl::PropertyAttributeKind
tools/clang/lib/ARCMigrate/TransZeroOutPropsInDealloc.cpp
   31   llvm::DenseMap<ObjCPropertyDecl*, ObjCPropertyImplDecl*> SynthesizedProperties;
   57     for (llvm::DenseMap<ObjCPropertyDecl*, ObjCPropertyImplDecl*>::iterator
   60       ObjCPropertyDecl *PropDecl = P->first;
  118         ObjCPropertyDecl *PD = PID->getPropertyDecl();
  121           ObjCPropertyDecl::PropertyAttributeKind AttrKind =
  124                 (ObjCPropertyDecl::OBJC_PR_retain |
  125                   ObjCPropertyDecl::OBJC_PR_copy   |
  126                   ObjCPropertyDecl::OBJC_PR_strong))
  174       for (llvm::DenseMap<ObjCPropertyDecl*, ObjCPropertyImplDecl*>::iterator
  205     if (ObjCPropertyDecl *PDecl = PropRefExp->getExplicitProperty()) {
tools/clang/lib/AST/ASTContext.cpp
  164       isa<ObjCPropertyDecl>(D) ||
  222          isa<ObjCMethodDecl>(D) || isa<ObjCPropertyDecl>(D))) {
  556         if (const ObjCPropertyDecl *PDecl = OMD->findPropertyDecl())
 6489                                       const ObjCPropertyDecl *PD,
 6532 ASTContext::getObjCEncodingForPropertyDecl(const ObjCPropertyDecl *PD,
 6556     if (PD->getPropertyAttributes() & ObjCPropertyDecl::OBJC_PR_copy)
 6558     if (PD->getPropertyAttributes() & ObjCPropertyDecl::OBJC_PR_retain)
 6560     if (PD->getPropertyAttributes() & ObjCPropertyDecl::OBJC_PR_weak)
 6564     case ObjCPropertyDecl::Assign: break;
 6565     case ObjCPropertyDecl::Copy:   S += ",C"; break;
 6566     case ObjCPropertyDecl::Retain: S += ",&"; break;
 6567     case ObjCPropertyDecl::Weak:   S += ",W"; break;
 6576   if (PD->getPropertyAttributes() & ObjCPropertyDecl::OBJC_PR_nonatomic)
 6579   if (PD->getPropertyAttributes() & ObjCPropertyDecl::OBJC_PR_getter) {
 6584   if (PD->getPropertyAttributes() & ObjCPropertyDecl::OBJC_PR_setter) {
tools/clang/lib/AST/ASTImporter.cpp
  152     LLVM_NODISCARD Error importInto(ImportT *&To, ImportT *From) {
  152     LLVM_NODISCARD Error importInto(ImportT *&To, ImportT *From) {
  155         To = cast_or_null<ImportT>(*ToOrErr);
  217           -> decltype(ToDeclT::Create(std::forward<Args>(args)...)) {
  218         return ToDeclT::Create(std::forward<Args>(args)...);
  229     LLVM_NODISCARD bool GetImportedOrCreateDecl(ToDeclT *&ToD, FromDeclT *FromD,
  229     LLVM_NODISCARD bool GetImportedOrCreateDecl(ToDeclT *&ToD, FromDeclT *FromD,
  234       CallOverloadedCreateFun<ToDeclT> OC;
  256     GetImportedOrCreateSpecialDecl(ToDeclT *&ToD, CreateFunT CreateFun,
  257                                    FromDeclT *FromD, Args &&... args) {
  262       ToD = cast_or_null<ToDeclT>(Importer.GetAlreadyImportedOrNull(FromD));
  493     ExpectedDecl VisitObjCPropertyDecl(ObjCPropertyDecl *D);
 4783 ExpectedDecl ASTNodeImporter::VisitObjCPropertyDecl(ObjCPropertyDecl *D) {
 4797     if (auto *FoundProp = dyn_cast<ObjCPropertyDecl>(FoundDecl)) {
 4797     if (auto *FoundProp = dyn_cast<ObjCPropertyDecl>(FoundDecl)) {
 4827   ObjCPropertyDecl *ToProperty;
 4868   ObjCPropertyDecl *Property;
tools/clang/lib/AST/Comment.cpp
  304     else if (const auto *PD = dyn_cast<ObjCPropertyDecl>(CommentDecl))
  304     else if (const auto *PD = dyn_cast<ObjCPropertyDecl>(CommentDecl))
tools/clang/lib/AST/CommentSema.cpp
  868   else if (const auto *PD =
  869                dyn_cast<ObjCPropertyDecl>(ThisDeclInfo->CurrentDecl))
tools/clang/lib/AST/Decl.cpp
 1588   if (auto *PD = dyn_cast<ObjCPropertyDecl>(this)) {
tools/clang/lib/AST/DeclObjC.cpp
  124     const ObjCPropertyDecl *Property) const {
  147       for (const auto *P : Cat->properties())
  149           if (P->getPropertyAttributes() & ObjCPropertyDecl::OBJC_PR_readwrite)
  175 ObjCPropertyDecl *
  191       if (ObjCPropertyDecl *PD = ObjCPropertyDecl::findPropertyDecl(Ext,
  191       if (ObjCPropertyDecl *PD = ObjCPropertyDecl::findPropertyDecl(Ext,
  198   ObjCPropertyDecl *classProp = nullptr;
  201     if (auto *PD = dyn_cast<ObjCPropertyDecl>(*I)) {
  201     if (auto *PD = dyn_cast<ObjCPropertyDecl>(*I)) {
  235 ObjCPropertyDecl *ObjCContainerDecl::FindPropertyDeclaration(
  249       if (auto *P = Ext->FindPropertyDeclaration(PropertyId, QueryKind))
  254   if (ObjCPropertyDecl *PD =
  255         ObjCPropertyDecl::findPropertyDecl(cast<DeclContext>(this), PropertyId,
  265         if (ObjCPropertyDecl *P = I->FindPropertyDeclaration(PropertyId,
  275           if (ObjCPropertyDecl *P = Cat->FindPropertyDeclaration(
  282         if (ObjCPropertyDecl *P = I->FindPropertyDeclaration(PropertyId,
  296           if (ObjCPropertyDecl *P = I->FindPropertyDeclaration(PropertyId,
  367 ObjCPropertyDecl *
  378   if (ObjCPropertyDecl *PD =
  379       ObjCPropertyDecl::findPropertyDecl(cast<DeclContext>(this), PropertyId,
  385     if (ObjCPropertyDecl *P = I->FindPropertyDeclaration(PropertyId,
  394   for (auto *Prop : properties()) {
  400     for (auto *Prop : ClassExt->properties()) {
 1300 const ObjCPropertyDecl *
 1317         for (const auto *I : Container->instance_properties()) {
 1324         for (const auto *I : Container->class_properties()) {
 1336     if (const auto *Found = findMatchingProperty(Container))
 1343       if (const auto *Found = findMatchingProperty(ClassDecl))
 1356         if (const auto *Found = findMatchingProperty(Ext))
 1372     if (const ObjCPropertyDecl *Prop = Override->findPropertyDecl(false))
 1926     for (auto *Prop : PDecl->properties()) {
 1940     const ObjCPropertyDecl *Property, ProtocolPropertySet &PS,
 1945     for (auto *Prop : PDecl->properties()) {
 2218 ObjCPropertyDecl *ObjCPropertyDecl::Create(ASTContext &C, DeclContext *DC,
 2226   return new (C, DC) ObjCPropertyDecl(DC, L, Id, AtLoc, LParenLoc, T, TSI,
 2230 ObjCPropertyDecl *ObjCPropertyDecl::CreateDeserialized(ASTContext &C,
 2232   return new (C, ID) ObjCPropertyDecl(nullptr, SourceLocation(), nullptr,
 2250                                                    ObjCPropertyDecl *property,
tools/clang/lib/AST/DeclPrinter.cpp
   96     void VisitObjCPropertyDecl(ObjCPropertyDecl *D);
 1455 void DeclPrinter::VisitObjCPropertyDecl(ObjCPropertyDecl *PDecl) {
 1456   if (PDecl->getPropertyImplementation() == ObjCPropertyDecl::Required)
 1458   else if (PDecl->getPropertyImplementation() == ObjCPropertyDecl::Optional)
 1464   if (PDecl->getPropertyAttributes() != ObjCPropertyDecl::OBJC_PR_noattr) {
 1467     if (PDecl->getPropertyAttributes() & ObjCPropertyDecl::OBJC_PR_class) {
 1473         ObjCPropertyDecl::OBJC_PR_nonatomic) {
 1478         ObjCPropertyDecl::OBJC_PR_atomic) {
 1483     if (PDecl->getPropertyAttributes() & ObjCPropertyDecl::OBJC_PR_assign) {
 1487     if (PDecl->getPropertyAttributes() & ObjCPropertyDecl::OBJC_PR_retain) {
 1492     if (PDecl->getPropertyAttributes() & ObjCPropertyDecl::OBJC_PR_strong) {
 1496     if (PDecl->getPropertyAttributes() & ObjCPropertyDecl::OBJC_PR_copy) {
 1500     if (PDecl->getPropertyAttributes() & ObjCPropertyDecl::OBJC_PR_weak) {
 1505         & ObjCPropertyDecl::OBJC_PR_unsafe_unretained) {
 1511         ObjCPropertyDecl::OBJC_PR_readwrite) {
 1516         ObjCPropertyDecl::OBJC_PR_readonly) {
 1521     if (PDecl->getPropertyAttributes() & ObjCPropertyDecl::OBJC_PR_getter) {
 1526     if (PDecl->getPropertyAttributes() & ObjCPropertyDecl::OBJC_PR_setter) {
 1533         ObjCPropertyDecl::OBJC_PR_nullability) {
 1537                ObjCPropertyDecl::OBJC_PR_null_resettable)) {
tools/clang/lib/AST/JSONNodeDumper.cpp
  986 void JSONNodeDumper::VisitObjCPropertyDecl(const ObjCPropertyDecl *D) {
  991   case ObjCPropertyDecl::None: break;
  992   case ObjCPropertyDecl::Required: JOS.attribute("control", "required"); break;
  993   case ObjCPropertyDecl::Optional: JOS.attribute("control", "optional"); break;
  996   ObjCPropertyDecl::PropertyAttributeKind Attrs = D->getPropertyAttributes();
  997   if (Attrs != ObjCPropertyDecl::OBJC_PR_noattr) {
  998     if (Attrs & ObjCPropertyDecl::OBJC_PR_getter)
 1000     if (Attrs & ObjCPropertyDecl::OBJC_PR_setter)
 1002     attributeOnlyIfTrue("readonly", Attrs & ObjCPropertyDecl::OBJC_PR_readonly);
 1003     attributeOnlyIfTrue("assign", Attrs & ObjCPropertyDecl::OBJC_PR_assign);
 1005                         Attrs & ObjCPropertyDecl::OBJC_PR_readwrite);
 1006     attributeOnlyIfTrue("retain", Attrs & ObjCPropertyDecl::OBJC_PR_retain);
 1007     attributeOnlyIfTrue("copy", Attrs & ObjCPropertyDecl::OBJC_PR_copy);
 1009                         Attrs & ObjCPropertyDecl::OBJC_PR_nonatomic);
 1010     attributeOnlyIfTrue("atomic", Attrs & ObjCPropertyDecl::OBJC_PR_atomic);
 1011     attributeOnlyIfTrue("weak", Attrs & ObjCPropertyDecl::OBJC_PR_weak);
 1012     attributeOnlyIfTrue("strong", Attrs & ObjCPropertyDecl::OBJC_PR_strong);
 1014                         Attrs & ObjCPropertyDecl::OBJC_PR_unsafe_unretained);
 1015     attributeOnlyIfTrue("class", Attrs & ObjCPropertyDecl::OBJC_PR_class);
 1017                         Attrs & ObjCPropertyDecl::OBJC_PR_nullability);
 1019                         Attrs & ObjCPropertyDecl::OBJC_PR_null_resettable);
tools/clang/lib/AST/TextNodeDumper.cpp
 1891 void TextNodeDumper::VisitObjCPropertyDecl(const ObjCPropertyDecl *D) {
 1895   if (D->getPropertyImplementation() == ObjCPropertyDecl::Required)
 1897   else if (D->getPropertyImplementation() == ObjCPropertyDecl::Optional)
 1900   ObjCPropertyDecl::PropertyAttributeKind Attrs = D->getPropertyAttributes();
 1901   if (Attrs != ObjCPropertyDecl::OBJC_PR_noattr) {
 1902     if (Attrs & ObjCPropertyDecl::OBJC_PR_readonly)
 1904     if (Attrs & ObjCPropertyDecl::OBJC_PR_assign)
 1906     if (Attrs & ObjCPropertyDecl::OBJC_PR_readwrite)
 1908     if (Attrs & ObjCPropertyDecl::OBJC_PR_retain)
 1910     if (Attrs & ObjCPropertyDecl::OBJC_PR_copy)
 1912     if (Attrs & ObjCPropertyDecl::OBJC_PR_nonatomic)
 1914     if (Attrs & ObjCPropertyDecl::OBJC_PR_atomic)
 1916     if (Attrs & ObjCPropertyDecl::OBJC_PR_weak)
 1918     if (Attrs & ObjCPropertyDecl::OBJC_PR_strong)
 1920     if (Attrs & ObjCPropertyDecl::OBJC_PR_unsafe_unretained)
 1922     if (Attrs & ObjCPropertyDecl::OBJC_PR_class)
 1924     if (Attrs & ObjCPropertyDecl::OBJC_PR_getter)
 1926     if (Attrs & ObjCPropertyDecl::OBJC_PR_setter)
tools/clang/lib/ASTMatchers/ASTMatchersInternal.cpp
  642 const internal::VariadicDynCastAllOfMatcher<Decl, ObjCPropertyDecl>
tools/clang/lib/ASTMatchers/Dynamic/Marshallers.h
   75     return Value.isMatcher() && Value.getMatcher().hasTypedMatcher<T>();
   78   static ast_matchers::internal::Matcher<T> get(const VariantValue &Value) {
   79     return Value.getMatcher().getTypedMatcher<T>();
   83     return ArgKind(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
  466       ast_matchers::internal::VariadicDynCastAllOfMatcher<BaseT, DerivedT> Func,
  469         DerivedKind(ast_type_traits::ASTNodeKind::getFromNodeKind<DerivedT>()) {
  778     ast_matchers::internal::VariadicDynCastAllOfMatcher<BaseT, DerivedT>
tools/clang/lib/Analysis/BodyFarm.cpp
  700 static const ObjCIvarDecl *findBackingIvar(const ObjCPropertyDecl *Prop) {
  730   auto *ShadowingProp = PrimaryInterface->FindPropertyVisibleInPrimaryClass(
  740                                       const ObjCPropertyDecl *Prop) {
  747   if (Prop->getPropertyAttributes() & ObjCPropertyDecl::OBJC_PR_weak)
  817   const ObjCPropertyDecl *Prop = D->findPropertyDecl();
tools/clang/lib/CodeGen/Address.h
  108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/CGDebugInfo.cpp
 2308 static bool hasDefaultGetterName(const ObjCPropertyDecl *PD,
 2320 static bool hasDefaultSetterName(const ObjCPropertyDecl *PD,
 2505       for (auto *PD : ClassExt->properties()) {
 2509     for (const auto *PD : ID->properties()) {
 2576         if (ObjCPropertyDecl *PD = PImpD->getPropertyDecl()) {
tools/clang/lib/CodeGen/CGObjC.cpp
  825   const ObjCPropertyDecl *prop = propImpl->getPropertyDecl();
  826   ObjCPropertyDecl::SetterKind setterKind = prop->getSetterKind();
  828   IsCopy = (setterKind == ObjCPropertyDecl::Copy);
  846   if (setterKind == ObjCPropertyDecl::Retain) {
  957   const ObjCPropertyDecl *PD = PID->getPropertyDecl();
 1042   const ObjCPropertyDecl *prop = propImpl->getPropertyDecl();
 1314   const ObjCPropertyDecl *prop = propImpl->getPropertyDecl();
 1493   const ObjCPropertyDecl *PD = PID->getPropertyDecl();
 3492   const ObjCPropertyDecl *PD = PID->getPropertyDecl();
 3493   if ((!(PD->getPropertyAttributes() & ObjCPropertyDecl::OBJC_PR_atomic)))
 3573   const ObjCPropertyDecl *PD = PID->getPropertyDecl();
 3577   if ((!(PD->getPropertyAttributes() & ObjCPropertyDecl::OBJC_PR_atomic)))
tools/clang/lib/CodeGen/CGObjCGNU.cpp
  233   llvm::Constant *MakePropertyEncodingString(const ObjCPropertyDecl *PD,
  252       const ObjCPropertyDecl *property, bool isSynthesized=true, bool
  256     if (attrs & ObjCPropertyDecl::OBJC_PR_readonly) {
  257       attrs &= ~ObjCPropertyDecl::OBJC_PR_copy;
  258       attrs &= ~ObjCPropertyDecl::OBJC_PR_retain;
  259       attrs &= ~ObjCPropertyDecl::OBJC_PR_weak;
  260       attrs &= ~ObjCPropertyDecl::OBJC_PR_strong;
  297             const ObjCPropertyDecl *property,
 1115             const ObjCPropertyDecl *property,
 1883         ObjCPropertyDecl *prop = propImpl->getPropertyDecl();
 3282   SmallVector<const ObjCPropertyDecl *, 16> Properties;
 3291       for (const auto *PD : Proto->properties()) {
 3306       for (auto *PD : ClassExt->properties()) {
 3313   for (const auto *PD : OCD->properties()) {
 3497       ObjCPropertyDecl *property = propertyImpl->getPropertyDecl();
tools/clang/lib/CodeGen/CGObjCMac.cpp
  946   llvm::Constant *GetPropertyTypeString(const ObjCPropertyDecl *PD,
 3215                        SmallVectorImpl<const ObjCPropertyDecl *> &Properties,
 3221   for (const auto *PD : Proto->properties()) {
 3256   SmallVector<const ObjCPropertyDecl *, 16> Properties;
 3261       for (auto *PD : ClassExt->properties()) {
 3268   for (const auto *PD : OCD->properties()) {
 3562       ObjCPropertyDecl *PD = PID->getPropertyDecl();
 5536 CGObjCCommonMac::GetPropertyTypeString(const ObjCPropertyDecl *PD,
 6238         ObjCPropertyDecl *PD = PID->getPropertyDecl();
tools/clang/lib/CodeGen/CodeGenModule.cpp
 5107       ObjCPropertyDecl *PD = PID->getPropertyDecl();
tools/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
  335     void RewriteProperty(ObjCPropertyDecl *prop);
  909                                              ObjCPropertyDecl *PD,
  938   ObjCPropertyDecl *PD = PID->getPropertyDecl();
  944     bool GenGetProperty = !(Attributes & ObjCPropertyDecl::OBJC_PR_nonatomic) &&
  945                           (Attributes & (ObjCPropertyDecl::OBJC_PR_retain |
  946                                          ObjCPropertyDecl::OBJC_PR_copy));
 1005   bool GenSetProperty = Attributes & (ObjCPropertyDecl::OBJC_PR_retain |
 1006                                       ObjCPropertyDecl::OBJC_PR_copy);
 1025     if (Attributes & ObjCPropertyDecl::OBJC_PR_nonatomic)
 1029     if (Attributes & ObjCPropertyDecl::OBJC_PR_copy)
 1120 void RewriteModernObjC::RewriteProperty(ObjCPropertyDecl *prop) {
 1139   for (auto *I : CatDecl->instance_properties())
 1163   for (auto *I : PDecl->instance_properties())
 1395     for (auto *I : ClassDecl->instance_properties())
 6354                                            ArrayRef<ObjCPropertyDecl *> Properties,
 6367       ObjCPropertyDecl *PropDecl = Properties[i];
 6408                                           ArrayRef<ObjCPropertyDecl *>Properties,
 6615                              ArrayRef<ObjCPropertyDecl *> ClassProperties) {
 6905   SmallVector<ObjCPropertyDecl *, 8> ProtocolProperties(
 7031     ObjCPropertyDecl *PD = Prop->getPropertyDecl();
 7073   SmallVector<ObjCPropertyDecl *, 8> ClassProperties(
 7281     ObjCPropertyDecl *PD = Prop->getPropertyDecl();
 7316   SmallVector<ObjCPropertyDecl *, 8> ClassProperties(
tools/clang/lib/Frontend/Rewrite/RewriteObjC.cpp
  283     void RewriteProperty(ObjCPropertyDecl *prop);
  784   ObjCPropertyDecl *PD = PID->getPropertyDecl();
  791     bool GenGetProperty = !(Attributes & ObjCPropertyDecl::OBJC_PR_nonatomic) &&
  792                           (Attributes & (ObjCPropertyDecl::OBJC_PR_retain |
  793                                          ObjCPropertyDecl::OBJC_PR_copy));
  851   bool GenSetProperty = Attributes & (ObjCPropertyDecl::OBJC_PR_retain |
  852                                       ObjCPropertyDecl::OBJC_PR_copy);
  871     if (Attributes & ObjCPropertyDecl::OBJC_PR_nonatomic)
  875     if (Attributes & ObjCPropertyDecl::OBJC_PR_copy)
  959 void RewriteObjC::RewriteProperty(ObjCPropertyDecl *prop) {
  972   for (auto *I : CatDecl->instance_properties())
  995   for (auto *I : PDecl->instance_properties())
 1215   for (auto *I : ClassDecl->instance_properties())
 5355     ObjCPropertyDecl *PD = Prop->getPropertyDecl();
 5633     ObjCPropertyDecl *PD = Prop->getPropertyDecl();
tools/clang/lib/Index/IndexBody.cpp
  302         if (const auto *PD = Getter->getCanonicalDecl()->findPropertyDecl()) {
tools/clang/lib/Index/IndexDecl.cpp
  126                         const ObjCPropertyDecl *AssociatedProp = nullptr) {
  500   bool VisitObjCPropertyDecl(const ObjCPropertyDecl *D) {
  516     ObjCPropertyDecl *PD = D->getPropertyDecl();
tools/clang/lib/Index/USRGeneration.cpp
   93   void VisitObjCPropertyDecl(const ObjCPropertyDecl *D);
  473 void USRGenerator::VisitObjCPropertyDecl(const ObjCPropertyDecl *D) {
  484   if (ObjCPropertyDecl *PD = D->getPropertyDecl()) {
tools/clang/lib/Sema/AnalysisBasedWarnings.cpp
 1468     else if (isa<ObjCPropertyDecl>(KeyProp))
 1479     if (const ObjCPropertyDecl *Prop = dyn_cast<ObjCPropertyDecl>(KeyProp))
 1479     if (const ObjCPropertyDecl *Prop = dyn_cast<ObjCPropertyDecl>(KeyProp))
tools/clang/lib/Sema/DelayedDiagnostic.cpp
   29                                     const ObjCPropertyDecl  *ObjCProperty,
tools/clang/lib/Sema/ScopeInfo.cpp
  131                                                 const ObjCPropertyDecl *Prop)
  150                                         const ObjCPropertyDecl *Prop) {
  197       if (const ObjCPropertyDecl *Prop = MD->findPropertyDecl()) {
tools/clang/lib/Sema/SemaChecking.cpp
13515       ObjCPropertyDecl *property = pre->getExplicitProperty();
13951     const ObjCPropertyDecl *PD = PRE->getExplicitProperty();
13976     const ObjCPropertyDecl *PD = PRE->getExplicitProperty();
13981     if (Attributes & ObjCPropertyDecl::OBJC_PR_assign) {
13986       if (!(AsWrittenAttr & ObjCPropertyDecl::OBJC_PR_assign) &&
13999     else if (Attributes & ObjCPropertyDecl::OBJC_PR_weak) {
tools/clang/lib/Sema/SemaCodeComplete.cpp
  895   else if (const auto *Property = dyn_cast<ObjCPropertyDecl>(ND))
  895   else if (const auto *Property = dyn_cast<ObjCPropertyDecl>(ND))
 1430          !isa<FunctionTemplateDecl>(ND) && !isa<ObjCPropertyDecl>(ND);
 1497          isa<ObjCPropertyDecl>(ND);
 2622   } else if (const auto *Property = dyn_cast<ObjCPropertyDecl>(ND)) {
 2622   } else if (const auto *Property = dyn_cast<ObjCPropertyDecl>(ND)) {
 2784     if (const auto *PD = cast<ObjCMethodDecl>(Param->getDeclContext())
 3541   const ObjCPropertyDecl *PDecl = M->findPropertyDecl();
 3558   const ObjCPropertyDecl *PDecl = M->findPropertyDecl();
 4567     for (const auto *P : Container->class_properties())
 4570     for (const auto *P : Container->instance_properties())
 7352     if (ObjCPropertyDecl *Property = Class->FindPropertyDeclaration(
 7540 static void AddObjCKeyValueCompletions(ObjCPropertyDecl *Property,
 8314         for (auto *P : Containers[I]->instance_properties())
tools/clang/lib/Sema/SemaDeclAttr.cpp
   73          isa<ObjCPropertyDecl>(D);
 1342   else if (const auto *PD = dyn_cast<ObjCPropertyDecl>(D)) {
 1342   else if (const auto *PD = dyn_cast<ObjCPropertyDecl>(D)) {
 2587   else if (const auto *PD = dyn_cast<ObjCPropertyDecl>(D)) {
 2587   else if (const auto *PD = dyn_cast<ObjCPropertyDecl>(D)) {
 2769     else if (isa<ObjCPropertyDecl>(D) || isa<ObjCMethodDecl>(D) ||
 4974   } else if (const auto *PD = dyn_cast<ObjCPropertyDecl>(D)) {
 4974   } else if (const auto *PD = dyn_cast<ObjCPropertyDecl>(D)) {
 5060       else if (isa<ObjCPropertyDecl>(D))
 5105     resultType = cast<ObjCPropertyDecl>(D)->getType();
 7458   if (!isa<FieldDecl>(D) && !isa<ObjCPropertyDecl>(D) &&
 7467   if ((isa<ObjCIvarDecl>(D) || isa<ObjCPropertyDecl>(D))) {
 7768   if (isa<ObjCPropertyDecl>(D))
 7802                                       const ObjCPropertyDecl *ObjCProperty,
 8110                                     const ObjCPropertyDecl *ObjCProperty,
 8503   const ObjCPropertyDecl *ObjCPDecl = nullptr;
 8505     if (const ObjCPropertyDecl *PD = MD->findPropertyDecl()) {
tools/clang/lib/Sema/SemaDeclObjC.cpp
 2965     const auto *P = PImpl->getPropertyDecl();
 3981       for (auto *I : CDecl->properties())
 3994         for (const auto *Property : Ext->instance_properties()) {
 4990                                      const ObjCPropertyDecl *&PDecl) const {
 5061     const ObjCPropertyDecl *PDecl;
tools/clang/lib/Sema/SemaExpr.cpp
  293   if (const ObjCPropertyDecl *ObjCPDecl = getReferencedObjCProp(D)) {
tools/clang/lib/Sema/SemaExprMember.cpp
  435     if (ObjCPropertyDecl *PD = PDecl->FindPropertyDeclaration(
  457       if (ObjCPropertyDecl *PD = I->FindPropertyDeclaration(
 1499         if (ObjCPropertyDecl *PD = dyn_cast<ObjCPropertyDecl>(PMDecl)) {
 1499         if (ObjCPropertyDecl *PD = dyn_cast<ObjCPropertyDecl>(PMDecl)) {
tools/clang/lib/Sema/SemaExprObjC.cpp
 1841   if (ObjCPropertyDecl *PD = IFace->FindPropertyDeclaration(
 1857     if (ObjCPropertyDecl *PD = I->FindPropertyDeclaration(
 1920       if (const ObjCPropertyDecl *PDecl = Setter->findPropertyDecl()) {
 1923         if (!(PDecl->getPropertyAttributes() & ObjCPropertyDecl::OBJC_PR_setter))
 1944   DeclFilterCCC<ObjCPropertyDecl> CCC{};
 1954       if (ChosenDecl && isa<ObjCPropertyDecl>(ChosenDecl))
 1955         if (cast<ObjCPropertyDecl>(ChosenDecl)->isClassProperty()) {
 3180       if (const ObjCPropertyDecl *Prop = Method->findPropertyDecl()) {
 3182           Prop->getPropertyAttributes() & ObjCPropertyDecl::OBJC_PR_weak;
 3990       if (ObjCPropertyDecl *PDecl = PRE->getExplicitProperty())
 4156           if (const ObjCPropertyDecl *PDecl =
tools/clang/lib/Sema/SemaLookup.cpp
 4614       if (ObjCPropertyDecl *Prop = Class->FindPropertyDeclaration(
tools/clang/lib/Sema/SemaObjCProperty.cpp
   39                                ObjCPropertyDecl::PropertyAttributeKind attrs,
   43   if (attrs & (ObjCPropertyDecl::OBJC_PR_retain |
   44                ObjCPropertyDecl::OBJC_PR_strong |
   45                ObjCPropertyDecl::OBJC_PR_copy)) {
   47   } else if (attrs & ObjCPropertyDecl::OBJC_PR_weak) {
   49   } else if (attrs & ObjCPropertyDecl::OBJC_PR_unsafe_unretained) {
   55   if (attrs & ObjCPropertyDecl::OBJC_PR_assign &&
   66                                            ObjCPropertyDecl *property) {
   69   ObjCPropertyDecl::PropertyAttributeKind propertyKind
   83     ObjCPropertyDecl::PropertyAttributeKind attr;
   85       attr = ObjCPropertyDecl::OBJC_PR_strong;
   87       attr = ObjCPropertyDecl::OBJC_PR_weak;
   90       attr = ObjCPropertyDecl::OBJC_PR_unsafe_unretained;
  109 CheckPropertyAgainstProtocol(Sema &S, ObjCPropertyDecl *Prop,
  119     if (ObjCPropertyDecl *ProtoProp = dyn_cast<ObjCPropertyDecl>(R[I])) {
  119     if (ObjCPropertyDecl *ProtoProp = dyn_cast<ObjCPropertyDecl>(R[I])) {
  156   (ObjCPropertyDecl::OBJC_PR_assign |
  157    ObjCPropertyDecl::OBJC_PR_retain |
  158    ObjCPropertyDecl::OBJC_PR_copy   |
  159    ObjCPropertyDecl::OBJC_PR_weak   |
  160    ObjCPropertyDecl::OBJC_PR_strong |
  161    ObjCPropertyDecl::OBJC_PR_unsafe_unretained);
  168   if (result & (ObjCPropertyDecl::OBJC_PR_assign |
  169                 ObjCPropertyDecl::OBJC_PR_unsafe_unretained)) {
  170     result |= ObjCPropertyDecl::OBJC_PR_assign |
  171               ObjCPropertyDecl::OBJC_PR_unsafe_unretained;
  198   ObjCPropertyDecl *Res = nullptr;
  240         if (ObjCPropertyDecl *SuperProp = dyn_cast<ObjCPropertyDecl>(R[I])) {
  240         if (ObjCPropertyDecl *SuperProp = dyn_cast<ObjCPropertyDecl>(R[I])) {
  280 static ObjCPropertyDecl::PropertyAttributeKind
  284     attributesAsWritten |= ObjCPropertyDecl::OBJC_PR_readonly;
  286     attributesAsWritten |= ObjCPropertyDecl::OBJC_PR_readwrite;
  288     attributesAsWritten |= ObjCPropertyDecl::OBJC_PR_getter;
  290     attributesAsWritten |= ObjCPropertyDecl::OBJC_PR_setter;
  292     attributesAsWritten |= ObjCPropertyDecl::OBJC_PR_assign;
  294     attributesAsWritten |= ObjCPropertyDecl::OBJC_PR_retain;
  296     attributesAsWritten |= ObjCPropertyDecl::OBJC_PR_strong;
  298     attributesAsWritten |= ObjCPropertyDecl::OBJC_PR_weak;
  300     attributesAsWritten |= ObjCPropertyDecl::OBJC_PR_copy;
  302     attributesAsWritten |= ObjCPropertyDecl::OBJC_PR_unsafe_unretained;
  304     attributesAsWritten |= ObjCPropertyDecl::OBJC_PR_nonatomic;
  306     attributesAsWritten |= ObjCPropertyDecl::OBJC_PR_atomic;
  308     attributesAsWritten |= ObjCPropertyDecl::OBJC_PR_class;
  344                                         ObjCPropertyDecl *OldProperty,
  345                                         ObjCPropertyDecl *NewProperty,
  349     (OldProperty->getPropertyAttributes() & ObjCPropertyDecl::OBJC_PR_nonatomic)
  352     (NewProperty->getPropertyAttributes() & ObjCPropertyDecl::OBJC_PR_nonatomic)
  361     if ((Attrs & ObjCPropertyDecl::OBJC_PR_readonly) == 0) return false;
  364     if (Attrs & ObjCPropertyDecl::OBJC_PR_nonatomic) return false;
  368           ObjCPropertyDecl::OBJC_PR_atomic)
  377     (ObjCPropertyDecl::OBJC_PR_atomic | ObjCPropertyDecl::OBJC_PR_nonatomic);
  377     (ObjCPropertyDecl::OBJC_PR_atomic | ObjCPropertyDecl::OBJC_PR_nonatomic);
  383       Attrs |= ObjCPropertyDecl::OBJC_PR_atomic;
  385       Attrs |= ObjCPropertyDecl::OBJC_PR_nonatomic;
  411 ObjCPropertyDecl *
  444   ObjCPropertyDecl *PIDecl = CCPrimary->FindPropertyVisibleInPrimaryClass(
  445       PropertyId, ObjCPropertyDecl::getQueryKind(isClassProperty));
  467            ObjCPropertyDecl::OBJC_PR_readwrite)
  506     if ((Attributes & ObjCPropertyDecl::OBJC_PR_weak) &&
  508             & ObjCPropertyDecl::OBJC_PR_weak) &&
  518   ObjCPropertyDecl *PDecl = CreatePropertyDecl(S, CDecl, AtLoc, LParenLoc,
  564 ObjCPropertyDecl *Sema::CreatePropertyDecl(Scope *S,
  621   ObjCPropertyDecl *PDecl = ObjCPropertyDecl::Create(Context, DC,
  621   ObjCPropertyDecl *PDecl = ObjCPropertyDecl::Create(Context, DC,
  629   if (ObjCPropertyDecl *prevDecl = ObjCPropertyDecl::findPropertyDecl(
  629   if (ObjCPropertyDecl *prevDecl = ObjCPropertyDecl::findPropertyDecl(
  630           DC, PropertyId, ObjCPropertyDecl::getQueryKind(isClassProperty))) {
  656     PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_readonly);
  659     PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_getter);
  662     PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_setter);
  665     PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_readwrite);
  668     PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_retain);
  671     PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_strong);
  674     PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_weak);
  677     PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_copy);
  680     PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_unsafe_unretained);
  683     PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_assign);
  687     PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_nonatomic);
  689     PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_atomic);
  693     PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_assign);
  695     PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_unsafe_unretained);
  698     PDecl->setPropertyImplementation(ObjCPropertyDecl::Required);
  700     PDecl->setPropertyImplementation(ObjCPropertyDecl::Optional);
  703     PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_nullability);
  706     PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_null_resettable);
  709     PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_class);
  715                                  ObjCPropertyDecl *property,
  773            & ObjCPropertyDecl::OBJC_PR_assign) != 0);
  795               ObjCPropertyDecl *property, ObjCIvarDecl *ivar) {
  804     property->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_strong);
  811     property->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_strong);
  813     property->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_weak);
  818                                 ObjCPropertyDecl::PropertyAttributeKind Kind) {
  832 static ObjCPropertyDecl *
  835                                         ObjCPropertyDecl *Property) {
  859   ObjCPropertyDecl *OriginalProperty = Property;
  885     const ObjCPropertyDecl *Prop;
  890   for (ObjCPropertyDecl *Prop : Properties) {
  901       bool HasOwnership = (Attr & (ObjCPropertyDecl::OBJC_PR_retain |
  902                                    ObjCPropertyDecl::OBJC_PR_strong |
  903                                    ObjCPropertyDecl::OBJC_PR_copy |
  904                                    ObjCPropertyDecl::OBJC_PR_assign |
  905                                    ObjCPropertyDecl::OBJC_PR_unsafe_unretained |
  906                                    ObjCPropertyDecl::OBJC_PR_weak)) != 0;
  909                                           ObjCPropertyDecl::OBJC_PR_copy)) {
  910         Diag(OriginalAttributes & ObjCPropertyDecl::OBJC_PR_copy, "copy");
  915                               ObjCPropertyDecl::OBJC_PR_retain |
  916                                   ObjCPropertyDecl::OBJC_PR_strong)) {
  917         Diag(OriginalAttributes & (ObjCPropertyDecl::OBJC_PR_retain |
  918                                    ObjCPropertyDecl::OBJC_PR_strong),
  923                                           ObjCPropertyDecl::OBJC_PR_atomic)) {
  924         Diag(OriginalAttributes & ObjCPropertyDecl::OBJC_PR_atomic, "atomic");
 1008 static bool hasWrittenStorageAttribute(ObjCPropertyDecl *Prop,
 1026     if (ObjCPropertyDecl *OrigProp = dyn_cast<ObjCPropertyDecl>(Found))
 1026     if (ObjCPropertyDecl *OrigProp = dyn_cast<ObjCPropertyDecl>(Found))
 1032     if (ObjCPropertyDecl *OrigProp = Proto->FindPropertyDeclaration(
 1064   ObjCPropertyDecl *property = nullptr;
 1088     if ((PIkind & (ObjCPropertyDecl::OBJC_PR_atomic |
 1089                    ObjCPropertyDecl::OBJC_PR_nonatomic) ) == 0) {
 1106         (PIkind & ObjCPropertyDecl::OBJC_PR_readonly) &&
 1115           if (ObjCPropertyDecl *ExtProp = dyn_cast<ObjCPropertyDecl>(R[0])) {
 1115           if (ObjCPropertyDecl *ExtProp = dyn_cast<ObjCPropertyDecl>(R[0])) {
 1117             if (PIkind & ObjCPropertyDecl::OBJC_PR_readwrite) {
 1194          ObjCPropertyDecl::OBJC_PR_readonly) &&
 1199     ObjCPropertyDecl::PropertyAttributeKind kind
 1203     if (kind & ObjCPropertyDecl::OBJC_PR_weak) {
 1274             !(kind & ObjCPropertyDecl::OBJC_PR_strong)) {
 1489           ObjCPropertyDecl::OBJC_PR_atomic) {
 1576 Sema::DiagnosePropertyMismatch(ObjCPropertyDecl *Property,
 1577                                ObjCPropertyDecl *SuperProperty,
 1580   ObjCPropertyDecl::PropertyAttributeKind CAttr =
 1582   ObjCPropertyDecl::PropertyAttributeKind SAttr =
 1592     if ((CAttr & ObjCPropertyDecl::OBJC_PR_readonly)
 1593         && (SAttr & ObjCPropertyDecl::OBJC_PR_readwrite))
 1596     if ((CAttr & ObjCPropertyDecl::OBJC_PR_copy)
 1597         != (SAttr & ObjCPropertyDecl::OBJC_PR_copy))
 1600     else if (!(SAttr & ObjCPropertyDecl::OBJC_PR_readonly)){
 1603          (ObjCPropertyDecl::OBJC_PR_retain | ObjCPropertyDecl::OBJC_PR_strong));
 1603          (ObjCPropertyDecl::OBJC_PR_retain | ObjCPropertyDecl::OBJC_PR_strong));
 1606          (ObjCPropertyDecl::OBJC_PR_retain | ObjCPropertyDecl::OBJC_PR_strong));
 1606          (ObjCPropertyDecl::OBJC_PR_retain | ObjCPropertyDecl::OBJC_PR_strong));
 1654 bool Sema::DiagnosePropertyAccessorMismatch(ObjCPropertyDecl *property,
 1706     for (auto *Prop : IDecl->properties()) {
 1726     for (auto *Prop : CATDecl->properties()) {
 1740     for (auto *Prop : PDecl->properties()) {
 1743       ObjCPropertyDecl *PropertyFromSuper =
 1750         ObjCPropertyDecl *&PropEntry =
 1793   for (const auto *Property : IFace->instance_properties()) {
 1802     for (const auto *Property : Ext->instance_properties())
 1811                                          ObjCPropertyDecl *Prop) {
 1814   if (Prop->getPropertyAttributes() & ObjCPropertyDecl::OBJC_PR_readonly)
 1845     ObjCPropertyDecl *Prop = PropertyOrder[i];
 1849         Prop->getPropertyImplementation() == ObjCPropertyDecl::Optional)
 1856       if (Prop->getPropertyAttributes() & ObjCPropertyDecl::OBJC_PR_readonly)
 1869     ObjCPropertyDecl *PropInSuperClass =
 1892       if ((Prop->getPropertyAttributes() & ObjCPropertyDecl::OBJC_PR_readwrite) &&
 1894            ObjCPropertyDecl::OBJC_PR_readonly) &&
 1941     ObjCPropertyDecl *Prop,
 2028       for (auto *PropDecl : PDecl->properties()) {
 2041   llvm::DenseSet<ObjCPropertyDecl *> PropImplMap;
 2065     ObjCPropertyDecl *Prop = P->second;
 2068         Prop->getPropertyImplementation() == ObjCPropertyDecl::Optional ||
 2085     const auto *property = propertyImpl->getPropertyDecl();
 2092          ObjCPropertyDecl::OBJC_PR_null_resettable) &&
 2117   for (auto *Prop : IDecl->properties())
 2120     for (auto *Prop : Ext->properties())
 2125     const ObjCPropertyDecl *Property = I->second;
 2133     if (!(AttributesAsWritten & ObjCPropertyDecl::OBJC_PR_atomic) &&
 2134         !(AttributesAsWritten & ObjCPropertyDecl::OBJC_PR_nonatomic)) {
 2157     if ((Attributes & ObjCPropertyDecl::OBJC_PR_nonatomic) ||
 2158         !(Attributes & ObjCPropertyDecl::OBJC_PR_readwrite))
 2181             !(AttributesAsWritten & ObjCPropertyDecl::OBJC_PR_atomic)) {
 2211     const ObjCPropertyDecl *PD = PID->getPropertyDecl();
 2308                              ObjCPropertyDecl *Property) {
 2322 void Sema::ProcessPropertyDecl(ObjCPropertyDecl *property) {
 2390         ObjCPropertyDecl::OBJC_PR_null_resettable) {
 2406                               ObjCPropertyDecl::Optional) ?
 2453                                 ObjCPropertyDecl::Optional) ?
 2464           ObjCPropertyDecl::OBJC_PR_null_resettable) {
 2551   ObjCPropertyDecl *PropertyDecl = cast<ObjCPropertyDecl>(PDecl);
 2551   ObjCPropertyDecl *PropertyDecl = cast<ObjCPropertyDecl>(PDecl);
 2676       PropertyDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_strong);
tools/clang/lib/Sema/SemaPseudoObject.cpp
  592     const ObjCPropertyDecl *Prop = RefExpr->getExplicitProperty();
  593     if (Prop->getPropertyAttributes() & ObjCPropertyDecl::OBJC_PR_weak)
  629   ObjCPropertyDecl *prop = RefExpr->getExplicitProperty();
  658   ObjCPropertyDecl *prop = RefExpr->getExplicitProperty();
  674         if (ObjCPropertyDecl *prop1 = IFace->FindPropertyDeclaration(
  699     if (ObjCPropertyDecl *prop = RefExpr->getExplicitProperty()) {
tools/clang/lib/Serialization/ASTReaderDecl.cpp
  144     T *ReadDeclAs() {
  145       return Record.readDeclAs<T>();
  445     void VisitObjCPropertyDecl(ObjCPropertyDecl *D);
 1263 void ASTDeclReader::VisitObjCPropertyDecl(ObjCPropertyDecl *D) {
 1313   D->setPropertyDecl(ReadDeclAs<ObjCPropertyDecl>());
 3807     D = ObjCPropertyDecl::CreateDeserialized(Context, ID);
tools/clang/lib/Serialization/ASTReaderStmt.cpp
   95     T *ReadDeclAs() {
   96       return Record.readDeclAs<T>();
 1249     E->setExplicitProperty(ReadDeclAs<ObjCPropertyDecl>(), MethodRefFlags);
tools/clang/lib/Serialization/ASTWriterDecl.cpp
  145     void VisitObjCPropertyDecl(ObjCPropertyDecl *D);
  833 void ASTDeclWriter::VisitObjCPropertyDecl(ObjCPropertyDecl *D) {
tools/clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp
   70                                             const ObjCPropertyDecl **PD) {
  163   const ObjCPropertyDecl *
  563     const ObjCPropertyDecl *PropDecl = PropImpl->getPropertyDecl();
  571     if (PropDecl->getSetterKind() == ObjCPropertyDecl::Retain)
  662   const ObjCPropertyDecl *PropDecl = findShadowedPropertyDecl(PropImpl);
  693     if (PropDecl->getSetterKind() == ObjCPropertyDecl::Weak)
  804 const ObjCPropertyDecl *ObjCDeallocChecker::findShadowedPropertyDecl(
  806   const ObjCPropertyDecl *PropDecl = PropImpl->getPropertyDecl();
  821     auto *ShadowedPropDecl = dyn_cast<ObjCPropertyDecl>(*I);
  821     auto *ShadowedPropDecl = dyn_cast<ObjCPropertyDecl>(*I);
  888   const ObjCPropertyDecl *PropDecl;
  892   ObjCPropertyDecl::SetterKind SK = PropDecl->getSetterKind();
  897   case ObjCPropertyDecl::Retain:
  898   case ObjCPropertyDecl::Copy:
  907   case ObjCPropertyDecl::Weak:
  910   case ObjCPropertyDecl::Assign:
  945   const ObjCPropertyDecl *Prop = M.getAccessedProperty();
tools/clang/lib/StaticAnalyzer/Checkers/DirectIvarAssignment.cpp
   55                          const ObjCPropertyDecl*> IvarToPropertyMapTy;
   94 static const ObjCIvarDecl *findPropertyBackingIvar(const ObjCPropertyDecl *PD,
  125   for (const auto *PD : InterD->instance_properties()) {
  178       const ObjCPropertyDecl *PD = I->second;
tools/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
   59   typedef llvm::DenseMap<const ObjCPropertyDecl*,
   62                          const ObjCPropertyDecl*> IvarToPropMapTy;
  192       const ObjCPropertyDecl *Prop,
  300                         const ObjCPropertyDecl *Prop,
  348     const ObjCPropertyDecl *PD = IvarToPopertyMap.lookup(IvarDecl);
  387     const ObjCPropertyDecl *PD = I->second;
  397     PD = cast<ObjCPropertyDecl>(PD->getCanonicalDecl());
  619     const ObjCPropertyDecl *PD = PA->getExplicitProperty();
  621       PD = cast<ObjCPropertyDecl>(PD->getCanonicalDecl());
tools/clang/lib/StaticAnalyzer/Checkers/ObjCPropertyChecker.cpp
   26     : public Checker<check::ASTDecl<ObjCPropertyDecl>> {
   27   void checkCopyMutable(const ObjCPropertyDecl *D, BugReporter &BR) const;
   30   void checkASTDecl(const ObjCPropertyDecl *D, AnalysisManager &Mgr,
   35 void ObjCPropertyChecker::checkASTDecl(const ObjCPropertyDecl *D,
   41 void ObjCPropertyChecker::checkCopyMutable(const ObjCPropertyDecl *D,
   43   if (D->isReadOnly() || D->getSetterKind() != ObjCPropertyDecl::Copy)
tools/clang/lib/StaticAnalyzer/Core/CallEvent.cpp
  950   if (const ObjCPropertyDecl *PropDecl = getAccessedProperty()) {
 1081 const ObjCPropertyDecl *ObjCMethodCall::getAccessedProperty() const {
tools/clang/tools/extra/clang-tidy/objc/PropertyDeclarationCheck.cpp
   41 FixItHint generateFixItHint(const ObjCPropertyDecl *Decl, NamingStyle Style) {
  113   const auto *MatchedDecl =
  114       Result.Nodes.getNodeAs<ObjCPropertyDecl>("property");
tools/clang/tools/libclang/CIndex.cpp
 1098 bool CursorVisitor::VisitObjCPropertyDecl(ObjCPropertyDecl *PD) {
 1114   ObjCPropertyDecl *prevDecl =
 1115     ObjCPropertyDecl::findPropertyDecl(cast<DeclContext>(ID), PropertyId,
 4458       if (ObjCPropertyDecl *Property = PropImpl->getPropertyDecl())
 6136       if (ObjCPropertyDecl *Property = PropImpl->getPropertyDecl())
 7101       if (const ObjCPropertyDecl *Property
 7102                   = dyn_cast_or_null<ObjCPropertyDecl>(getCursorDecl(cursor)))
 7601         if (const ObjCPropertyDecl *Property
 7602             = dyn_cast_or_null<ObjCPropertyDecl>(getCursorDecl(Cursors[I]))) {
 8098   const ObjCPropertyDecl *PD = dyn_cast<ObjCPropertyDecl>(getCursorDecl(C));
 8098   const ObjCPropertyDecl *PD = dyn_cast<ObjCPropertyDecl>(getCursorDecl(C));
 8099   ObjCPropertyDecl::PropertyAttributeKind Attr =
 8127   const ObjCPropertyDecl *PD = dyn_cast<ObjCPropertyDecl>(getCursorDecl(C));
 8127   const ObjCPropertyDecl *PD = dyn_cast<ObjCPropertyDecl>(getCursorDecl(C));
 8139   const ObjCPropertyDecl *PD = dyn_cast<ObjCPropertyDecl>(getCursorDecl(C));
 8139   const ObjCPropertyDecl *PD = dyn_cast<ObjCPropertyDecl>(getCursorDecl(C));
 8176   if (const ObjCPropertyDecl *PD = dyn_cast<ObjCPropertyDecl>(D))
 8176   if (const ObjCPropertyDecl *PD = dyn_cast<ObjCPropertyDecl>(D))
 8177     return PD->getPropertyImplementation() == ObjCPropertyDecl::Optional;
tools/clang/tools/libclang/CXIndexDataConsumer.cpp
  101   bool VisitObjCPropertyDecl(const ObjCPropertyDecl *D) {
  822   ObjCPropertyDecl *PD = D->getPropertyDecl();
  836 bool CXIndexDataConsumer::handleObjCProperty(const ObjCPropertyDecl *D) {
tools/clang/tools/libclang/CXIndexDataConsumer.h
  405   bool handleObjCProperty(const ObjCPropertyDecl *D);
tools/clang/tools/libclang/CXType.cpp
  241     if (const ObjCPropertyDecl *PD = dyn_cast<ObjCPropertyDecl>(D))
  241     if (const ObjCPropertyDecl *PD = dyn_cast<ObjCPropertyDecl>(D))
 1107   } else if (const ObjCPropertyDecl *OPD = dyn_cast<ObjCPropertyDecl>(D))
 1107   } else if (const ObjCPropertyDecl *OPD = dyn_cast<ObjCPropertyDecl>(D))
tools/clang/tools/libclang/CursorVisitor.h
  225   bool VisitObjCPropertyDecl(ObjCPropertyDecl *PD);
tools/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
 1019   TaggedASTDecl(D *_decl) : decl(_decl) {}
 1022   D *operator->() const { return decl; }
 1023   D *decl;
 1034 template <class D> class DeclFromParser : public TaggedASTDecl<D> {
 1037   DeclFromParser(D *_decl) : TaggedASTDecl<D>(_decl) {}
 1039   DeclFromUser<D> GetOrigin(ClangASTSource &source);
 1042 template <class D> class DeclFromUser : public TaggedASTDecl<D> {
 1045   DeclFromUser(D *_decl) : TaggedASTDecl<D>(_decl) {}
 1047   DeclFromParser<D> Import(ClangASTSource &source);
 1064   return DeclFromParser<D>(dyn_cast<D>(parser_generic_decl.decl));
 1469   DeclFromUser<ObjCPropertyDecl> origin_property_decl(
 1476     DeclFromParser<ObjCPropertyDecl> parser_property_decl(
tools/lldb/source/Symbol/ClangASTContext.cpp
 8403       clang::ObjCPropertyDecl *property_decl = clang::ObjCPropertyDecl::Create(
 8403       clang::ObjCPropertyDecl *property_decl = clang::ObjCPropertyDecl::Create(
 8437             clang::ObjCPropertyDecl::OBJC_PR_setter);
 8450             clang::ObjCPropertyDecl::OBJC_PR_getter);
 8457               clang::ObjCPropertyDecl::OBJC_PR_readonly);
 8460               clang::ObjCPropertyDecl::OBJC_PR_readwrite);
 8463               clang::ObjCPropertyDecl::OBJC_PR_assign);
 8466               clang::ObjCPropertyDecl::OBJC_PR_retain);
 8469               clang::ObjCPropertyDecl::OBJC_PR_copy);
 8472               clang::ObjCPropertyDecl::OBJC_PR_nonatomic);
 8473         if (property_attributes & clang::ObjCPropertyDecl::OBJC_PR_nullability)
 8475               clang::ObjCPropertyDecl::OBJC_PR_nullability);
 8477             clang::ObjCPropertyDecl::OBJC_PR_null_resettable)
 8479               clang::ObjCPropertyDecl::OBJC_PR_null_resettable);
 8480         if (property_attributes & clang::ObjCPropertyDecl::OBJC_PR_class)
 8482               clang::ObjCPropertyDecl::OBJC_PR_class);
 8485             (property_attributes & clang::ObjCPropertyDecl::OBJC_PR_class) == 0;
usr/include/c++/7.4.0/type_traits
  215     : public __is_void_helper<typename remove_cv<_Tp>::type>::type
  581     : public __or_<is_lvalue_reference<_Tp>,
  582                    is_rvalue_reference<_Tp>>::type
  601     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
  601     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
  602                           is_void<_Tp>>>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
 1554     { typedef _Tp     type; };
 1558     { typedef _Tp     type; };
 1563     { typedef _Tp     type; };
 1574       remove_const<typename remove_volatile<_Tp>::type>::type     type;
 1580     { typedef _Tp const     type; };
 1629     { typedef _Tp   type; };
 1983     { typedef _Up     type; };
 1999     { typedef typename remove_reference<_Tp>::type*     type; };
 2003     : public __add_pointer_helper<_Tp>