class ObjCImplementationDecl
Declaration
class ObjCImplementationDecl : public ObjCImplDecl { /* full declaration omitted */ };
Description
ObjCImplementationDecl - Represents a class definition - this is where method definitions are specified. For example: In a non-fragile runtime, instance variables can appear in the class interface, class extensions (nameless categories), and in the implementation itself, as well as being synthesized as backing storage for properties. In a fragile runtime, instance variables are specified in the class interface, \em not in the implementation. Nevertheless (for legacy reasons), we allow instance variables to be specified in the implementation. When specified, they need to be \em identical to the interface.
Declared at: clang/include/clang/AST/DeclObjC.h:2548
Inherits from: ObjCImplDecl
Member Variables
- private clang::ObjCInterfaceDecl* SuperClass
- Implementation Class's super class.
- private clang::SourceLocation SuperLoc
- private clang::SourceLocation IvarLBraceLoc
- @ implementation may have private ivars.
- private clang::SourceLocation IvarRBraceLoc
- private clang::LazyCXXCtorInitializersPtr IvarInitializers
- Support for ivar initialization. The arguments used to initialize the ivars
- private unsigned int NumIvarInitializers = 0
- private bool HasNonZeroConstructors
- Do the ivars of this class require initialization other than zero-initialization?
- private bool HasDestructors
- Do the ivars of this class require non-trivial destruction?
Inherited from DeclContext:
- protected
- protected FirstDecl = nullptr
- protected LastDecl = nullptr
Inherited from Decl:
- protected NextInContextAndBits
- protected Access
- protected FromASTFile
- protected IdentifierNamespace
- protected CacheValidAndLinkage
Method Overview
- public static clang::ObjCImplementationDecl * Create(clang::ASTContext & C, clang::DeclContext * DC, clang::ObjCInterfaceDecl * classInterface, clang::ObjCInterfaceDecl * superDecl, clang::SourceLocation nameLoc, clang::SourceLocation atStartLoc, clang::SourceLocation superLoc = clang::SourceLocation(), clang::SourceLocation IvarLBraceLoc = clang::SourceLocation(), clang::SourceLocation IvarRBraceLoc = clang::SourceLocation())
- public static clang::ObjCImplementationDecl * CreateDeserialized(clang::ASTContext & C, unsigned int ID)
- private ObjCImplementationDecl(clang::DeclContext * DC, clang::ObjCInterfaceDecl * classInterface, clang::ObjCInterfaceDecl * superDecl, clang::SourceLocation nameLoc, clang::SourceLocation atStartLoc, clang::SourceLocation superLoc = clang::SourceLocation(), clang::SourceLocation IvarLBraceLoc = clang::SourceLocation(), clang::SourceLocation IvarRBraceLoc = clang::SourceLocation())
- private void anchor()
- public static bool classof(const clang::Decl * D)
- public static bool classofKind(clang::Decl::Kind K)
- public clang::IdentifierInfo * getIdentifier() const
- public clang::SourceLocation getIvarLBraceLoc() const
- public clang::SourceLocation getIvarRBraceLoc() const
- public llvm::StringRef getName() const
- public std::string getNameAsString() const
- public unsigned int getNumIvarInitializers() const
- public llvm::StringRef getObjCRuntimeNameAsString() const
- public clang::ObjCInterfaceDecl * getSuperClass()
- public const clang::ObjCInterfaceDecl * getSuperClass() const
- public clang::SourceLocation getSuperClassLoc() const
- public bool hasDestructors() const
- public bool hasNonZeroConstructors() const
- public clang::ObjCImplementationDecl::init_const_iterator init_begin() const
- public clang::ObjCImplementationDecl::init_iterator init_begin()
- public clang::ObjCImplementationDecl::init_const_iterator init_end() const
- public clang::ObjCImplementationDecl::init_iterator init_end()
- public clang::ObjCImplementationDecl::init_range inits()
- public clang::ObjCImplementationDecl::init_const_range inits() const
- public clang::ObjCImplementationDecl::ivar_iterator ivar_begin() const
- public bool ivar_empty() const
- public clang::ObjCImplementationDecl::ivar_iterator ivar_end() const
- public unsigned int ivar_size() const
- public clang::ObjCImplementationDecl::ivar_range ivars() const
- public void setHasDestructors(bool val)
- public void setHasNonZeroConstructors(bool val)
- public void setIvarInitializers(clang::ASTContext & C, clang::CXXCtorInitializer ** initializers, unsigned int numInitializers)
- public void setIvarLBraceLoc(clang::SourceLocation Loc)
- public void setIvarRBraceLoc(clang::SourceLocation Loc)
- public void setNumIvarInitializers(unsigned int numNumIvarInitializers)
- public void setSuperClass(clang::ObjCInterfaceDecl * superCls)
Inherited from ObjCImplDecl:
- public FindPropertyImplDecl
- public FindPropertyImplIvarDecl
- public addClassMethod
- public addInstanceMethod
- public addPropertyImplementation
- public classof
- public classofKind
- public getClassInterface
- public getClassInterface
- public property_impls
- public propimpl_begin
- public propimpl_end
- public setClassInterface
Inherited from ObjCContainerDecl:
- public FindPropertyDeclaration
- public HasUserDeclaredSetterMethod
- public castFromDeclContext
- public castToDeclContext
- public class_methods
- public class_properties
- public classmeth_begin
- public classmeth_end
- public classof
- public classofKind
- public classprop_begin
- public classprop_end
- public collectPropertiesToImplement
- public getAtEndRange
- public getAtStartLoc
- public getClassMethod
- public getInstanceMethod
- public getIvarDecl
- public getMethod
- public getProperty
- public getSourceRange
- public instance_methods
- public instance_properties
- public instmeth_begin
- public instmeth_end
- public instprop_begin
- public instprop_end
- public meth_begin
- public meth_end
- public methods
- public prop_begin
- public prop_end
- public properties
- public setAtEndRange
- public setAtStartLoc
Inherited from DeclContext:
- protected BuildDeclChain
- public Encloses
- public Equals
- public InEnclosingNamespaceSetOf
- public addDecl
- public addDeclInternal
- public addHiddenDecl
- public buildLookup
- public classof
- public classof
- public collectAllContexts
- public containsDecl
- public containsDeclAndLoad
- public ddiags
- public decls
- public decls_begin
- public decls_empty
- public decls_end
- public dumpDeclContext
- public dumpLookups
- public dumpLookups
- public getDeclKind
- public getDeclKindName
- public getEnclosingNamespaceContext
- public getEnclosingNamespaceContext
- public getExternCContext
- public getInnermostBlockDecl
- public getLexicalParent
- public getLexicalParent
- public getLookupParent
- public getLookupParent
- public getLookupPtr
- public getNonClosureAncestor
- public getNonClosureAncestor
- public getNonTransparentContext
- public getNonTransparentContext
- public getOuterLexicalRecordContext
- public getOuterLexicalRecordContext
- public getParent
- public getParent
- public getParentASTContext
- public getPrimaryContext
- public getPrimaryContext
- public getRedeclContext
- public getRedeclContext
- public hasExternalLexicalStorage
- public hasExternalVisibleStorage
- public isClosure
- public isDeclInLexicalTraversal
- public isDependentContext
- public isExternCContext
- public isExternCXXContext
- public isFileContext
- public isFunctionOrMethod
- public isInlineNamespace
- public isLookupContext
- public isNamespace
- public isObjCContainer
- public isRecord
- public isStdNamespace
- public isTranslationUnit
- public isTransparentContext
- public localUncachedLookup
- public lookup
- public lookups
- public lookups_begin
- public lookups_end
- public makeDeclVisibleInContext
- public noload_decls
- public noload_decls_begin
- public noload_decls_end
- public noload_lookup
- public noload_lookups
- public noload_lookups_begin
- public noload_lookups_end
- public removeDecl
- public setHasExternalLexicalStorage
- public setHasExternalVisibleStorage
- public setMustBuildLookupTable
- public setUseQualifiedLookup
- public shouldUseQualifiedLookup
- public using_directives
Inherited from NamedDecl:
- public classof
- public classofKind
- public declarationReplaces
- public getDeclName
- public getExplicitVisibility
- public getFormalLinkage
- public getIdentifier
- public getLinkageAndVisibility
- public getLinkageInternal
- public getMostRecentDecl
- public getMostRecentDecl
- public getName
- public getNameAsString
- public getNameForDiagnostic
- public getObjCFStringFormattingFamily
- public getQualifiedNameAsString
- public getUnderlyingDecl
- public getUnderlyingDecl
- public getVisibility
- public hasExternalFormalLinkage
- public hasLinkage
- public hasLinkageBeenComputed
- public isCXXClassMember
- public isCXXInstanceMember
- public isExternallyDeclarable
- public isExternallyVisible
- public isLinkageValid
- public isReserved
- public printName
- public printNestedNameSpecifier
- public printNestedNameSpecifier
- public printQualifiedName
- public printQualifiedName
- public setDeclName
Inherited from Decl:
- public EnableStatistics
- public PrintStats
- public add
- public addAttr
- public attr_begin
- public attr_end
- public attrs
- public canBeWeakImported
- public castFromDeclContext
- public castToDeclContext
- public classofKind
- public dropAttr
- public dropAttrs
- public dump
- public dump
- public dumpColor
- public getASTContext
- protected getASTMutationListener
- public getAccess
- public getAccessUnsafe
- public getAsFunction
- public getAsFunction
- public getAttr
- public getAttrs
- public getAttrs
- public getAvailability
- public getBeginLoc
- public getBody
- public getBodyRBrace
- protected getCachedLinkage
- public getCanonicalDecl
- public getCanonicalDecl
- public getDeclContext
- public getDeclContext
- public getDeclKindName
- public getDefiningAttr
- public getDescribedTemplate
- public getDescribedTemplateParams
- public getEndLoc
- public getExternalSourceSymbolAttr
- public getFriendObjectKind
- public getFunctionType
- public getGlobalID
- public getID
- public getIdentifierNamespace
- public getIdentifierNamespaceForKind
- public getImportedOwningModule
- public getKind
- public getLangOpts
- public getLexicalDeclContext
- public getLexicalDeclContext
- public getLocalOwningModule
- public getLocation
- public getMaxAlignment
- public getModuleOwnershipKind
- public getMostRecentDecl
- public getMostRecentDecl
- protected getMostRecentDeclImpl
- public getNextDeclInContext
- public getNextDeclInContext
- protected getNextRedeclarationImpl
- public getNonClosureContext
- public getNonClosureContext
- public getOwningModule
- public getOwningModuleForLinkage
- public getOwningModuleID
- public getParentFunctionOrMethod
- public getParentFunctionOrMethod
- public getPreviousDecl
- public getPreviousDecl
- protected getPreviousDeclImpl
- public getSourceRange
- public getTemplateDepth
- public getTranslationUnitDecl
- public getTranslationUnitDecl
- public getVersionIntroduced
- public hasAttr
- public hasAttrs
- public hasBody
- protected hasCachedLinkage
- public hasDefiningAttr
- protected hasLocalOwningModuleStorage
- public hasOwningModule
- public hasTagIdentifierNamespace
- public isCanonicalDecl
- public isDefinedOutsideFunctionOrMethod
- public isDeprecated
- public isDiscardedInGlobalModuleFragment
- public isFirstDecl
- public isFromASTFile
- public isFunctionOrFunctionTemplate
- public isImplicit
- public isInAnonymousNamespace
- public isInExportDeclContext
- public isInIdentifierNamespace
- public isInLocalScopeForInstantiation
- public isInStdNamespace
- public isInvalidDecl
- public isInvisibleOutsideTheOwningModule
- public isLocalExternDecl
- public isModulePrivate
- public isOutOfLine
- public isParameterPack
- public isReachable
- public isReferenced
- public isTagIdentifierNamespace
- public isTemplateDecl
- public isTemplateParameter
- public isTemplateParameterPack
- public isTemplated
- public isThisDeclarationReferenced
- public isTopLevelDeclInObjCContainer
- public isUnavailable
- public isUnconditionallyVisible
- public isUsed
- public isWeakImported
- public markUsed
- public print
- public print
- public printGroup
- public redecls
- public redecls_begin
- public redecls_end
- public setAccess
- public setAttrs
- protected setCachedLinkage
- public setDeclContext
- public setFromASTFile
- public setImplicit
- public setInvalidDecl
- public setIsUsed
- public setLexicalDeclContext
- public setLocalExternDecl
- public setLocalOwningModule
- public setLocation
- public setModuleOwnershipKind
- protected setModulePrivate
- public setNonMemberOperator
- public setObjectOfFriendDecl
- public setOwningModuleID
- public setReferenced
- public setTopLevelDeclInObjCContainer
- public setVisibleDespiteOwningModule
- public specific_attr_begin
- public specific_attr_end
- public specific_attrs
- protected updateOutOfDate
Methods
¶static clang::ObjCImplementationDecl* Create(
clang::ASTContext& C,
clang::DeclContext* DC,
clang::ObjCInterfaceDecl* classInterface,
clang::ObjCInterfaceDecl* superDecl,
clang::SourceLocation nameLoc,
clang::SourceLocation atStartLoc,
clang::SourceLocation superLoc =
clang::SourceLocation(),
clang::SourceLocation IvarLBraceLoc =
clang::SourceLocation(),
clang::SourceLocation IvarRBraceLoc =
clang::SourceLocation())
static clang::ObjCImplementationDecl* Create(
clang::ASTContext& C,
clang::DeclContext* DC,
clang::ObjCInterfaceDecl* classInterface,
clang::ObjCInterfaceDecl* superDecl,
clang::SourceLocation nameLoc,
clang::SourceLocation atStartLoc,
clang::SourceLocation superLoc =
clang::SourceLocation(),
clang::SourceLocation IvarLBraceLoc =
clang::SourceLocation(),
clang::SourceLocation IvarRBraceLoc =
clang::SourceLocation())
Declared at: clang/include/clang/AST/DeclObjC.h:2590
Parameters
- clang::ASTContext& C
- clang::DeclContext* DC
- clang::ObjCInterfaceDecl* classInterface
- clang::ObjCInterfaceDecl* superDecl
- clang::SourceLocation nameLoc
- clang::SourceLocation atStartLoc
- clang::SourceLocation superLoc = clang::SourceLocation()
- clang::SourceLocation IvarLBraceLoc = clang::SourceLocation()
- clang::SourceLocation IvarRBraceLoc = clang::SourceLocation()
¶static clang::ObjCImplementationDecl*
CreateDeserialized(clang::ASTContext& C,
unsigned int ID)
static clang::ObjCImplementationDecl*
CreateDeserialized(clang::ASTContext& C,
unsigned int ID)
Declared at: clang/include/clang/AST/DeclObjC.h:2599
Parameters
- clang::ASTContext& C
- unsigned int ID
¶ObjCImplementationDecl(
clang::DeclContext* DC,
clang::ObjCInterfaceDecl* classInterface,
clang::ObjCInterfaceDecl* superDecl,
clang::SourceLocation nameLoc,
clang::SourceLocation atStartLoc,
clang::SourceLocation superLoc =
clang::SourceLocation(),
clang::SourceLocation IvarLBraceLoc =
clang::SourceLocation(),
clang::SourceLocation IvarRBraceLoc =
clang::SourceLocation())
ObjCImplementationDecl(
clang::DeclContext* DC,
clang::ObjCInterfaceDecl* classInterface,
clang::ObjCInterfaceDecl* superDecl,
clang::SourceLocation nameLoc,
clang::SourceLocation atStartLoc,
clang::SourceLocation superLoc =
clang::SourceLocation(),
clang::SourceLocation IvarLBraceLoc =
clang::SourceLocation(),
clang::SourceLocation IvarRBraceLoc =
clang::SourceLocation())
Declared at: clang/include/clang/AST/DeclObjC.h:2569
Parameters
- clang::DeclContext* DC
- clang::ObjCInterfaceDecl* classInterface
- clang::ObjCInterfaceDecl* superDecl
- clang::SourceLocation nameLoc
- clang::SourceLocation atStartLoc
- clang::SourceLocation superLoc = clang::SourceLocation()
- clang::SourceLocation IvarLBraceLoc = clang::SourceLocation()
- clang::SourceLocation IvarRBraceLoc = clang::SourceLocation()
¶void anchor()
void anchor()
Declared at: clang/include/clang/AST/DeclObjC.h:2584
¶static bool classof(const clang::Decl* D)
static bool classof(const clang::Decl* D)
Declared at: clang/include/clang/AST/DeclObjC.h:2715
Parameters
- const clang::Decl* D
¶static bool classofKind(clang::Decl::Kind K)
static bool classofKind(clang::Decl::Kind K)
Declared at: clang/include/clang/AST/DeclObjC.h:2716
Parameters
- clang::Decl::Kind K
¶clang::IdentifierInfo* getIdentifier() const
clang::IdentifierInfo* getIdentifier() const
Description
getIdentifier - Get the identifier that names the class interface associated with this implementation.
Declared at: clang/include/clang/AST/DeclObjC.h:2660
¶clang::SourceLocation getIvarLBraceLoc() const
clang::SourceLocation getIvarLBraceLoc() const
Declared at: clang/include/clang/AST/DeclObjC.h:2690
¶clang::SourceLocation getIvarRBraceLoc() const
clang::SourceLocation getIvarRBraceLoc() const
Declared at: clang/include/clang/AST/DeclObjC.h:2692
¶llvm::StringRef getName() const
llvm::StringRef getName() const
Description
getName - Get the name of identifier for the class interface associated with this implementation as a StringRef.
Declared at: clang/include/clang/AST/DeclObjC.h:2669
¶std::string getNameAsString() const
std::string getNameAsString() const
Description
Get the name of the class associated with this interface.
Declared at: clang/include/clang/AST/DeclObjC.h:2677
¶unsigned int getNumIvarInitializers() const
unsigned int getNumIvarInitializers() const
Description
getNumArgs - Number of ivars which must be initialized.
Declared at: clang/include/clang/AST/DeclObjC.h:2636
¶llvm::StringRef getObjCRuntimeNameAsString() const
llvm::StringRef getObjCRuntimeNameAsString() const
Description
Produce a name to be used for class's metadata. It comes either via class's objc_runtime_name attribute or class name.
Declared at: clang/include/clang/AST/DeclObjC.h:2681
¶clang::ObjCInterfaceDecl* getSuperClass()
clang::ObjCInterfaceDecl* getSuperClass()
Declared at: clang/include/clang/AST/DeclObjC.h:2684
¶const clang::ObjCInterfaceDecl* getSuperClass()
const
const clang::ObjCInterfaceDecl* getSuperClass()
const
Declared at: clang/include/clang/AST/DeclObjC.h:2683
¶clang::SourceLocation getSuperClassLoc() const
clang::SourceLocation getSuperClassLoc() const
Declared at: clang/include/clang/AST/DeclObjC.h:2685
¶bool hasDestructors() const
bool hasDestructors() const
Description
Do any of the ivars of this class (not counting its base classes) require non-trivial destruction?
Declared at: clang/include/clang/AST/DeclObjC.h:2655
¶bool hasNonZeroConstructors() const
bool hasNonZeroConstructors() const
Description
Do any of the ivars of this class (not counting its base classes) require construction other than zero-initialization?
Declared at: clang/include/clang/AST/DeclObjC.h:2650
¶clang::ObjCImplementationDecl::init_const_iterator
init_begin() const
clang::ObjCImplementationDecl::init_const_iterator
init_begin() const
Description
begin() - Retrieve an iterator to the first initializer.
Declared at: clang/include/clang/AST/DeclObjC.h:2623
¶clang::ObjCImplementationDecl::init_iterator
init_begin()
clang::ObjCImplementationDecl::init_iterator
init_begin()
Description
init_begin() - Retrieve an iterator to the first initializer.
Declared at: clang/include/clang/AST/DeclObjC.h:2617
¶clang::ObjCImplementationDecl::init_const_iterator
init_end() const
clang::ObjCImplementationDecl::init_const_iterator
init_end() const
Description
end() - Retrieve an iterator past the last initializer.
Declared at: clang/include/clang/AST/DeclObjC.h:2631
¶clang::ObjCImplementationDecl::init_iterator
init_end()
clang::ObjCImplementationDecl::init_iterator
init_end()
Description
init_end() - Retrieve an iterator past the last initializer.
Declared at: clang/include/clang/AST/DeclObjC.h:2626
¶clang::ObjCImplementationDecl::init_range inits()
clang::ObjCImplementationDecl::init_range inits()
Declared at: clang/include/clang/AST/DeclObjC.h:2610
¶clang::ObjCImplementationDecl::init_const_range
inits() const
clang::ObjCImplementationDecl::init_const_range
inits() const
Declared at: clang/include/clang/AST/DeclObjC.h:2612
¶clang::ObjCImplementationDecl::ivar_iterator
ivar_begin() const
clang::ObjCImplementationDecl::ivar_iterator
ivar_begin() const
Declared at: clang/include/clang/AST/DeclObjC.h:2699
¶bool ivar_empty() const
bool ivar_empty() const
Declared at: clang/include/clang/AST/DeclObjC.h:2711
¶clang::ObjCImplementationDecl::ivar_iterator
ivar_end() const
clang::ObjCImplementationDecl::ivar_iterator
ivar_end() const
Declared at: clang/include/clang/AST/DeclObjC.h:2703
¶unsigned int ivar_size() const
unsigned int ivar_size() const
Declared at: clang/include/clang/AST/DeclObjC.h:2707
¶clang::ObjCImplementationDecl::ivar_range ivars()
const
clang::ObjCImplementationDecl::ivar_range ivars()
const
Declared at: clang/include/clang/AST/DeclObjC.h:2697
¶void setHasDestructors(bool val)
void setHasDestructors(bool val)
Declared at: clang/include/clang/AST/DeclObjC.h:2656
Parameters
- bool val
¶void setHasNonZeroConstructors(bool val)
void setHasNonZeroConstructors(bool val)
Declared at: clang/include/clang/AST/DeclObjC.h:2651
Parameters
- bool val
¶void setIvarInitializers(
clang::ASTContext& C,
clang::CXXCtorInitializer** initializers,
unsigned int numInitializers)
void setIvarInitializers(
clang::ASTContext& C,
clang::CXXCtorInitializer** initializers,
unsigned int numInitializers)
Declared at: clang/include/clang/AST/DeclObjC.h:2644
Parameters
- clang::ASTContext& C
- clang::CXXCtorInitializer** initializers
- unsigned int numInitializers
¶void setIvarLBraceLoc(clang::SourceLocation Loc)
void setIvarLBraceLoc(clang::SourceLocation Loc)
Declared at: clang/include/clang/AST/DeclObjC.h:2689
Parameters
¶void setIvarRBraceLoc(clang::SourceLocation Loc)
void setIvarRBraceLoc(clang::SourceLocation Loc)
Declared at: clang/include/clang/AST/DeclObjC.h:2691
Parameters
¶void setNumIvarInitializers(
unsigned int numNumIvarInitializers)
void setNumIvarInitializers(
unsigned int numNumIvarInitializers)
Declared at: clang/include/clang/AST/DeclObjC.h:2640
Parameters
- unsigned int numNumIvarInitializers
¶void setSuperClass(
clang::ObjCInterfaceDecl* superCls)
void setSuperClass(
clang::ObjCInterfaceDecl* superCls)
Declared at: clang/include/clang/AST/DeclObjC.h:2687
Parameters
- clang::ObjCInterfaceDecl* superCls