clang API Documentation

Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
clang::CFGElement Class Reference

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

#include <CFG.h>

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

List of all members.

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.
template<typename T >
Optional< T > getAs () const
 Convert to the specified CFGElement type, returning None if this CFGElement is not of the desired type.
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 
) [inline, protected]

Definition at line 75 of file CFG.h.

References getKind().

clang::CFGElement::CFGElement ( ) [inline, protected]

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]
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: