clang 23.0.0git
clang::CFGScopeEnd Class Reference

Represents end of a scope implicitly generated by the compiler after the last Stmt in a CompoundStmt's body. More...

#include "clang/Analysis/CFG.h"

Inheritance diagram for clang::CFGScopeEnd:
[legend]

Public Member Functions

 CFGScopeEnd ()
 CFGScopeEnd (const VarDecl *VD, const Stmt *S)
const VarDeclgetVarDecl () const
Public Member Functions inherited from clang::CFGScopeMarker
LLVM_ATTRIBUTE_RETURNS_NONNULL const StmtgetTriggerStmt () const
Public Member Functions inherited from clang::CFGElement
template<typename T>
castAs () const
 Convert to the specified CFGElement type, asserting that this CFGElement is of the desired type.
template<typename T>
std::optional< T > getAs () const
 Convert to the specified CFGElement type, returning std::nullopt if this CFGElement is not of the desired type.
Kind getKind () const
void dumpToStream (llvm::raw_ostream &OS, bool TerminateWithNewLine=true) const
void dump () const

Friends

class CFGElement

Additional Inherited Members

Public Types inherited from clang::CFGElement
enum  Kind {
  Initializer , NewAllocator , LoopExit , FullExprCleanup ,
  ScopeBegin , ScopeEnd , LifetimeEnds , SCOPE_BEGIN = ScopeBegin ,
  SCOPE_END = LifetimeEnds , Statement , Constructor , CXXRecordTypedCall ,
  STMT_BEGIN = Statement , STMT_END = CXXRecordTypedCall , AutomaticObjectDtor , DeleteDtor ,
  BaseDtor , MemberDtor , TemporaryDtor , DTOR_BEGIN = AutomaticObjectDtor ,
  DTOR_END = TemporaryDtor , CleanupFunction
}
Protected Member Functions inherited from clang::CFGScopeMarker
 CFGScopeMarker ()=default
 CFGScopeMarker (Kind K, const Stmt *S, const void *Ptr2=nullptr)
Protected Member Functions inherited from clang::CFGElement
 CFGElement (Kind kind, const void *Ptr1, const void *Ptr2=nullptr)
 CFGElement ()=default
Protected Attributes inherited from clang::CFGElement
llvm::PointerIntPair< const void *, 2 > Data1
llvm::PointerIntPair< const void *, 2 > Data2

Detailed Description

Represents end of a scope implicitly generated by the compiler after the last Stmt in a CompoundStmt's body.

Definition at line 395 of file CFG.h.

Constructor & Destructor Documentation

◆ CFGScopeEnd() [1/2]

clang::CFGScopeEnd::CFGScopeEnd ( )
inline

Definition at line 397 of file CFG.h.

◆ CFGScopeEnd() [2/2]

clang::CFGScopeEnd::CFGScopeEnd ( const VarDecl * VD,
const Stmt * S )
inline

Definition at line 398 of file CFG.h.

References clang::CFGScopeMarker::CFGScopeMarker(), and clang::CFGElement::ScopeEnd.

Member Function Documentation

◆ getVarDecl()

const VarDecl * clang::CFGScopeEnd::getVarDecl ( ) const
inline

Definition at line 401 of file CFG.h.

References clang::CFGElement::Data2.

Referenced by print_elem().

◆ CFGElement

friend class CFGElement
friend

Definition at line 406 of file CFG.h.

References CFGElement, and clang::CFGElement::ScopeEnd.

Referenced by CFGElement.


The documentation for this class was generated from the following file: