class LabelDecl
Declaration
class LabelDecl : public NamedDecl { /* full declaration omitted */ };
Description
Represents the declaration of a label. Labels also have a corresponding LabelStmt, which indicates the position that the label was defined at. For normal labels, the location of the decl is the same as the location of the statement. For GNU local labels (__label__), the decl location is where the __label__ is.
Declared at: clang/include/clang/AST/Decl.h:494
Inherits from: NamedDecl
Member Variables
- private clang::LabelStmt* TheStmt
- private llvm::StringRef MSAsmName
- private bool MSAsmNameResolved = false
- private clang::SourceLocation LocStart
- For normal labels, this is the same as the main declaration label, i.e., the location of the identifier; for GNU local labels, this is the location of the __label__ keyword.
Inherited from Decl:
- protected NextInContextAndBits
- protected Access
- protected FromASTFile
- protected IdentifierNamespace
- protected CacheValidAndLinkage
Method Overview
- public static clang::LabelDecl * Create(clang::ASTContext & C, clang::DeclContext * DC, clang::SourceLocation IdentL, clang::IdentifierInfo * II)
- public static clang::LabelDecl * Create(clang::ASTContext & C, clang::DeclContext * DC, clang::SourceLocation IdentL, clang::IdentifierInfo * II, clang::SourceLocation GnuLabelL)
- public static clang::LabelDecl * CreateDeserialized(clang::ASTContext & C, unsigned int ID)
- private LabelDecl(clang::DeclContext * DC, clang::SourceLocation IdentL, clang::IdentifierInfo * II, clang::LabelStmt * S, clang::SourceLocation StartL)
- private void anchor()
- public static bool classof(const clang::Decl * D)
- public static bool classofKind(clang::Decl::Kind K)
- public llvm::StringRef getMSAsmLabel() const
- public clang::SourceRange getSourceRange() const
- public clang::LabelStmt * getStmt() const
- public bool isGnuLocal() const
- public bool isMSAsmLabel() const
- public bool isResolvedMSAsmLabel() const
- public void setLocStart(clang::SourceLocation L)
- public void setMSAsmLabel(llvm::StringRef Name)
- public void setMSAsmLabelResolved()
- public void setStmt(clang::LabelStmt * T)
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::LabelDecl* Create(
clang::ASTContext& C,
clang::DeclContext* DC,
clang::SourceLocation IdentL,
clang::IdentifierInfo* II)
static clang::LabelDecl* Create(
clang::ASTContext& C,
clang::DeclContext* DC,
clang::SourceLocation IdentL,
clang::IdentifierInfo* II)
Declared at: clang/include/clang/AST/Decl.h:511
Parameters
¶static clang::LabelDecl* Create(
clang::ASTContext& C,
clang::DeclContext* DC,
clang::SourceLocation IdentL,
clang::IdentifierInfo* II,
clang::SourceLocation GnuLabelL)
static clang::LabelDecl* Create(
clang::ASTContext& C,
clang::DeclContext* DC,
clang::SourceLocation IdentL,
clang::IdentifierInfo* II,
clang::SourceLocation GnuLabelL)
Declared at: clang/include/clang/AST/Decl.h:513
Parameters
- clang::ASTContext& C
- clang::DeclContext* DC
- clang::SourceLocation IdentL
- clang::IdentifierInfo* II
- clang::SourceLocation GnuLabelL
¶static clang::LabelDecl* CreateDeserialized(
clang::ASTContext& C,
unsigned int ID)
static clang::LabelDecl* CreateDeserialized(
clang::ASTContext& C,
unsigned int ID)
Declared at: clang/include/clang/AST/Decl.h:516
Parameters
- clang::ASTContext& C
- unsigned int ID
¶LabelDecl(clang::DeclContext* DC,
clang::SourceLocation IdentL,
clang::IdentifierInfo* II,
clang::LabelStmt* S,
clang::SourceLocation StartL)
LabelDecl(clang::DeclContext* DC,
clang::SourceLocation IdentL,
clang::IdentifierInfo* II,
clang::LabelStmt* S,
clang::SourceLocation StartL)
Declared at: clang/include/clang/AST/Decl.h:504
Parameters
- clang::DeclContext* DC
- clang::SourceLocation IdentL
- clang::IdentifierInfo* II
- clang::LabelStmt* S
- clang::SourceLocation StartL
¶void anchor()
void anchor()
Declared at: clang/include/clang/AST/Decl.h:508
¶static bool classof(const clang::Decl* D)
static bool classof(const clang::Decl* D)
Declared at: clang/include/clang/AST/Decl.h:535
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/Decl.h:536
Parameters
- clang::Decl::Kind K
¶llvm::StringRef getMSAsmLabel() const
llvm::StringRef getMSAsmLabel() const
Declared at: clang/include/clang/AST/Decl.h:531
¶clang::SourceRange getSourceRange() const
clang::SourceRange getSourceRange() const
Description
Source range that this declaration covers.
Declared at: clang/include/clang/AST/Decl.h:524
¶clang::LabelStmt* getStmt() const
clang::LabelStmt* getStmt() const
Declared at: clang/include/clang/AST/Decl.h:518
¶bool isGnuLocal() const
bool isGnuLocal() const
Declared at: clang/include/clang/AST/Decl.h:521
¶bool isMSAsmLabel() const
bool isMSAsmLabel() const
Declared at: clang/include/clang/AST/Decl.h:528
¶bool isResolvedMSAsmLabel() const
bool isResolvedMSAsmLabel() const
Declared at: clang/include/clang/AST/Decl.h:529
¶void setLocStart(clang::SourceLocation L)
void setLocStart(clang::SourceLocation L)
Declared at: clang/include/clang/AST/Decl.h:522
Parameters
¶void setMSAsmLabel(llvm::StringRef Name)
void setMSAsmLabel(llvm::StringRef Name)
Declared at: clang/include/clang/AST/Decl.h:530
Parameters
- llvm::StringRef Name
¶void setMSAsmLabelResolved()
void setMSAsmLabelResolved()
Declared at: clang/include/clang/AST/Decl.h:532
¶void setStmt(clang::LabelStmt* T)
void setStmt(clang::LabelStmt* T)
Declared at: clang/include/clang/AST/Decl.h:519