A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://clang.llvm.org/doxygen/SemaObjCProperty_8cpp.html below:

clang: lib/Sema/SemaObjCProperty.cpp File Reference

Go to the source code of this file.

static Qualifiers::ObjCLifetime  getImpliedARCOwnership (ObjCPropertyAttribute::Kind attrs, QualType type)   getImpliedARCOwnership - Given a set of property attributes and a type, infer an expected lifetime.
  static void  checkPropertyDeclWithOwnership (Sema &S, ObjCPropertyDecl *property)   Check the internal consistency of a property declaration with an explicit ownership qualifier.
  static void  CheckPropertyAgainstProtocol (Sema &S, ObjCPropertyDecl *Prop, ObjCProtocolDecl *Proto, llvm::SmallPtrSetImpl< ObjCProtocolDecl * > &Known)   Check this Objective-C property against a property declared in the given protocol.
  static unsigned  deducePropertyOwnershipFromType (Sema &S, QualType T)   static unsigned  getOwnershipRule (unsigned attr)   static ObjCPropertyAttribute::Kind  makePropertyAttributesAsWritten (unsigned Attributes)   static bool  LocPropertyAttribute (ASTContext &Context, const char *attrName, SourceLocation LParenLoc, SourceLocation &Loc)   static void  checkAtomicPropertyMismatch (Sema &S, ObjCPropertyDecl *OldProperty, ObjCPropertyDecl *NewProperty, bool PropagateAtomicity)   Check for a mismatch in the atomicity of the given properties.
  static void  checkARCPropertyImpl (Sema &S, SourceLocation propertyImplLoc, ObjCPropertyDecl *property, ObjCIvarDecl *ivar)   static void  setImpliedPropertyAttributeForReadOnlyProperty (ObjCPropertyDecl *property, ObjCIvarDecl *ivar)   setImpliedPropertyAttributeForReadOnlyProperty - This routine evaludates life-time attributes for a 'readonly' property with no known lifetime of its own, using backing 'ivar's attribute, if any.
  static bool  isIncompatiblePropertyAttribute (unsigned Attr1, unsigned Attr2, ObjCPropertyAttribute::Kind Kind)   static bool  areIncompatiblePropertyAttributes (unsigned Attr1, unsigned Attr2, unsigned Kinds)   static ObjCPropertyDeclSelectPropertyForSynthesisFromProtocols (Sema &S, SourceLocation AtLoc, ObjCInterfaceDecl *ClassDecl, ObjCPropertyDecl *Property)   SelectPropertyForSynthesisFromProtocols - Finds the most appropriate property declaration that should be synthesised in all of the inherited protocols.
  static bool  hasWrittenStorageAttribute (ObjCPropertyDecl *Prop, ObjCPropertyQueryKind QueryKind)   Determine whether any storage attributes were written on the property.
  static ObjCMethodDeclRedeclarePropertyAccessor (ASTContext &Context, ObjCImplementationDecl *Impl, ObjCMethodDecl *AccessorDecl, SourceLocation AtLoc, SourceLocation PropertyLoc)   Create a synthesized property accessor stub inside the @implementation.
  static void  CollectImmediateProperties (ObjCContainerDecl *CDecl, ObjCContainerDecl::PropertyMap &PropMap, ObjCContainerDecl::PropertyMap &SuperPropMap, bool CollectClassPropsOnly=false, bool IncludeProtocols=true)   CollectImmediateProperties - This routine collects all properties in the class and its conforming protocols; but not those in its super class.
  static void  CollectSuperClassPropertyImplementations (ObjCInterfaceDecl *CDecl, ObjCInterfaceDecl::PropertyMap &PropMap)   CollectSuperClassPropertyImplementations - This routine collects list of properties to be implemented in super class(s) and also coming from their conforming protocols.
  static bool  SuperClassImplementsProperty (ObjCInterfaceDecl *IDecl, ObjCPropertyDecl *Prop)   static void  DiagnoseUnimplementedAccessor (Sema &S, ObjCInterfaceDecl *PrimaryClass, Selector Method, ObjCImplDecl *IMPDecl, ObjCContainerDecl *CDecl, ObjCCategoryDecl *C, ObjCPropertyDecl *Prop, llvm::SmallPtrSet< const ObjCMethodDecl *, 8 > &SMap)   static void  AddPropertyAttrs (Sema &S, ObjCMethodDecl *PropertyMethod, ObjCPropertyDecl *Property)   AddPropertyAttrs - Propagates attributes from a property to the implicitly-declared getter or setter for that property.
  ◆ AddPropertyAttrs() ◆ areIncompatiblePropertyAttributes() ◆ checkARCPropertyImpl()

Definition at line 704 of file SemaObjCProperty.cpp.

References clang::Sema::Context, clang::SemaBase::Diag(), clang::ObjCIvarDecl::getAccessControl(), clang::NamedDecl::getDeclName(), getImpliedARCOwnership(), clang::Sema::getLangOpts(), clang::Decl::getLocation(), clang::QualType::getObjCLifetime(), clang::ObjCPropertyDecl::getPropertyAttributes(), clang::ASTContext::getQualifiedType(), clang::ValueDecl::getType(), clang::ObjCPropertyDecl::getType(), clang::Qualifiers::hasObjCLifetime(), clang::Decl::isInvalidDecl(), clang::Type::isObjCARCImplicitlyUnretainedType(), clang::SourceLocation::isValid(), clang::ObjCPropertyAttribute::kind_assign, clang::Qualifiers::OCL_Autoreleasing, clang::Qualifiers::OCL_ExplicitNone, clang::Qualifiers::OCL_None, clang::Qualifiers::OCL_Strong, clang::Qualifiers::OCL_Weak, clang::ObjCIvarDecl::Private, clang::SplitQualType::Quals, clang::Qualifiers::setObjCLifetime(), clang::ValueDecl::setType(), and clang::QualType::split().

Referenced by clang::SemaObjC::ActOnPropertyImplDecl().

◆ checkAtomicPropertyMismatch()

Check for a mismatch in the atomicity of the given properties.

Definition at line 334 of file SemaObjCProperty.cpp.

References Category, clang::SemaBase::Diag(), clang::Decl::getDeclContext(), clang::NamedDecl::getDeclName(), clang::Decl::getLocation(), clang::ObjCPropertyDecl::getPropertyAttributes(), clang::ObjCPropertyDecl::getPropertyAttributesAsWritten(), clang::ObjCPropertyAttribute::kind_atomic, clang::ObjCPropertyAttribute::kind_nonatomic, clang::ObjCPropertyAttribute::kind_readonly, clang::ObjCPropertyDecl::overwritePropertyAttributes(), and clang::Property.

Referenced by clang::SemaObjC::DiagnosePropertyMismatch(), and clang::SemaObjC::HandlePropertyInClassExtension().

◆ CheckPropertyAgainstProtocol() ◆ checkPropertyDeclWithOwnership()

Check the internal consistency of a property declaration with an explicit ownership qualifier.

Definition at line 63 of file SemaObjCProperty.cpp.

References clang::ast_matchers::attr, clang::SemaBase::Diag(), getImpliedARCOwnership(), clang::Decl::getLocation(), clang::ObjCPropertyDecl::getType(), clang::Decl::isInvalidDecl(), clang::ObjCPropertyAttribute::kind_strong, clang::ObjCPropertyAttribute::kind_unsafe_unretained, clang::ObjCPropertyAttribute::kind_weak, clang::Qualifiers::OCL_ExplicitNone, clang::Qualifiers::OCL_None, clang::Qualifiers::OCL_Strong, and clang::Qualifiers::OCL_Weak.

Referenced by clang::SemaObjC::ActOnProperty().

◆ CollectImmediateProperties() ◆ CollectSuperClassPropertyImplementations() static void CollectSuperClassPropertyImplementations ( ObjCInterfaceDeclCDecl, ObjCInterfaceDecl::PropertyMap &  PropMap  ) static ◆ deducePropertyOwnershipFromType() ◆ DiagnoseUnimplementedAccessor()

Definition at line 1972 of file SemaObjCProperty.cpp.

References clang::C, clang::SemaBase::Diag(), clang::NamedDecl::getDeclName(), clang::Decl::getLocation(), clang::ObjCMethodDecl::getSelector(), clang::ObjCMethodDecl::isClassMethod(), clang::ObjCPropertyDecl::isClassProperty(), clang::ObjCRuntime::isNonFragile(), clang::Sema::LangOpts, clang::ObjCInterfaceDecl::lookupPropertyAccessor(), and clang::LangOptions::ObjCRuntime.

Referenced by clang::SemaObjC::DiagnoseUnimplementedProperties().

◆ getImpliedARCOwnership()

getImpliedARCOwnership - Given a set of property attributes and a type, infer an expected lifetime.

The type's ownership qualification is not considered.

Returns OCL_None if the attributes as stated do not imply an ownership. Never returns OCL_Autoreleasing.

Definition at line 38 of file SemaObjCProperty.cpp.

References clang::ObjCPropertyAttribute::kind_assign, clang::ObjCPropertyAttribute::kind_copy, clang::ObjCPropertyAttribute::kind_retain, clang::ObjCPropertyAttribute::kind_strong, clang::ObjCPropertyAttribute::kind_unsafe_unretained, clang::ObjCPropertyAttribute::kind_weak, clang::Qualifiers::OCL_ExplicitNone, clang::Qualifiers::OCL_None, clang::Qualifiers::OCL_Strong, clang::Qualifiers::OCL_Weak, and clang::ast_matchers::type.

Referenced by clang::SemaObjC::ActOnPropertyImplDecl(), checkARCPropertyImpl(), checkPropertyDeclWithOwnership(), and setImpliedPropertyAttributeForReadOnlyProperty().

◆ getOwnershipRule() ◆ hasWrittenStorageAttribute() ◆ isIncompatiblePropertyAttribute() ◆ LocPropertyAttribute() ◆ makePropertyAttributesAsWritten()

Definition at line 270 of file SemaObjCProperty.cpp.

References clang::ObjCPropertyAttribute::kind_assign, clang::ObjCPropertyAttribute::kind_atomic, clang::ObjCPropertyAttribute::kind_class, clang::ObjCPropertyAttribute::kind_copy, clang::ObjCPropertyAttribute::kind_direct, clang::ObjCPropertyAttribute::kind_getter, clang::ObjCPropertyAttribute::kind_nonatomic, clang::ObjCPropertyAttribute::kind_readonly, clang::ObjCPropertyAttribute::kind_readwrite, clang::ObjCPropertyAttribute::kind_retain, clang::ObjCPropertyAttribute::kind_setter, clang::ObjCPropertyAttribute::kind_strong, clang::ObjCPropertyAttribute::kind_unsafe_unretained, and clang::ObjCPropertyAttribute::kind_weak.

Referenced by clang::SemaObjC::CreatePropertyDecl().

◆ RedeclarePropertyAccessor()

Create a synthesized property accessor stub inside the @implementation.

Definition at line 1031 of file SemaObjCProperty.cpp.

References clang::ObjCMethodDecl::Create(), clang::Decl::getAttrs(), clang::Decl::getBeginLoc(), clang::Decl::getEndLoc(), clang::ObjCMethodDecl::getMethodFamily(), clang::Decl::hasAttrs(), clang::Decl::isImplicit(), clang::SourceLocation::isValid(), clang::Decl::setAttrs(), clang::ObjCMethodDecl::setCmdDecl(), clang::ObjCMethodDecl::setDefined(), clang::Decl::setLexicalDeclContext(), clang::ObjCMethodDecl::setMethodParams(), and clang::ObjCMethodDecl::setSelfDecl().

Referenced by clang::SemaObjC::ActOnPropertyImplDecl().

◆ SelectPropertyForSynthesisFromProtocols()

SelectPropertyForSynthesisFromProtocols - Finds the most appropriate property declaration that should be synthesised in all of the inherited protocols.

It also diagnoses properties declared in inherited protocols with mismatched types or attributes, since any of them can be candidate for synthesis.

Definition at line 821 of file SemaObjCProperty.cpp.

References clang::ObjCInterfaceDecl::all_referenced_protocols(), areIncompatiblePropertyAttributes(), clang::Sema::Context, Diag(), clang::SemaBase::Diag(), clang::ASTContext::getCanonicalType(), clang::ObjCProtocolDecl::getDefinition(), clang::ObjCInterfaceDecl::getSuperClass(), isIncompatiblePropertyAttribute(), clang::Sema::isObjCPointerConversion(), clang::SourceLocation::isValid(), Kind, clang::ObjCPropertyAttribute::kind_assign, clang::ObjCPropertyAttribute::kind_atomic, clang::ObjCPropertyAttribute::kind_copy, clang::ObjCPropertyAttribute::kind_retain, clang::ObjCPropertyAttribute::kind_strong, clang::ObjCPropertyAttribute::kind_unsafe_unretained, clang::ObjCPropertyAttribute::kind_weak, clang::Note, clang::Property, clang::ASTContext::propertyTypesAreCompatible(), and true.

Referenced by clang::SemaObjC::ActOnPropertyImplDecl().

◆ setImpliedPropertyAttributeForReadOnlyProperty()

setImpliedPropertyAttributeForReadOnlyProperty - This routine evaludates life-time attributes for a 'readonly' property with no known lifetime of its own, using backing 'ivar's attribute, if any.

If no backing 'ivar', property's life-time is assumed 'strong'.

Definition at line 783 of file SemaObjCProperty.cpp.

References getImpliedARCOwnership(), clang::QualType::getObjCLifetime(), clang::ObjCPropertyDecl::getPropertyAttributes(), clang::ValueDecl::getType(), clang::ObjCPropertyDecl::getType(), clang::ObjCPropertyAttribute::kind_strong, clang::ObjCPropertyAttribute::kind_weak, clang::Qualifiers::OCL_None, clang::Qualifiers::OCL_Strong, and clang::Qualifiers::OCL_Weak.

Referenced by clang::SemaObjC::ActOnPropertyImplDecl().

◆ SuperClassImplementsProperty() ◆ OwnershipMask

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4