clang 23.0.0git
clang::CFGFullExprCleanup Class Reference

#include "clang/Analysis/CFG.h"

Inheritance diagram for clang::CFGFullExprCleanup:
[legend]

Public Types

using MTEVecTy = BumpVector<const MaterializeTemporaryExpr *>
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
}

Public Member Functions

 CFGFullExprCleanup (const MTEVecTy *MTEs, const ExprWithCleanups *CleanupExpr)
const ExprWithCleanupsgetCleanupExpr () const
SourceLocation getCleanupLoc () const
ArrayRef< const MaterializeTemporaryExpr * > getExpiringMTEs () 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

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

Definition at line 340 of file CFG.h.

Member Typedef Documentation

◆ MTEVecTy

Constructor & Destructor Documentation

◆ CFGFullExprCleanup()

clang::CFGFullExprCleanup::CFGFullExprCleanup ( const MTEVecTy * MTEs,
const ExprWithCleanups * CleanupExpr )
inlineexplicit

Definition at line 344 of file CFG.h.

References CFGElement, and clang::CFGElement::FullExprCleanup.

Member Function Documentation

◆ getCleanupExpr()

const ExprWithCleanups * clang::CFGFullExprCleanup::getCleanupExpr ( ) const
inline

Definition at line 348 of file CFG.h.

References clang::CFGElement::Data2.

Referenced by getCleanupLoc().

◆ getCleanupLoc()

SourceLocation clang::CFGFullExprCleanup::getCleanupLoc ( ) const
inline

Definition at line 352 of file CFG.h.

References getCleanupExpr(), and clang::ExprWithCleanups::getEndLoc().

◆ getExpiringMTEs()

ArrayRef< const MaterializeTemporaryExpr * > clang::CFGFullExprCleanup::getExpiringMTEs ( ) const
inline

◆ CFGElement

friend class CFGElement
friend

Definition at line 364 of file CFG.h.

References CFGElement, and clang::CFGElement::FullExprCleanup.

Referenced by CFGElement, and CFGFullExprCleanup().


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