clang  8.0.0svn
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
clang::CFGElement Class Reference

Represents a top-level expression in a basic block. More...

#include "clang/Analysis/CFG.h"

Inheritance diagram for clang::CFGElement:
Inheritance graph
[legend]
Collaboration diagram for clang::CFGElement:
Collaboration graph
[legend]

Public Types

enum  Kind {
  Initializer, ScopeBegin, ScopeEnd, NewAllocator,
  LifetimeEnds, LoopExit, Statement, Constructor,
  CXXRecordTypedCall, STMT_BEGIN = Statement, STMT_END = CXXRecordTypedCall, AutomaticObjectDtor,
  DeleteDtor, BaseDtor, MemberDtor, TemporaryDtor,
  DTOR_BEGIN = AutomaticObjectDtor, DTOR_END = TemporaryDtor
}
 

Public Member Functions

template<typename T >
castAs () const
 Convert to the specified CFGElement type, asserting that this CFGElement is of the desired type. More...
 
template<typename T >
Optional< T > getAs () const
 Convert to the specified CFGElement type, returning None if this CFGElement is not of the desired type. More...
 
Kind getKind () const
 

Protected Member Functions

 CFGElement (Kind kind, const void *Ptr1, const void *Ptr2=nullptr)
 
 CFGElement ()=default
 

Protected Attributes

llvm::PointerIntPair< void *, 2 > Data1
 
llvm::PointerIntPair< void *, 2 > Data2
 

Detailed Description

Represents a top-level expression in a basic block.

Definition at line 56 of file CFG.h.

Member Enumeration Documentation

◆ Kind

Enumerator
Initializer 
ScopeBegin 
ScopeEnd 
NewAllocator 
LifetimeEnds 
LoopExit 
Statement 
Constructor 
CXXRecordTypedCall 
STMT_BEGIN 
STMT_END 
AutomaticObjectDtor 
DeleteDtor 
BaseDtor 
MemberDtor 
TemporaryDtor 
DTOR_BEGIN 
DTOR_END 

Definition at line 58 of file CFG.h.

Constructor & Destructor Documentation

◆ CFGElement() [1/2]

clang::CFGElement::CFGElement ( Kind  kind,
const void *  Ptr1,
const void *  Ptr2 = nullptr 
)
inlineprotected

Definition at line 87 of file CFG.h.

References CFGElement(), and getKind().

◆ CFGElement() [2/2]

clang::CFGElement::CFGElement ( )
protecteddefault

Referenced by CFGElement().

Member Function Documentation

◆ castAs()

template<typename T >
T clang::CFGElement::castAs ( ) const
inline

◆ getAs()

template<typename T >
Optional<T> clang::CFGElement::getAs ( ) const
inline

◆ getKind()

Kind clang::CFGElement::getKind ( ) const
inline

Member Data Documentation

◆ Data1

llvm::PointerIntPair<void *, 2> clang::CFGElement::Data1
protected

◆ Data2

llvm::PointerIntPair<void *, 2> clang::CFGElement::Data2
protected

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