clang
3.9.0
|
#include <DeclObjC.h>
Public Member Functions | |
const ObjCInterfaceDecl * | getClassInterface () const |
ObjCInterfaceDecl * | getClassInterface () |
void | setClassInterface (ObjCInterfaceDecl *IFace) |
void | addInstanceMethod (ObjCMethodDecl *method) |
void | addClassMethod (ObjCMethodDecl *method) |
void | addPropertyImplementation (ObjCPropertyImplDecl *property) |
ObjCPropertyImplDecl * | FindPropertyImplDecl (IdentifierInfo *propertyId, ObjCPropertyQueryKind queryKind) const |
FindPropertyImplDecl - This method looks up a previous ObjCPropertyImplDecl added to the list of those properties @synthesized/@dynamic in this category @implementation block. More... | |
ObjCPropertyImplDecl * | FindPropertyImplIvarDecl (IdentifierInfo *ivarId) const |
FindPropertyImplIvarDecl - This method lookup the ivar in the list of properties implemented in this @implementation block and returns the implemented property that uses it. More... | |
propimpl_range | property_impls () const |
propimpl_iterator | propimpl_begin () const |
propimpl_iterator | propimpl_end () const |
![]() | |
ObjCContainerDecl (Kind DK, DeclContext *DC, IdentifierInfo *Id, SourceLocation nameLoc, SourceLocation atStartLoc) | |
prop_range | properties () const |
prop_iterator | prop_begin () const |
prop_iterator | prop_end () const |
instprop_range | instance_properties () const |
instprop_iterator | instprop_begin () const |
instprop_iterator | instprop_end () const |
classprop_range | class_properties () const |
classprop_iterator | classprop_begin () const |
classprop_iterator | classprop_end () const |
method_range | methods () const |
method_iterator | meth_begin () const |
method_iterator | meth_end () const |
instmeth_range | instance_methods () const |
instmeth_iterator | instmeth_begin () const |
instmeth_iterator | instmeth_end () const |
classmeth_range | class_methods () const |
classmeth_iterator | classmeth_begin () const |
classmeth_iterator | classmeth_end () const |
ObjCMethodDecl * | getMethod (Selector Sel, bool isInstance, bool AllowHidden=false) const |
ObjCMethodDecl * | getInstanceMethod (Selector Sel, bool AllowHidden=false) const |
ObjCMethodDecl * | getClassMethod (Selector Sel, bool AllowHidden=false) const |
bool | HasUserDeclaredSetterMethod (const ObjCPropertyDecl *P) const |
This routine returns 'true' if a user declared setter method was found in the class, its protocols, its super classes or categories. More... | |
ObjCIvarDecl * | getIvarDecl (IdentifierInfo *Id) const |
getIvarDecl - This method looks up an ivar in this ContextDecl. More... | |
ObjCPropertyDecl * | FindPropertyDeclaration (const IdentifierInfo *PropertyId, ObjCPropertyQueryKind QueryKind) const |
FindPropertyDeclaration - Finds declaration of the property given its name in 'PropertyId' and returns it. More... | |
virtual void | collectPropertiesToImplement (PropertyMap &PM, PropertyDeclOrder &PO) const |
This routine collects list of properties to be implemented in the class. More... | |
SourceLocation | getAtStartLoc () const |
void | setAtStartLoc (SourceLocation Loc) |
SourceRange | getAtEndRange () const |
void | setAtEndRange (SourceRange atEnd) |
SourceRange | getSourceRange () const override LLVM_READONLY |
![]() | |
IdentifierInfo * | getIdentifier () const |
getIdentifier - Get the identifier that names this declaration, if there is one. More... | |
StringRef | getName () const |
getName - Get the name of identifier for this declaration as a StringRef. More... | |
std::string | getNameAsString () const |
getNameAsString - 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). More... | |
void | printName (raw_ostream &os) const |
DeclarationName | getDeclName () const |
getDeclName - Get the actual, stored name of the declaration, which may be a special name. More... | |
void | setDeclName (DeclarationName N) |
Set the name of this declaration. More... | |
void | printQualifiedName (raw_ostream &OS) const |
printQualifiedName - Returns human-readable qualified name for declaration, like A::B::i, for i being member of namespace A::B. More... | |
void | printQualifiedName (raw_ostream &OS, const PrintingPolicy &Policy) const |
std::string | getQualifiedNameAsString () const |
virtual void | getNameForDiagnostic (raw_ostream &OS, const PrintingPolicy &Policy, bool Qualified) const |
getNameForDiagnostic - Appends a human-readable name for this declaration into the given stream. More... | |
bool | declarationReplaces (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. More... | |
bool | hasLinkage () const |
Determine whether this declaration has linkage. More... | |
bool | isHidden () const |
Determine whether this declaration is hidden from name lookup. More... | |
void | setHidden (bool Hide) |
Set whether this declaration is hidden from name lookup. More... | |
bool | isCXXClassMember () const |
Determine whether this declaration is a C++ class member. More... | |
bool | isCXXInstanceMember () const |
Determine whether the given declaration is an instance member of a C++ class. More... | |
Linkage | getLinkageInternal () const |
Determine what kind of linkage this entity has. More... | |
Linkage | getFormalLinkage () const |
Get the linkage from a semantic point of view. More... | |
bool | hasExternalFormalLinkage () const |
True if this decl has external linkage. More... | |
bool | isExternallyVisible () const |
Visibility | getVisibility () const |
Determines the visibility of this entity. More... | |
LinkageInfo | getLinkageAndVisibility () const |
Determines the linkage and visibility of this entity. More... | |
Optional< Visibility > | getExplicitVisibility (ExplicitVisibilityKind kind) const |
If visibility was explicitly specified for this declaration, return that visibility. More... | |
bool | isLinkageValid () const |
True if the computed linkage is valid. More... | |
bool | hasLinkageBeenComputed () const |
True if something has required us to compute the linkage of this declaration. More... | |
NamedDecl * | getUnderlyingDecl () |
Looks through UsingDecls and ObjCCompatibleAliasDecls for the underlying named decl. More... | |
const NamedDecl * | getUnderlyingDecl () const |
NamedDecl * | getMostRecentDecl () |
const NamedDecl * | getMostRecentDecl () const |
ObjCStringFormatFamily | getObjCFStringFormattingFamily () const |
![]() | |
~DeclContext () | |
Decl::Kind | getDeclKind () const |
const char * | getDeclKindName () const |
DeclContext * | getParent () |
getParent - Returns the containing DeclContext. More... | |
const DeclContext * | getParent () const |
DeclContext * | getLexicalParent () |
getLexicalParent - Returns the containing lexical DeclContext. More... | |
const DeclContext * | getLexicalParent () const |
DeclContext * | getLookupParent () |
Find the parent context of this context that will be used for unqualified name lookup. More... | |
const DeclContext * | getLookupParent () const |
ASTContext & | getParentASTContext () const |
bool | isClosure () const |
bool | isObjCContainer () const |
bool | isFunctionOrMethod () const |
bool | isLookupContext () const |
Test whether the context supports looking up names. More... | |
bool | isFileContext () const |
bool | isTranslationUnit () const |
bool | isRecord () const |
bool | isNamespace () const |
bool | isStdNamespace () const |
bool | isInlineNamespace () const |
bool | isDependentContext () const |
Determines whether this context is dependent on a template parameter. More... | |
bool | isTransparentContext () const |
isTransparentContext - Determines whether this context is a "transparent" context, meaning that the members declared in this context are semantically declared in the nearest enclosing non-transparent (opaque) context but are lexically declared in this context. More... | |
bool | isExternCContext () const |
Determines whether this context or some of its ancestors is a linkage specification context that specifies C linkage. More... | |
bool | isExternCXXContext () const |
Determines whether this context or some of its ancestors is a linkage specification context that specifies C++ linkage. More... | |
bool | Equals (const DeclContext *DC) const |
Determine whether this declaration context is equivalent to the declaration context DC. More... | |
bool | Encloses (const DeclContext *DC) const |
Determine whether this declaration context encloses the declaration context DC. More... | |
Decl * | getNonClosureAncestor () |
Find the nearest non-closure ancestor of this context, i.e. More... | |
const Decl * | getNonClosureAncestor () const |
DeclContext * | getPrimaryContext () |
getPrimaryContext - There may be many different declarations of the same entity (including forward declarations of classes, multiple definitions of namespaces, etc.), each with a different set of declarations. More... | |
const DeclContext * | getPrimaryContext () const |
DeclContext * | getRedeclContext () |
getRedeclContext - Retrieve the context in which an entity conflicts with other entities of the same name, or where it is a redeclaration if the two entities are compatible. More... | |
const DeclContext * | getRedeclContext () const |
DeclContext * | getEnclosingNamespaceContext () |
Retrieve the nearest enclosing namespace context. More... | |
const DeclContext * | getEnclosingNamespaceContext () const |
RecordDecl * | getOuterLexicalRecordContext () |
Retrieve the outermost lexically enclosing record context. More... | |
const RecordDecl * | getOuterLexicalRecordContext () const |
bool | InEnclosingNamespaceSetOf (const DeclContext *NS) const |
Test if this context is part of the enclosing namespace set of the context NS, as defined in C++0x [namespace.def]p9. More... | |
void | collectAllContexts (SmallVectorImpl< DeclContext * > &Contexts) |
Collects all of the declaration contexts that are semantically connected to this declaration context. More... | |
decl_range | decls () const |
decls_begin/decls_end - Iterate over the declarations stored in this context. More... | |
decl_iterator | decls_begin () const |
decl_iterator | decls_end () const |
bool | decls_empty () const |
decl_range | noload_decls () const |
noload_decls_begin/end - Iterate over the declarations stored in this context that are currently loaded; don't attempt to retrieve anything from an external source. More... | |
decl_iterator | noload_decls_begin () const |
decl_iterator | noload_decls_end () const |
void | addDecl (Decl *D) |
Add the declaration D into this context. More... | |
void | addDeclInternal (Decl *D) |
Add the declaration D into this context, but suppress searches for external declarations with the same name. More... | |
void | addHiddenDecl (Decl *D) |
Add the declaration D to this context without modifying any lookup tables. More... | |
void | removeDecl (Decl *D) |
Removes a declaration from this context. More... | |
bool | containsDecl (Decl *D) const |
Checks whether a declaration is in this context. More... | |
lookup_result | lookup (DeclarationName Name) const |
lookup - Find the declarations (if any) with the given Name in this context. More... | |
lookup_result | noload_lookup (DeclarationName Name) |
Find the declarations with the given name that are visible within this context; don't attempt to retrieve anything from an external source. More... | |
void | localUncachedLookup (DeclarationName Name, SmallVectorImpl< NamedDecl * > &Results) |
A simplistic name lookup mechanism that performs name lookup into this declaration context without consulting the external source. More... | |
void | makeDeclVisibleInContext (NamedDecl *D) |
Makes a declaration visible within this context. More... | |
lookups_range | lookups () const |
lookups_range | noload_lookups () const |
all_lookups_iterator | lookups_begin () const |
Iterators over all possible lookups within this context. More... | |
all_lookups_iterator | lookups_end () const |
all_lookups_iterator | noload_lookups_begin () const |
Iterators over all possible lookups within this context that are currently loaded; don't attempt to retrieve anything from an external source. More... | |
all_lookups_iterator | noload_lookups_end () const |
udir_range | using_directives () const |
Returns iterator range [First, Last) of UsingDirectiveDecls stored within this context. More... | |
ddiag_range | ddiags () const |
void | setMustBuildLookupTable () |
Mark that there are external lexical declarations that we need to include in our lookup table (and that are not available as external visible lookups). More... | |
StoredDeclsMap * | getLookupPtr () const |
Retrieve the internal representation of the lookup structure. More... | |
StoredDeclsMap * | buildLookup () |
Ensure the lookup structure is fully-built and return it. More... | |
bool | hasExternalLexicalStorage () const |
Whether this DeclContext has external storage containing additional declarations that are lexically in this context. More... | |
void | setHasExternalLexicalStorage (bool ES=true) |
State whether this DeclContext has external storage for declarations lexically in this context. More... | |
bool | hasExternalVisibleStorage () const |
Whether this DeclContext has external storage containing additional declarations that are visible in this context. More... | |
void | setHasExternalVisibleStorage (bool ES=true) |
State whether this DeclContext has external storage for declarations visible in this context. More... | |
bool | isDeclInLexicalTraversal (const Decl *D) const |
Determine whether the given declaration is stored in the list of declarations lexically within this context. More... | |
bool | setUseQualifiedLookup (bool use=true) |
bool | shouldUseQualifiedLookup () const |
void | dumpDeclContext () const |
void | dumpLookups () const |
void | dumpLookups (llvm::raw_ostream &OS, bool DumpDecls=false) const |
Static Public Member Functions | |
static bool | classof (const Decl *D) |
static bool | classofKind (Kind K) |
![]() | |
static bool | classof (const Decl *D) |
static bool | classofKind (Kind K) |
static DeclContext * | castToDeclContext (const ObjCContainerDecl *D) |
static ObjCContainerDecl * | castFromDeclContext (const DeclContext *DC) |
![]() | |
static bool | classof (const Decl *D) |
static bool | classofKind (Kind K) |
![]() | |
static bool | classof (const Decl *D) |
static bool | classof (const DeclContext *D) |
Protected Member Functions | |
ObjCImplDecl (Kind DK, DeclContext *DC, ObjCInterfaceDecl *classInterface, SourceLocation nameLoc, SourceLocation atStartLoc) | |
![]() | |
NamedDecl (Kind DK, DeclContext *DC, SourceLocation L, DeclarationName N) | |
![]() | |
DeclContext (Decl::Kind K) | |
Additional Inherited Members | |
![]() | |
static std::pair< Decl *, Decl * > | BuildDeclChain (ArrayRef< Decl * > Decls, bool FieldsAlreadyLoaded) |
Build up a chain of declarations. More... | |
![]() | |
Decl * | FirstDecl |
FirstDecl - The first declaration stored within this declaration context. More... | |
Decl * | LastDecl |
LastDecl - The last declaration stored within this declaration context. More... | |
Definition at line 2308 of file DeclObjC.h.
Definition at line 2347 of file DeclObjC.h.
typedef llvm::iterator_range<specific_decl_iterator<ObjCPropertyImplDecl> > clang::ObjCImplDecl::propimpl_range |
Definition at line 2349 of file DeclObjC.h.
|
inlineprotected |
Definition at line 2315 of file DeclObjC.h.
|
inline |
Definition at line 2334 of file DeclObjC.h.
References clang::DeclContext::addDecl().
|
inline |
Definition at line 2329 of file DeclObjC.h.
References clang::DeclContext::addDecl().
void ObjCImplDecl::addPropertyImplementation | ( | ObjCPropertyImplDecl * | property | ) |
Definition at line 2009 of file DeclObjC.cpp.
References clang::DeclContext::addDecl().
Referenced by clang::Sema::ActOnPropertyImplDecl().
Definition at line 2361 of file DeclObjC.h.
References classofKind().
Definition at line 2362 of file DeclObjC.h.
Referenced by classof().
ObjCPropertyImplDecl * ObjCImplDecl::FindPropertyImplDecl | ( | IdentifierInfo * | propertyId, |
ObjCPropertyQueryKind | queryKind | ||
) | const |
FindPropertyImplDecl - This method looks up a previous ObjCPropertyImplDecl added to the list of those properties @synthesized/@dynamic in this category @implementation block.
Definition at line 2050 of file DeclObjC.cpp.
References clang::OBJC_PR_query_class, clang::OBJC_PR_query_instance, clang::OBJC_PR_query_unknown, and property_impls().
Referenced by clang::Sema::ActOnPropertyImplDecl(), clang::Sema::AtomicPropertySetterGetterRules(), ClassImplementsAllMethodsAndProperties(), clang::Sema::DefaultSynthesizeProperties(), and clang::ASTNodeImporter::VisitObjCPropertyImplDecl().
ObjCPropertyImplDecl * ObjCImplDecl::FindPropertyImplIvarDecl | ( | IdentifierInfo * | ivarId | ) | const |
FindPropertyImplIvarDecl - This method lookup the ivar in the list of properties implemented in this @implementation block and returns the implemented property that uses it.
Definition at line 2037 of file DeclObjC.cpp.
References property_impls().
Referenced by clang::Sema::ActOnPropertyImplDecl(), and clang::Sema::DefaultSynthesizeProperties().
|
inline |
Definition at line 2325 of file DeclObjC.h.
Referenced by clang::Sema::ActOnPropertyImplDecl(), clang::Sema::CheckImplementationIvars(), CheckObjCInstMethSignature(), checkObjCUnusedIvar(), clang::CodeGen::CGObjCRuntime::ComputeIvarBaseOffset(), clang::Sema::DefaultSynthesizeProperties(), DiagnoseWeakIvars(), emitCXXDestructMethod(), clang::CodeGen::CodeGenFunction::GenerateObjCCtorDtorMethod(), clang::CodeGen::CodeGenFunction::GenerateObjCGetter(), clang::CodeGen::CodeGenFunction::generateObjCGetterBody(), clang::CodeGen::CodeGenFunction::GenerateObjCSetter(), clang::CodeGen::CodeGenFunction::generateObjCSetterBody(), clang::ASTContext::getASTObjCImplementationLayout(), clang::ObjCCategoryImplDecl::getCategoryDecl(), clang::ObjCImplementationDecl::getIdentifier(), clang::ObjCImplementationDecl::getObjCRuntimeNameAsString(), hasMRCWeakIvars(), LookupFieldBitOffset(), needsDestructMethod(), clang::Sema::SetIvarInitializers(), clang::ASTDeclWriter::VisitObjCImplDecl(), and clang::ASTNodeImporter::VisitObjCImplementationDecl().
|
inline |
Definition at line 2326 of file DeclObjC.h.
|
inline |
Definition at line 2351 of file DeclObjC.h.
References propimpl_begin(), and propimpl_end().
Referenced by createObjCPropertyGetter(), clang::Sema::diagnoseNullResettableSynthesizedSetters(), clang::Sema::DiagnoseOwningPropertyGetterSynthesis(), clang::Sema::DiagnoseUnimplementedProperties(), FindPropertyImplDecl(), FindPropertyImplIvarDecl(), clang::ASTContext::getObjCPropertyImplDeclForPropertyDecl(), and clang::Sema::ImplMethodsVsClassMethods().
|
inline |
Definition at line 2354 of file DeclObjC.h.
References clang::DeclContext::decls_begin().
Referenced by property_impls().
|
inline |
Definition at line 2357 of file DeclObjC.h.
References clang::DeclContext::decls_end().
Referenced by property_impls().
void ObjCImplDecl::setClassInterface | ( | ObjCInterfaceDecl * | IFace | ) |
Definition at line 2015 of file DeclObjC.cpp.
References clang::ObjCInterfaceDecl::FindCategoryDeclaration(), clang::NamedDecl::getIdentifier(), and clang::ASTContext::setObjCImplementation().
Referenced by clang::ASTDeclReader::VisitObjCImplDecl().