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

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

#include <CFG.h>

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

Public Types

enum  Kind {
  Statement, Initializer, NewAllocator, 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 ()
 

Protected Attributes

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

Detailed Description

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

Definition at line 53 of file CFG.h.

Member Enumeration Documentation

Enumerator
Statement 
Initializer 
NewAllocator 
AutomaticObjectDtor 
DeleteDtor 
BaseDtor 
MemberDtor 
TemporaryDtor 
DTOR_BEGIN 
DTOR_END 

Definition at line 55 of file CFG.h.

Constructor & Destructor Documentation

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

Definition at line 75 of file CFG.h.

References getKind().

clang::CFGElement::CFGElement ( )
inlineprotected

Definition at line 81 of file CFG.h.

Member Function Documentation

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

Convert to the specified CFGElement type, returning None if this CFGElement is not of the desired type.

Definition at line 98 of file CFG.h.

References clang::None.

Referenced by Accumulate(), CheckFallThrough(), clang::CallEventManager::getCaller(), getRegionForConstructedObject(), neverReturns(), print_elem(), ResolveCondition(), and clang::ento::ExprEngine::VisitGuardedExpr().

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

Member Data Documentation

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

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