clang 20.0.0git
|
Represents one property declaration in an Objective-C interface. More...
#include "clang/AST/DeclObjC.h"
Public Types | |
enum | SetterKind { Assign , Retain , Copy , Weak } |
enum | PropertyControl { None , Required , Optional } |
Public Types inherited from clang::NamedDecl | |
enum | ExplicitVisibilityKind { VisibilityForType , VisibilityForValue } |
Kinds of explicit visibility. More... | |
Public Types inherited from clang::Decl | |
enum | Kind |
Lists the kind of concrete classes of Decl. More... | |
enum | IdentifierNamespace { IDNS_Label = 0x0001 , IDNS_Tag = 0x0002 , IDNS_Type = 0x0004 , IDNS_Member = 0x0008 , IDNS_Namespace = 0x0010 , IDNS_Ordinary = 0x0020 , IDNS_ObjCProtocol = 0x0040 , IDNS_OrdinaryFriend = 0x0080 , IDNS_TagFriend = 0x0100 , IDNS_Using = 0x0200 , IDNS_NonMemberOperator = 0x0400 , IDNS_LocalExtern = 0x0800 , IDNS_OMPReduction = 0x1000 , IDNS_OMPMapper = 0x2000 } |
IdentifierNamespace - The different namespaces in which declarations may appear. More... | |
enum | ObjCDeclQualifier { OBJC_TQ_None = 0x0 , OBJC_TQ_In = 0x1 , OBJC_TQ_Inout = 0x2 , OBJC_TQ_Out = 0x4 , OBJC_TQ_Bycopy = 0x8 , OBJC_TQ_Byref = 0x10 , OBJC_TQ_Oneway = 0x20 , OBJC_TQ_CSNullability = 0x40 } |
ObjCDeclQualifier - 'Qualifiers' written next to the return and parameter types in method declarations. More... | |
enum class | ModuleOwnershipKind : unsigned char { Unowned , Visible , VisibleWhenImported , ReachableWhenImported , ModulePrivate } |
The kind of ownership a declaration has, for visibility purposes. More... | |
enum | FriendObjectKind { FOK_None , FOK_Declared , FOK_Undeclared } |
using | attr_iterator = AttrVec::const_iterator |
using | attr_range = llvm::iterator_range< attr_iterator > |
using | redecl_range = llvm::iterator_range< redecl_iterator > |
Public Member Functions | |
SourceLocation | getAtLoc () const |
void | setAtLoc (SourceLocation L) |
SourceLocation | getLParenLoc () const |
void | setLParenLoc (SourceLocation L) |
TypeSourceInfo * | getTypeSourceInfo () const |
QualType | getType () const |
void | setType (QualType T, TypeSourceInfo *TSI) |
QualType | getUsageType (QualType objectType) const |
Retrieve the type when this property is used with a specific base object type. | |
ObjCPropertyAttribute::Kind | getPropertyAttributes () const |
void | setPropertyAttributes (ObjCPropertyAttribute::Kind PRVal) |
void | overwritePropertyAttributes (unsigned PRVal) |
ObjCPropertyAttribute::Kind | getPropertyAttributesAsWritten () const |
void | setPropertyAttributesAsWritten (ObjCPropertyAttribute::Kind PRVal) |
bool | isReadOnly () const |
isReadOnly - Return true iff the property has a setter. | |
bool | isAtomic () const |
isAtomic - Return true if the property is atomic. | |
bool | isRetaining () const |
isRetaining - Return true if the property retains its value. | |
bool | isInstanceProperty () const |
bool | isClassProperty () const |
bool | isDirectProperty () const |
ObjCPropertyQueryKind | getQueryKind () const |
SetterKind | getSetterKind () const |
getSetterKind - Return the method used for doing assignment in the property setter. | |
Selector | getGetterName () const |
SourceLocation | getGetterNameLoc () const |
void | setGetterName (Selector Sel, SourceLocation Loc=SourceLocation()) |
Selector | getSetterName () const |
SourceLocation | getSetterNameLoc () const |
void | setSetterName (Selector Sel, SourceLocation Loc=SourceLocation()) |
ObjCMethodDecl * | getGetterMethodDecl () const |
void | setGetterMethodDecl (ObjCMethodDecl *gDecl) |
ObjCMethodDecl * | getSetterMethodDecl () const |
void | setSetterMethodDecl (ObjCMethodDecl *gDecl) |
void | setPropertyImplementation (PropertyControl pc) |
PropertyControl | getPropertyImplementation () const |
bool | isOptional () const |
void | setPropertyIvarDecl (ObjCIvarDecl *Ivar) |
ObjCIvarDecl * | getPropertyIvarDecl () const |
SourceRange | getSourceRange () const override LLVM_READONLY |
Source range that this declaration covers. | |
IdentifierInfo * | getDefaultSynthIvarName (ASTContext &Ctx) const |
Get the default name of the synthesized ivar. | |
Public Member Functions inherited from clang::NamedDecl | |
IdentifierInfo * | getIdentifier () const |
Get the identifier that names this declaration, if there is one. | |
StringRef | getName () const |
Get the name of identifier for this declaration as a StringRef. | |
std::string | getNameAsString () const |
Get a human-readable name for the declaration, even if it is one of the special kinds of names (C++ constructor, Objective-C selector, etc). | |
virtual void | printName (raw_ostream &OS, const PrintingPolicy &Policy) const |
Pretty-print the unqualified name of this declaration. | |
void | printName (raw_ostream &OS) const |
Calls printName() with the ASTContext printing policy from the decl. | |
DeclarationName | getDeclName () const |
Get the actual, stored name of the declaration, which may be a special name. | |
void | setDeclName (DeclarationName N) |
Set the name of this declaration. | |
void | printQualifiedName (raw_ostream &OS) const |
Returns a human-readable qualified name for this declaration, like A::B::i, for i being member of namespace A::B. | |
void | printQualifiedName (raw_ostream &OS, const PrintingPolicy &Policy) const |
void | printNestedNameSpecifier (raw_ostream &OS) const |
Print only the nested name specifier part of a fully-qualified name, including the '::' at the end. | |
void | printNestedNameSpecifier (raw_ostream &OS, const PrintingPolicy &Policy) const |
std::string | getQualifiedNameAsString () const |
virtual void | getNameForDiagnostic (raw_ostream &OS, const PrintingPolicy &Policy, bool Qualified) const |
Appends a human-readable name for this declaration into the given stream. | |
bool | declarationReplaces (const NamedDecl *OldD, bool IsKnownNewer=true) const |
Determine whether this declaration, if known to be well-formed within its context, will replace the declaration OldD if introduced into scope. | |
bool | hasLinkage () const |
Determine whether this declaration has linkage. | |
bool | isCXXClassMember () const |
Determine whether this declaration is a C++ class member. | |
bool | isCXXInstanceMember () const |
Determine whether the given declaration is an instance member of a C++ class. | |
ReservedIdentifierStatus | isReserved (const LangOptions &LangOpts) const |
Determine if the declaration obeys the reserved identifier rules of the given language. | |
Linkage | getLinkageInternal () const |
Determine what kind of linkage this entity has. | |
Linkage | getFormalLinkage () const |
Get the linkage from a semantic point of view. | |
bool | hasExternalFormalLinkage () const |
True if this decl has external linkage. | |
bool | isExternallyVisible () const |
bool | isExternallyDeclarable () const |
Determine whether this declaration can be redeclared in a different translation unit. | |
Visibility | getVisibility () const |
Determines the visibility of this entity. | |
LinkageInfo | getLinkageAndVisibility () const |
Determines the linkage and visibility of this entity. | |
std::optional< Visibility > | getExplicitVisibility (ExplicitVisibilityKind kind) const |
If visibility was explicitly specified for this declaration, return that visibility. | |
bool | isLinkageValid () const |
True if the computed linkage is valid. | |
bool | hasLinkageBeenComputed () const |
True if something has required us to compute the linkage of this declaration. | |
bool | isPlaceholderVar (const LangOptions &LangOpts) const |
NamedDecl * | getUnderlyingDecl () |
Looks through UsingDecls and ObjCCompatibleAliasDecls for the underlying named decl. | |
const NamedDecl * | getUnderlyingDecl () const |
NamedDecl * | getMostRecentDecl () |
const NamedDecl * | getMostRecentDecl () const |
ObjCStringFormatFamily | getObjCFStringFormattingFamily () const |
bool | isModulePrivate () const |
Whether this declaration was marked as being private to the module in which it was defined. | |
void | setModulePrivate () |
Specify that this declaration was marked as being private to the module in which it was defined. | |
Public Member Functions inherited from clang::Decl | |
Decl ()=delete | |
Decl (const Decl &)=delete | |
Decl (Decl &&)=delete | |
Decl & | operator= (const Decl &)=delete |
Decl & | operator= (Decl &&)=delete |
virtual SourceRange | getSourceRange () const LLVM_READONLY |
Source range that this declaration covers. | |
SourceLocation | getBeginLoc () const LLVM_READONLY |
SourceLocation | getEndLoc () const LLVM_READONLY |
SourceLocation | getLocation () const |
void | setLocation (SourceLocation L) |
Kind | getKind () const |
const char * | getDeclKindName () const |
Decl * | getNextDeclInContext () |
const Decl * | getNextDeclInContext () const |
DeclContext * | getDeclContext () |
const DeclContext * | getDeclContext () const |
DeclContext * | getNonTransparentDeclContext () |
Return the non transparent context. | |
const DeclContext * | getNonTransparentDeclContext () const |
Decl * | getNonClosureContext () |
Find the innermost non-closure ancestor of this declaration, walking up through blocks, lambdas, etc. | |
const Decl * | getNonClosureContext () const |
TranslationUnitDecl * | getTranslationUnitDecl () |
const TranslationUnitDecl * | getTranslationUnitDecl () const |
bool | isInAnonymousNamespace () const |
bool | isInStdNamespace () const |
bool | isFileContextDecl () const |
ASTContext & | getASTContext () const LLVM_READONLY |
const LangOptions & | getLangOpts () const LLVM_READONLY |
Helper to get the language options from the ASTContext. | |
void | setAccess (AccessSpecifier AS) |
AccessSpecifier | getAccess () const |
AccessSpecifier | getAccessUnsafe () const |
Retrieve the access specifier for this declaration, even though it may not yet have been properly set. | |
bool | hasAttrs () const |
void | setAttrs (const AttrVec &Attrs) |
AttrVec & | getAttrs () |
const AttrVec & | getAttrs () const |
void | dropAttrs () |
void | addAttr (Attr *A) |
attr_range | attrs () const |
attr_iterator | attr_begin () const |
attr_iterator | attr_end () const |
template<typename... Ts> | |
void | dropAttrs () |
template<typename T > | |
void | dropAttr () |
template<typename T > | |
llvm::iterator_range< specific_attr_iterator< T > > | specific_attrs () const |
template<typename T > | |
specific_attr_iterator< T > | specific_attr_begin () const |
template<typename T > | |
specific_attr_iterator< T > | specific_attr_end () const |
template<typename T > | |
T * | getAttr () const |
template<typename T > | |
bool | hasAttr () const |
unsigned | getMaxAlignment () const |
getMaxAlignment - return the maximum alignment specified by attributes on this decl, 0 if there are none. | |
void | setInvalidDecl (bool Invalid=true) |
setInvalidDecl - Indicates the Decl had a semantic error. | |
bool | isInvalidDecl () const |
bool | isImplicit () const |
isImplicit - Indicates whether the declaration was implicitly generated by the implementation. | |
void | setImplicit (bool I=true) |
bool | isUsed (bool CheckUsedAttr=true) const |
Whether any (re-)declaration of the entity was used, meaning that a definition is required. | |
void | setIsUsed () |
Set whether the declaration is used, in the sense of odr-use. | |
void | markUsed (ASTContext &C) |
Mark the declaration used, in the sense of odr-use. | |
bool | isReferenced () const |
Whether any declaration of this entity was referenced. | |
bool | isThisDeclarationReferenced () const |
Whether this declaration was referenced. | |
void | setReferenced (bool R=true) |
bool | isTopLevelDeclInObjCContainer () const |
Whether this declaration is a top-level declaration (function, global variable, etc.) that is lexically inside an objc container definition. | |
void | setTopLevelDeclInObjCContainer (bool V=true) |
ExternalSourceSymbolAttr * | getExternalSourceSymbolAttr () const |
Looks on this and related declarations for an applicable external source symbol attribute. | |
bool | isModulePrivate () const |
Whether this declaration was marked as being private to the module in which it was defined. | |
bool | isInExportDeclContext () const |
Whether this declaration was exported in a lexical context. | |
bool | isInvisibleOutsideTheOwningModule () const |
bool | isInAnotherModuleUnit () const |
Whether this declaration comes from another module unit. | |
bool | isInCurrentModuleUnit () const |
Whether this declaration comes from the same module unit being compiled. | |
bool | shouldEmitInExternalSource () const |
Whether the definition of the declaration should be emitted in external sources. | |
bool | isFromExplicitGlobalModule () const |
Whether this declaration comes from explicit global module. | |
bool | isFromGlobalModule () const |
Whether this declaration comes from global module. | |
bool | isInNamedModule () const |
Whether this declaration comes from a named module. | |
bool | hasDefiningAttr () const |
Return true if this declaration has an attribute which acts as definition of the entity, such as 'alias' or 'ifunc'. | |
const Attr * | getDefiningAttr () const |
Return this declaration's defining attribute if it has one. | |
void | setFromASTFile () |
Set the FromASTFile flag. | |
void | setOwningModuleID (unsigned ID) |
Set the owning module ID. | |
AvailabilityResult | getAvailability (std::string *Message=nullptr, VersionTuple EnclosingVersion=VersionTuple(), StringRef *RealizedPlatform=nullptr) const |
Determine the availability of the given declaration. | |
VersionTuple | getVersionIntroduced () const |
Retrieve the version of the target platform in which this declaration was introduced. | |
bool | isDeprecated (std::string *Message=nullptr) const |
Determine whether this declaration is marked 'deprecated'. | |
bool | isUnavailable (std::string *Message=nullptr) const |
Determine whether this declaration is marked 'unavailable'. | |
bool | isWeakImported () const |
Determine whether this is a weak-imported symbol. | |
bool | canBeWeakImported (bool &IsDefinition) const |
Determines whether this symbol can be weak-imported, e.g., whether it would be well-formed to add the weak_import attribute. | |
bool | isFromASTFile () const |
Determine whether this declaration came from an AST file (such as a precompiled header or module) rather than having been parsed. | |
GlobalDeclID | getGlobalID () const |
Retrieve the global declaration ID associated with this declaration, which specifies where this Decl was loaded from. | |
unsigned | getOwningModuleID () const |
Retrieve the global ID of the module that owns this particular declaration. | |
Module * | getImportedOwningModule () const |
Get the imported owning module, if this decl is from an imported (non-local) module. | |
Module * | getLocalOwningModule () const |
Get the local owning module, if known. | |
void | setLocalOwningModule (Module *M) |
bool | hasOwningModule () const |
Is this declaration owned by some module? | |
Module * | getOwningModule () const |
Get the module that owns this declaration (for visibility purposes). | |
Module * | getOwningModuleForLinkage () const |
Get the module that owns this declaration for linkage purposes. | |
bool | isUnconditionallyVisible () const |
Determine whether this declaration is definitely visible to name lookup, independent of whether the owning module is visible. | |
bool | isReachable () const |
void | setVisibleDespiteOwningModule () |
Set that this declaration is globally visible, even if it came from a module that is not visible. | |
ModuleOwnershipKind | getModuleOwnershipKind () const |
Get the kind of module ownership for this declaration. | |
void | setModuleOwnershipKind (ModuleOwnershipKind MOK) |
Set whether this declaration is hidden from name lookup. | |
unsigned | getIdentifierNamespace () const |
bool | isInIdentifierNamespace (unsigned NS) const |
bool | hasTagIdentifierNamespace () const |
DeclContext * | getLexicalDeclContext () |
getLexicalDeclContext - The declaration context where this Decl was lexically declared (LexicalDC). | |
const DeclContext * | getLexicalDeclContext () const |
virtual bool | isOutOfLine () const |
Determine whether this declaration is declared out of line (outside its semantic context). | |
void | setDeclContext (DeclContext *DC) |
setDeclContext - Set both the semantic and lexical DeclContext to DC. | |
void | setLexicalDeclContext (DeclContext *DC) |
bool | isTemplated () const |
Determine whether this declaration is a templated entity (whether it is. | |
unsigned | getTemplateDepth () const |
Determine the number of levels of template parameter surrounding this declaration. | |
bool | isDefinedOutsideFunctionOrMethod () const |
isDefinedOutsideFunctionOrMethod - This predicate returns true if this scoped decl is defined outside the current function or method. | |
bool | isInLocalScopeForInstantiation () const |
Determine whether a substitution into this declaration would occur as part of a substitution into a dependent local scope. | |
const DeclContext * | getParentFunctionOrMethod (bool LexicalParent=false) const |
If this decl is defined inside a function/method/block it returns the corresponding DeclContext, otherwise it returns null. | |
DeclContext * | getParentFunctionOrMethod (bool LexicalParent=false) |
virtual Decl * | getCanonicalDecl () |
Retrieves the "canonical" declaration of the given declaration. | |
const Decl * | getCanonicalDecl () const |
bool | isCanonicalDecl () const |
Whether this particular Decl is a canonical one. | |
redecl_range | redecls () const |
Returns an iterator range for all the redeclarations of the same decl. | |
redecl_iterator | redecls_begin () const |
redecl_iterator | redecls_end () const |
Decl * | getPreviousDecl () |
Retrieve the previous declaration that declares the same entity as this declaration, or NULL if there is no previous declaration. | |
const Decl * | getPreviousDecl () const |
Retrieve the previous declaration that declares the same entity as this declaration, or NULL if there is no previous declaration. | |
bool | isFirstDecl () const |
True if this is the first declaration in its redeclaration chain. | |
Decl * | getMostRecentDecl () |
Retrieve the most recent declaration that declares the same entity as this declaration (which may be this declaration). | |
const Decl * | getMostRecentDecl () const |
Retrieve the most recent declaration that declares the same entity as this declaration (which may be this declaration). | |
virtual Stmt * | getBody () const |
getBody - If this Decl represents a declaration for a body of code, such as a function or method definition, this method returns the top-level Stmt* of that body. | |
virtual bool | hasBody () const |
Returns true if this Decl represents a declaration for a body of code, such as a function or method definition. | |
SourceLocation | getBodyRBrace () const |
getBodyRBrace - Gets the right brace of the body, if a body exists. | |
bool | isTemplateParameter () const |
isTemplateParameter - Determines whether this declaration is a template parameter. | |
bool | isTemplateParameterPack () const |
isTemplateParameter - Determines whether this declaration is a template parameter pack. | |
bool | isParameterPack () const |
Whether this declaration is a parameter pack. | |
bool | isTemplateDecl () const |
returns true if this declaration is a template | |
bool | isFunctionOrFunctionTemplate () const |
Whether this declaration is a function or function template. | |
TemplateDecl * | getDescribedTemplate () const |
If this is a declaration that describes some template, this method returns that template declaration. | |
const TemplateParameterList * | getDescribedTemplateParams () const |
If this is a declaration that describes some template or partial specialization, this returns the corresponding template parameter list. | |
FunctionDecl * | getAsFunction () LLVM_READONLY |
Returns the function itself, or the templated function if this is a function template. | |
const FunctionDecl * | getAsFunction () const |
void | setLocalExternDecl () |
Changes the namespace of this declaration to reflect that it's a function-local extern declaration. | |
bool | isLocalExternDecl () const |
Determine whether this is a block-scope declaration with linkage. | |
void | setObjectOfFriendDecl (bool PerformFriendInjection=false) |
Changes the namespace of this declaration to reflect that it's the object of a friend declaration. | |
void | clearIdentifierNamespace () |
Clears the namespace of this declaration. | |
FriendObjectKind | getFriendObjectKind () const |
Determines whether this declaration is the object of a friend declaration and, if so, what kind. | |
void | setNonMemberOperator () |
Specifies that this declaration is a C++ overloaded non-member. | |
void | print (raw_ostream &Out, unsigned Indentation=0, bool PrintInstantiation=false) const |
void | print (raw_ostream &Out, const PrintingPolicy &Policy, unsigned Indentation=0, bool PrintInstantiation=false) const |
void | dump () const |
void | dumpColor () const |
void | dump (raw_ostream &Out, bool Deserialize=false, ASTDumpOutputFormat OutputFormat=ADOF_Default) const |
int64_t | getID () const |
const FunctionType * | getFunctionType (bool BlocksToo=true) const |
Looks through the Decl's underlying type to extract a FunctionType when possible. | |
bool | isFunctionPointerType () const |
Additional Inherited Members | |
Protected Member Functions inherited from clang::NamedDecl | |
NamedDecl (Kind DK, DeclContext *DC, SourceLocation L, DeclarationName N) | |
Protected Member Functions inherited from clang::Decl | |
void * | operator new (std::size_t Size, const ASTContext &Ctx, GlobalDeclID ID, std::size_t Extra=0) |
Allocate memory for a deserialized declaration. | |
void * | operator new (std::size_t Size, const ASTContext &Ctx, DeclContext *Parent, std::size_t Extra=0) |
Allocate memory for a non-deserialized declaration. | |
Decl (Kind DK, DeclContext *DC, SourceLocation L) | |
Decl (Kind DK, EmptyShell Empty) | |
virtual | ~Decl () |
void | updateOutOfDate (IdentifierInfo &II) const |
Update a potentially out-of-date declaration. | |
Linkage | getCachedLinkage () const |
void | setCachedLinkage (Linkage L) const |
bool | hasCachedLinkage () const |
void | setModulePrivate () |
Specify that this declaration was marked as being private to the module in which it was defined. | |
bool | hasLocalOwningModuleStorage () const |
virtual Decl * | getNextRedeclarationImpl () |
Returns the next redeclaration or itself if this is the only decl. | |
virtual Decl * | getPreviousDeclImpl () |
Implementation of getPreviousDecl(), to be overridden by any subclass that has a redeclaration chain. | |
virtual Decl * | getMostRecentDeclImpl () |
Implementation of getMostRecentDecl(), to be overridden by any subclass that has a redeclaration chain. | |
ASTMutationListener * | getASTMutationListener () const |
Protected Attributes inherited from clang::Decl | |
llvm::PointerIntPair< Decl *, 3, ModuleOwnershipKind > | NextInContextAndBits |
The next declaration within the same lexical DeclContext. | |
unsigned | Access: 2 |
Access - Used by C++ decls for the access specifier. | |
unsigned | FromASTFile: 1 |
Whether this declaration was loaded from an AST file. | |
unsigned | IdentifierNamespace: 14 |
IdentifierNamespace - This specifies what IDNS_* namespace this lives in. | |
unsigned | CacheValidAndLinkage: 3 |
If 0, we have not computed the linkage of this declaration. | |
Represents one property declaration in an Objective-C interface.
For example:
Definition at line 730 of file DeclObjC.h.
Enumerator | |
---|---|
None | |
Required | |
Optional |
Definition at line 735 of file DeclObjC.h.
Enumerator | |
---|---|
Assign | |
Retain | |
Copy | |
Weak |
Definition at line 734 of file DeclObjC.h.
Definition at line 939 of file DeclObjC.h.
References classofKind(), and D.
Definition at line 940 of file DeclObjC.h.
Referenced by classof().
|
static |
Definition at line 2355 of file DeclObjC.cpp.
References clang::C, Id, and clang::T.
Referenced by clang::SemaObjC::CreatePropertyDecl().
|
static |
Definition at line 2363 of file DeclObjC.cpp.
|
static |
Lookup a property by name in the specified DeclContext.
Definition at line 179 of file DeclObjC.cpp.
References clang::DeclContextLookupResult::begin(), E, clang::DeclContextLookupResult::end(), findPropertyDecl(), clang::ObjCProtocolDecl::getDefinition(), clang::DeclContext::lookup(), clang::OBJC_PR_query_class, clang::OBJC_PR_query_instance, and clang::OBJC_PR_query_unknown.
Referenced by clang::SemaObjC::CreatePropertyDecl(), clang::Sema::DiagnoseAvailabilityOfDecl(), clang::Sema::DiagnoseUseOfDecl(), clang::ObjCMethodDecl::findPropertyDecl(), findPropertyDecl(), clang::ObjCContainerDecl::FindPropertyDeclaration(), clang::ObjCInterfaceDecl::FindPropertyVisibleInPrimaryClass(), clang::ASTContext::getCommentForDecl(), clang::getCompletionComment(), clang::getPatternCompletionComment(), and clang::sema::FunctionScopeInfo::markSafeWeakUse().
|
inline |
Definition at line 795 of file DeclObjC.h.
Referenced by checkAllProps().
IdentifierInfo * ObjCPropertyDecl::getDefaultSynthIvarName | ( | ASTContext & | Ctx | ) | const |
Get the default name of the synthesized ivar.
Definition at line 227 of file DeclObjC.cpp.
References clang::IdentifierTable::get(), clang::NamedDecl::getIdentifier(), clang::IdentifierInfo::getName(), and clang::ASTContext::Idents.
Referenced by clang::SemaObjC::DefaultSynthesizeProperties().
|
inline |
Definition at line 900 of file DeclObjC.h.
Referenced by clang::SemaObjC::DiagnoseOwningPropertyGetterSynthesis().
|
inline |
Definition at line 884 of file DeclObjC.h.
Referenced by clang::SemaObjC::DefaultSynthesizeProperties(), clang::SemaObjC::DiagnosePropertyMismatch(), clang::SemaObjC::DiagnoseUnimplementedProperties(), clang::ObjCPropertyRefExpr::getGetterSelector(), clang::ASTContext::getObjCEncodingForPropertyDecl(), clang::getPatternCompletionComment(), clang::SemaObjC::HandlePropertyInClassExtension(), clang::SemaObjC::ProcessPropertyDecl(), and SuperClassImplementsProperty().
|
inline |
Definition at line 885 of file DeclObjC.h.
|
inline |
Definition at line 798 of file DeclObjC.h.
|
inline |
Definition at line 814 of file DeclObjC.h.
Referenced by checkARCPropertyImpl(), checkAtomicPropertyMismatch(), clang::Sema::checkUnsafeExprAssigns(), createObjCPropertyGetter(), clang::SemaObjC::DefaultSynthesizeProperties(), clang::SemaObjC::DiagnosePropertyMismatch(), clang::ASTContext::getObjCEncodingForPropertyDecl(), clang::SemaObjC::HandlePropertyInClassExtension(), clang::SemaObjC::ProcessPropertyDecl(), setImpliedPropertyAttributeForReadOnlyProperty(), and SuperClassImplementsProperty().
|
inline |
Definition at line 826 of file DeclObjC.h.
Referenced by checkAllAtProps(), checkAllProps(), checkAtomicPropertyMismatch(), clang::Sema::checkUnsafeExprAssigns(), clang::SemaObjC::HandlePropertyInClassExtension(), and hasWrittenStorageAttribute().
|
inline |
Definition at line 911 of file DeclObjC.h.
Referenced by clang::SemaObjC::DefaultSynthesizeProperties(), clang::SemaObjC::DiagnoseUnimplementedProperties(), isOptional(), and clang::SemaObjC::ProcessPropertyDecl().
|
inline |
Definition at line 923 of file DeclObjC.h.
Referenced by createObjCPropertyGetter(), findBackingIvar(), and clang::SemaObjC::GetIvarBackingPropertyAccessor().
|
inline |
Definition at line 859 of file DeclObjC.h.
References isClassProperty(), clang::OBJC_PR_query_class, and clang::OBJC_PR_query_instance.
Referenced by clang::SemaObjC::CreatePropertyDecl(), clang::SemaObjC::DefaultSynthesizeProperties(), findBackingIvar(), and clang::SemaObjC::HandlePropertyInClassExtension().
|
inlinestatic |
Definition at line 864 of file DeclObjC.h.
References isClassProperty(), clang::OBJC_PR_query_class, and clang::OBJC_PR_query_instance.
|
inline |
getSetterKind - Return the method used for doing assignment in the property setter.
This is only valid if the property has been defined to have a setter.
Definition at line 872 of file DeclObjC.h.
References Assign, Copy, getType(), clang::Type::isBlockPointerType(), clang::ObjCPropertyAttribute::kind_copy, clang::ObjCPropertyAttribute::kind_retain, clang::ObjCPropertyAttribute::kind_strong, clang::ObjCPropertyAttribute::kind_weak, Retain, and Weak.
Referenced by clang::ASTContext::getObjCEncodingForPropertyDecl().
|
inline |
Definition at line 903 of file DeclObjC.h.
|
inline |
Definition at line 892 of file DeclObjC.h.
Referenced by clang::SemaObjC::DefaultSynthesizeProperties(), clang::SemaObjC::DiagnosePropertyMismatch(), clang::SemaObjC::DiagnoseUnimplementedProperties(), clang::ASTContext::getObjCEncodingForPropertyDecl(), clang::ObjCPropertyRefExpr::getSetterSelector(), clang::SemaObjC::ProcessPropertyDecl(), and SuperClassImplementsProperty().
|
inline |
Definition at line 893 of file DeclObjC.h.
|
inlineoverridevirtual |
Source range that this declaration covers.
Reimplemented from clang::Decl.
Definition at line 927 of file DeclObjC.h.
References clang::Decl::getLocation().
|
inline |
Definition at line 803 of file DeclObjC.h.
Referenced by clang::SemaObjC::ActOnProperty(), checkARCPropertyImpl(), clang::SemaObjC::CheckObjCPropertyAttributes(), checkPropertyDeclWithOwnership(), clang::Sema::checkUnsafeExprAssigns(), createObjCPropertyGetter(), clang::SemaObjC::DiagnosePropertyMismatch(), clang::ASTContext::getObjCEncodingForPropertyDecl(), getSetterKind(), clang::SemaObjC::HandlePropertyInClassExtension(), clang::SemaObjC::ProcessPropertyDecl(), and setImpliedPropertyAttributeForReadOnlyProperty().
|
inline |
Definition at line 801 of file DeclObjC.h.
Referenced by checkAllAtProps().
Retrieve the type when this property is used with a specific base object type.
Definition at line 2370 of file DeclObjC.cpp.
References clang::Decl::getDeclContext(), clang::Property, and clang::QualType::substObjCMemberType().
|
inline |
isAtomic - Return true if the property is atomic.
Definition at line 842 of file DeclObjC.h.
References clang::ObjCPropertyAttribute::kind_atomic.
|
inline |
Definition at line 854 of file DeclObjC.h.
References clang::ObjCPropertyAttribute::kind_class.
Referenced by clang::SemaObjC::DefaultSynthesizeProperties(), clang::SemaObjC::DiagnoseOwningPropertyGetterSynthesis(), DiagnoseUnimplementedAccessor(), getQueryKind(), and isInstanceProperty().
bool ObjCPropertyDecl::isDirectProperty | ( | ) | const |
Definition at line 2375 of file DeclObjC.cpp.
References clang::Decl::getASTContext(), clang::ASTContext::getLangOpts(), and clang::ObjCPropertyAttribute::kind_direct.
Referenced by clang::SemaObjC::ActOnPropertyImplDecl(), and clang::SemaObjC::ProcessPropertyDecl().
|
inline |
Definition at line 853 of file DeclObjC.h.
References isClassProperty().
Referenced by clang::SemaObjC::ActOnProperty(), and CheckPropertyAgainstProtocol().
|
inline |
Definition at line 915 of file DeclObjC.h.
References getPropertyImplementation(), and Optional.
Referenced by clang::ASTContext::getObjCEncodingForPropertyDecl().
|
inline |
isReadOnly - Return true iff the property has a setter.
Definition at line 837 of file DeclObjC.h.
References clang::ObjCPropertyAttribute::kind_readonly.
Referenced by clang::SemaObjC::DiagnosePropertyMismatch(), clang::SemaObjC::DiagnoseUnimplementedProperties(), findBackingIvar(), clang::ASTContext::getObjCEncodingForPropertyDecl(), clang::SemaObjC::HandlePropertyInClassExtension(), hasWrittenStorageAttribute(), and clang::SemaObjC::ProcessPropertyDecl().
|
inline |
isRetaining - Return true if the property retains its value.
Definition at line 847 of file DeclObjC.h.
References clang::ObjCPropertyAttribute::kind_copy, clang::ObjCPropertyAttribute::kind_retain, and clang::ObjCPropertyAttribute::kind_strong.
|
inline |
Definition at line 822 of file DeclObjC.h.
Referenced by checkAtomicPropertyMismatch().
|
inline |
Definition at line 796 of file DeclObjC.h.
|
inline |
Definition at line 901 of file DeclObjC.h.
Referenced by clang::ASTNodeImporter::VisitObjCPropertyDecl().
|
inline |
Definition at line 887 of file DeclObjC.h.
References Loc.
Referenced by clang::SemaObjC::CreatePropertyDecl(), and clang::ASTNodeImporter::VisitObjCPropertyDecl().
|
inline |
Definition at line 799 of file DeclObjC.h.
|
inline |
Definition at line 818 of file DeclObjC.h.
Referenced by clang::SemaObjC::CheckObjCPropertyAttributes(), clang::SemaObjC::CreatePropertyDecl(), and clang::ASTNodeImporter::VisitObjCPropertyDecl().
|
inline |
Definition at line 830 of file DeclObjC.h.
Referenced by clang::SemaObjC::CreatePropertyDecl(), and clang::ASTNodeImporter::VisitObjCPropertyDecl().
|
inline |
Definition at line 907 of file DeclObjC.h.
Referenced by clang::SemaObjC::CreatePropertyDecl().
|
inline |
Definition at line 919 of file DeclObjC.h.
Referenced by clang::ASTNodeImporter::VisitObjCPropertyDecl().
|
inline |
Definition at line 904 of file DeclObjC.h.
Referenced by clang::ASTNodeImporter::VisitObjCPropertyDecl().
|
inline |
Definition at line 895 of file DeclObjC.h.
References Loc.
Referenced by clang::SemaObjC::CreatePropertyDecl(), and clang::ASTNodeImporter::VisitObjCPropertyDecl().
|
inline |
Definition at line 805 of file DeclObjC.h.
References clang::T.