Logo ROOT   6.08/07
Reference Guide
List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
TClingDataMemberInfo Class Reference

Emulation of the CINT DataMemberInfo class.

The CINT C++ interpreter provides an interface to metadata about the data members of a class through the DataMemberInfo class. This class provides the same functionality, using an interface as close as possible to DataMemberInfo but the data member metadata comes from the Clang C++ compiler, not CINT.

Definition at line 53 of file TClingDataMemberInfo.h.

Public Types

typedef TDictionary::DeclId_t DeclId_t
 

Public Member Functions

 TClingDataMemberInfo (cling::Interpreter *interp)
 
 TClingDataMemberInfo (cling::Interpreter *, TClingClassInfo *)
 
 TClingDataMemberInfo (cling::Interpreter *, const clang::ValueDecl *, TClingClassInfo *)
 
 TClingDataMemberInfo (const TClingDataMemberInfo &rhs)
 
 ~TClingDataMemberInfo ()
 
int ArrayDim () const
 
TClingClassInfoGetClassInfo () const
 
const clang::Decl * GetDecl () const
 
DeclId_t GetDeclId () const
 
int InternalNext ()
 
bool IsValid () const
 
int MaxIndex (int dim) const
 
const char * Name () const
 
bool Next ()
 
long Offset ()
 
TClingDataMemberInfooperator= (const TClingDataMemberInfo &rhs)
 
long Property () const
 
const char * Title ()
 
const char * TypeName () const
 
long TypeProperty () const
 
int TypeSize () const
 
const char * TypeTrueName (const ROOT::TMetaUtils::TNormalizedCtxt &normCtxt) const
 
llvm::StringRef ValidArrayIndex () const
 

Private Member Functions

void CheckForIoTypeAndName () const
 

Private Attributes

TClingClassInfofClassInfo
 
union {
   double   fDouble
 
   float   fFloat
 
   long   fLong
 
fConstInitVal
 
unsigned int fContextIdx
 
llvm::SmallVector< clang::DeclContext *, 2 > fContexts
 
bool fFirstTime
 
cling::Interpreter * fInterp
 
std::string fIoName
 
std::string fIoType
 
clang::DeclContext::decl_iterator fIter
 
std::vector< clang::DeclContext::decl_iterator > fIterStack
 
const clang::ValueDecl * fSingleDecl
 
std::string fTitle
 

#include </mnt/build/workspace/root-makedoc-v608/rootspi/rdoc/src/v6-08-00-patches/core/meta/src/TClingDataMemberInfo.h>

Member Typedef Documentation

◆ DeclId_t

Definition at line 124 of file TClingDataMemberInfo.h.

Constructor & Destructor Documentation

◆ ~TClingDataMemberInfo()

TClingDataMemberInfo::~TClingDataMemberInfo ( )
inline

Definition at line 79 of file TClingDataMemberInfo.h.

◆ TClingDataMemberInfo() [1/4]

TClingDataMemberInfo::TClingDataMemberInfo ( cling::Interpreter *  interp)
inlineexplicit

Definition at line 81 of file TClingDataMemberInfo.h.

◆ TClingDataMemberInfo() [2/4]

TClingDataMemberInfo::TClingDataMemberInfo ( cling::Interpreter *  interp,
TClingClassInfo ci 
)

Definition at line 48 of file TClingDataMemberInfo.cxx.

◆ TClingDataMemberInfo() [3/4]

TClingDataMemberInfo::TClingDataMemberInfo ( cling::Interpreter *  interp,
const clang::ValueDecl *  ValD,
TClingClassInfo ci 
)

Definition at line 78 of file TClingDataMemberInfo.cxx.

◆ TClingDataMemberInfo() [4/4]

TClingDataMemberInfo::TClingDataMemberInfo ( const TClingDataMemberInfo rhs)
inline

Definition at line 96 of file TClingDataMemberInfo.h.

Member Function Documentation

◆ ArrayDim()

int TClingDataMemberInfo::ArrayDim ( ) const

Definition at line 122 of file TClingDataMemberInfo.cxx.

◆ CheckForIoTypeAndName()

void TClingDataMemberInfo::CheckForIoTypeAndName ( ) const
inlineprivate

Definition at line 96 of file TClingDataMemberInfo.cxx.

◆ GetClassInfo()

TClingClassInfo* TClingDataMemberInfo::GetClassInfo ( ) const
inline

Definition at line 127 of file TClingDataMemberInfo.h.

◆ GetDecl()

const clang::Decl* TClingDataMemberInfo::GetDecl ( ) const
inline

Definition at line 128 of file TClingDataMemberInfo.h.

◆ GetDeclId()

TDictionary::DeclId_t TClingDataMemberInfo::GetDeclId ( ) const

Definition at line 114 of file TClingDataMemberInfo.cxx.

◆ InternalNext()

int TClingDataMemberInfo::InternalNext ( )

Definition at line 236 of file TClingDataMemberInfo.cxx.

◆ IsValid()

bool TClingDataMemberInfo::IsValid ( ) const
inline

Definition at line 130 of file TClingDataMemberInfo.h.

◆ MaxIndex()

int TClingDataMemberInfo::MaxIndex ( int  dim) const

Definition at line 169 of file TClingDataMemberInfo.cxx.

◆ Name()

const char * TClingDataMemberInfo::Name ( ) const

Definition at line 584 of file TClingDataMemberInfo.cxx.

◆ Next()

bool TClingDataMemberInfo::Next ( )
inline

Definition at line 133 of file TClingDataMemberInfo.h.

◆ Offset()

long TClingDataMemberInfo::Offset ( )

Definition at line 300 of file TClingDataMemberInfo.cxx.

◆ operator=()

TClingDataMemberInfo& TClingDataMemberInfo::operator= ( const TClingDataMemberInfo rhs)
inline

Definition at line 109 of file TClingDataMemberInfo.h.

◆ Property()

long TClingDataMemberInfo::Property ( ) const

Definition at line 379 of file TClingDataMemberInfo.cxx.

◆ Title()

const char * TClingDataMemberInfo::Title ( )

Definition at line 607 of file TClingDataMemberInfo.cxx.

◆ TypeName()

const char * TClingDataMemberInfo::TypeName ( ) const

Definition at line 522 of file TClingDataMemberInfo.cxx.

◆ TypeProperty()

long TClingDataMemberInfo::TypeProperty ( ) const

Definition at line 488 of file TClingDataMemberInfo.cxx.

◆ TypeSize()

int TClingDataMemberInfo::TypeSize ( ) const

Definition at line 498 of file TClingDataMemberInfo.cxx.

◆ TypeTrueName()

const char * TClingDataMemberInfo::TypeTrueName ( const ROOT::TMetaUtils::TNormalizedCtxt normCtxt) const

Definition at line 552 of file TClingDataMemberInfo.cxx.

◆ ValidArrayIndex()

llvm::StringRef TClingDataMemberInfo::ValidArrayIndex ( ) const

Definition at line 643 of file TClingDataMemberInfo.cxx.

Member Data Documentation

◆ fClassInfo

TClingClassInfo* TClingDataMemberInfo::fClassInfo
private

Definition at line 58 of file TClingDataMemberInfo.h.

◆ fConstInitVal

union { ... } TClingDataMemberInfo::fConstInitVal

◆ fContextIdx

unsigned int TClingDataMemberInfo::fContextIdx
private

Definition at line 67 of file TClingDataMemberInfo.h.

◆ fContexts

llvm::SmallVector<clang::DeclContext *, 2> TClingDataMemberInfo::fContexts
private

Definition at line 65 of file TClingDataMemberInfo.h.

◆ fDouble

double TClingDataMemberInfo::fDouble

Definition at line 72 of file TClingDataMemberInfo.h.

◆ fFirstTime

bool TClingDataMemberInfo::fFirstTime
private

Definition at line 59 of file TClingDataMemberInfo.h.

◆ fFloat

float TClingDataMemberInfo::fFloat

Definition at line 71 of file TClingDataMemberInfo.h.

◆ fInterp

cling::Interpreter* TClingDataMemberInfo::fInterp
private

Definition at line 57 of file TClingDataMemberInfo.h.

◆ fIoName

std::string TClingDataMemberInfo::fIoName
mutableprivate

Definition at line 69 of file TClingDataMemberInfo.h.

◆ fIoType

std::string TClingDataMemberInfo::fIoType
mutableprivate

Definition at line 68 of file TClingDataMemberInfo.h.

◆ fIter

clang::DeclContext::decl_iterator TClingDataMemberInfo::fIter
private

Definition at line 60 of file TClingDataMemberInfo.h.

◆ fIterStack

std::vector<clang::DeclContext::decl_iterator> TClingDataMemberInfo::fIterStack
private

Definition at line 61 of file TClingDataMemberInfo.h.

◆ fLong

long TClingDataMemberInfo::fLong

Definition at line 73 of file TClingDataMemberInfo.h.

◆ fSingleDecl

const clang::ValueDecl* TClingDataMemberInfo::fSingleDecl
private

Definition at line 63 of file TClingDataMemberInfo.h.

◆ fTitle

std::string TClingDataMemberInfo::fTitle
private

Definition at line 62 of file TClingDataMemberInfo.h.


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