Retains information about a function, method, or block that is currently being parsed. More...
#include "clang/Sema/ScopeInfo.h"
[[clang::musttail]].
-dealloc
, -finalize
, or any method marked with __attribute__((objc_requires_super))
.
Retains information about a function, method, or block that is currently being parsed.
Definition at line 104 of file ScopeInfo.h.
◆ SwitchInfoA SwitchStmt, along with a flag indicating if its list of case statements is incomplete (because we dropped an invalid one while parsing).
Definition at line 205 of file ScopeInfo.h.
◆ WeakObjectUseMapUsed to collect all uses of weak objects in a function body.
Part of the implementation of -Wrepeated-use-of-weak.
Definition at line 378 of file ScopeInfo.h.
◆ WeakUseVectorUsed to collect uses of a particular weak object in a function body.
Part of the implementation of -Wrepeated-use-of-weak.
Definition at line 373 of file ScopeInfo.h.
◆ anonymous enum Enumerator TryLocIsCXX TryLocIsObjC UnknownDefinition at line 190 of file ScopeInfo.h.
◆ ScopeKind Enumerator SK_Function SK_Block SK_Lambda SK_CapturedRegionDefinition at line 106 of file ScopeInfo.h.
◆ FunctionScopeInfo() [1/2] ◆ FunctionScopeInfo() [2/2] ◆ ~FunctionScopeInfo() FunctionScopeInfo::~FunctionScopeInfo ( ) virtualDefinition at line 259 of file ScopeInfo.cpp.
◆ addBlock() void clang::sema::FunctionScopeInfo::addBlock ( const BlockDecl * BD ) inline ◆ addByrefBlockVar() void clang::sema::FunctionScopeInfo::addByrefBlockVar ( VarDecl * VD ) inline ◆ Clear() void FunctionScopeInfo::Clear ( )Clear out the information in this function scope, making it suitable for reuse.
Definition at line 24 of file ScopeInfo.cpp.
References AddrLabels, Blocks, ByrefBlockVars, CoroutineParameterMoves, CoroutinePromise, CoroutineSuspends, FirstCoroutineStmtLoc, FirstCXXOrObjCTryLoc, FirstReturnLoc, FirstSEHTryLoc, FirstVLALoc, FoundImmediateEscalatingExpression, HasBranchIntoScope, HasBranchProtectedScope, HasDroppedStmt, HasFallthroughStmt, HasIndirectGoto, HasOMPDeclareReductionCombiner, HasPotentialAvailabilityViolations, ModifiedNonNullParams, NeedsCoroutineSuspends, ObjCIsDesignatedInit, ObjCIsSecondaryInit, ObjCShouldCallSuper, ObjCWarnForNoDesignatedInitChain, ObjCWarnForNoInitDelegation, PossiblyUnreachableDiags, clang::DiagnosticErrorTrap::reset(), Returns, SwitchStack, and UsesFPIntrin.
◆ getFirstCoroutineStmtKeyword() StringRef clang::sema::FunctionScopeInfo::getFirstCoroutineStmtKeyword ( ) const inline ◆ getWeakObjectUses() const WeakObjectUseMap & clang::sema::FunctionScopeInfo::getWeakObjectUses ( ) const inline ◆ hasInvalidCoroutineSuspends() bool clang::sema::FunctionScopeInfo::hasInvalidCoroutineSuspends ( ) const inline ◆ hasUnrecoverableErrorOccurred() bool clang::sema::FunctionScopeInfo::hasUnrecoverableErrorOccurred ( ) const inlineDetermine whether an unrecoverable error has occurred within this function.
Note that this may return false even if the function body is invalid, because the errors may be suppressed if they're caused by prior invalid declarations.
FIXME: Migrate the caller of this to use containsErrors() instead once it's ready.
Definition at line 412 of file ScopeInfo.h.
References clang::DiagnosticErrorTrap::hasUnrecoverableErrorOccurred().
◆ isCoroutine() bool clang::sema::FunctionScopeInfo::isCoroutine ( ) const inline ◆ isPlainFunction() bool clang::sema::FunctionScopeInfo::isPlainFunction ( ) const inline ◆ markSafeWeakUse() void FunctionScopeInfo::markSafeWeakUse ( const Expr * E ) ◆ NeedsScopeChecking() bool clang::sema::FunctionScopeInfo::NeedsScopeChecking ( ) const inline ◆ recordUseOfWeak() [1/2]template<typename ExprT >
void clang::sema::FunctionScopeInfo::recordUseOfWeak ( const ExprT * E, bool IsRead =true
) inline ◆ recordUseOfWeak() [2/2] ◆ setCoroutineSuspends() void clang::sema::FunctionScopeInfo::setCoroutineSuspends ( Stmt * Initial, Stmt * Final ) inline ◆ setFirstCoroutineStmt() void clang::sema::FunctionScopeInfo::setFirstCoroutineStmt ( SourceLocation Loc, StringRef Keyword ) inline ◆ setHasBranchIntoScope() void clang::sema::FunctionScopeInfo::setHasBranchIntoScope ( ) inline ◆ setHasBranchProtectedScope() void clang::sema::FunctionScopeInfo::setHasBranchProtectedScope ( ) inline ◆ setHasCXXTry() void clang::sema::FunctionScopeInfo::setHasCXXTry ( SourceLocation TryLoc ) inline ◆ setHasDroppedStmt() void clang::sema::FunctionScopeInfo::setHasDroppedStmt ( ) inline ◆ setHasFallthroughStmt() void clang::sema::FunctionScopeInfo::setHasFallthroughStmt ( ) inline ◆ setHasIndirectGoto() void clang::sema::FunctionScopeInfo::setHasIndirectGoto ( ) inline ◆ setHasMustTail() void clang::sema::FunctionScopeInfo::setHasMustTail ( ) inline ◆ setHasObjCTry() void clang::sema::FunctionScopeInfo::setHasObjCTry ( SourceLocation TryLoc ) inline ◆ setHasOMPDeclareReductionCombiner() void clang::sema::FunctionScopeInfo::setHasOMPDeclareReductionCombiner ( ) inline ◆ setHasSEHTry() void clang::sema::FunctionScopeInfo::setHasSEHTry ( SourceLocation TryLoc ) inline ◆ setHasVLA() void clang::sema::FunctionScopeInfo::setHasVLA ( SourceLocation VLALoc ) inline ◆ setNeedsCoroutineSuspends() void clang::sema::FunctionScopeInfo::setNeedsCoroutineSuspends ( bool value = true
) inline ◆ setUsesFPIntrin() void clang::sema::FunctionScopeInfo::setUsesFPIntrin ( ) inline ◆ AddrLabels ◆ Blocks ◆ ByrefBlockVars llvm::TinyPtrVector<VarDecl *> clang::sema::FunctionScopeInfo::ByrefBlockVars ◆ CompoundScopes ◆ CoroutineParameterMoves llvm::SmallMapVector<ParmVarDecl *, Stmt *, 4> clang::sema::FunctionScopeInfo::CoroutineParameterMoves
A mapping between the coroutine function parameters that were moved to the coroutine frame, and their move statements.
Definition at line 221 of file ScopeInfo.h.
Referenced by Clear().
◆ CoroutinePromise VarDecl* clang::sema::FunctionScopeInfo::CoroutinePromise = nullptr ◆ CoroutineSuspends std::pair<Stmt *, Stmt *> clang::sema::FunctionScopeInfo::CoroutineSuspends ◆ FirstCoroutineStmtKind unsigned char clang::sema::FunctionScopeInfo::FirstCoroutineStmtKind ◆ FirstCoroutineStmtLoc ◆ FirstCXXOrObjCTryLoc ◆ FirstReturnLoc ◆ FirstSEHTryLoc ◆ ◆ FirstVLALoc ◆ FoundImmediateEscalatingExpression bool clang::sema::FunctionScopeInfo::FoundImmediateEscalatingExpression ◆ HasBranchIntoScope bool clang::sema::FunctionScopeInfo::HasBranchIntoScope ◆ HasBranchProtectedScope bool clang::sema::FunctionScopeInfo::HasBranchProtectedScope ◆ HasDroppedStmt bool clang::sema::FunctionScopeInfo::HasDroppedStmt ◆ HasFallthroughStmt bool clang::sema::FunctionScopeInfo::HasFallthroughStmt ◆ HasIndirectGoto bool clang::sema::FunctionScopeInfo::HasIndirectGoto ◆ HasMustTail bool clang::sema::FunctionScopeInfo::HasMustTail ◆ HasOMPDeclareReductionCombiner bool clang::sema::FunctionScopeInfo::HasOMPDeclareReductionCombiner ◆ HasPotentialAvailabilityViolations bool clang::sema::FunctionScopeInfo::HasPotentialAvailabilityViolations ◆ Kind ScopeKind clang::sema::FunctionScopeInfo::Kind ◆ ModifiedNonNullParamsA list of parameters which have the nonnull attribute and are modified in the function.
Definition at line 243 of file ScopeInfo.h.
Referenced by Clear().
◆ NeedsCoroutineSuspends bool clang::sema::FunctionScopeInfo::NeedsCoroutineSuspends ◆ ObjCIsDesignatedInit bool clang::sema::FunctionScopeInfo::ObjCIsDesignatedInit ◆ ObjCIsSecondaryInit bool clang::sema::FunctionScopeInfo::ObjCIsSecondaryInit ◆ ObjCShouldCallSuper bool clang::sema::FunctionScopeInfo::ObjCShouldCallSuper ◆ ObjCWarnForNoDesignatedInitChain bool clang::sema::FunctionScopeInfo::ObjCWarnForNoDesignatedInitChain ◆ ObjCWarnForNoInitDelegation bool clang::sema::FunctionScopeInfo::ObjCWarnForNoInitDelegation ◆ PossiblyUnreachableDiags ◆ Returns ◆ SwitchStack ◆ UsesFPIntrin bool clang::sema::FunctionScopeInfo::UsesFPIntrinThe documentation for this class was generated from the following files:
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