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 55 of file TClingDataMemberInfo.h.
Public Types | |
typedef TDictionary::DeclId_t | DeclId_t |
Public Member Functions | |
TClingDataMemberInfo (cling::Interpreter *, const clang::ValueDecl *, TClingClassInfo *) | |
TClingDataMemberInfo (cling::Interpreter *, TClingClassInfo *) | |
TClingDataMemberInfo (cling::Interpreter *interp) | |
TClingDataMemberInfo (const TClingDataMemberInfo &rhs) | |
~TClingDataMemberInfo () | |
int | ArrayDim () const |
TClingClassInfo * | GetClassInfo () const |
const clang::Decl * | GetDecl () const override |
DeclId_t | GetDeclId () const |
int | InternalNext () |
int | MaxIndex (int dim) const |
const char * | Name () override |
bool | Next () |
long | Offset () |
TClingDataMemberInfo & | operator= (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 |
Public Member Functions inherited from TClingDeclInfo | |
TClingDeclInfo (const clang::Decl *D) | |
virtual | ~TClingDeclInfo () |
clang::Decl * | GetDecl () |
virtual const clang::Decl * | GetDecl () const |
virtual bool | IsValid () const |
virtual const char * | Name () |
Private Member Functions | |
void | CheckForIoTypeAndName () const |
Private Attributes | |
TClingClassInfo * | fClassInfo |
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 |
std::string | fTitle |
Additional Inherited Members | |
Protected Attributes inherited from TClingDeclInfo | |
const clang::Decl * | fDecl = nullptr |
std::string | fNameCache |
Definition at line 124 of file TClingDataMemberInfo.h.
|
inline |
Definition at line 80 of file TClingDataMemberInfo.h.
|
inlineexplicit |
Definition at line 82 of file TClingDataMemberInfo.h.
TClingDataMemberInfo::TClingDataMemberInfo | ( | cling::Interpreter * | interp, |
TClingClassInfo * | ci | ||
) |
Definition at line 48 of file TClingDataMemberInfo.cxx.
TClingDataMemberInfo::TClingDataMemberInfo | ( | cling::Interpreter * | interp, |
const clang::ValueDecl * | ValD, | ||
TClingClassInfo * | ci | ||
) |
Definition at line 78 of file TClingDataMemberInfo.cxx.
|
inline |
Definition at line 97 of file TClingDataMemberInfo.h.
int TClingDataMemberInfo::ArrayDim | ( | ) | const |
Definition at line 124 of file TClingDataMemberInfo.cxx.
|
inlineprivate |
Definition at line 98 of file TClingDataMemberInfo.cxx.
|
inline |
Definition at line 127 of file TClingDataMemberInfo.h.
|
inlineoverridevirtual |
Reimplemented from TClingDeclInfo.
Definition at line 128 of file TClingDataMemberInfo.h.
TDictionary::DeclId_t TClingDataMemberInfo::GetDeclId | ( | ) | const |
Definition at line 116 of file TClingDataMemberInfo.cxx.
int TClingDataMemberInfo::InternalNext | ( | ) |
Definition at line 238 of file TClingDataMemberInfo.cxx.
int TClingDataMemberInfo::MaxIndex | ( | int | dim | ) | const |
Definition at line 171 of file TClingDataMemberInfo.cxx.
|
overridevirtual |
Reimplemented from TClingDeclInfo.
Definition at line 595 of file TClingDataMemberInfo.cxx.
|
inline |
Definition at line 136 of file TClingDataMemberInfo.h.
long TClingDataMemberInfo::Offset | ( | ) |
Definition at line 309 of file TClingDataMemberInfo.cxx.
|
inline |
Definition at line 109 of file TClingDataMemberInfo.h.
long TClingDataMemberInfo::Property | ( | ) | const |
Definition at line 388 of file TClingDataMemberInfo.cxx.
const char * TClingDataMemberInfo::Title | ( | ) |
Definition at line 607 of file TClingDataMemberInfo.cxx.
const char * TClingDataMemberInfo::TypeName | ( | ) | const |
Definition at line 533 of file TClingDataMemberInfo.cxx.
long TClingDataMemberInfo::TypeProperty | ( | ) | const |
Definition at line 499 of file TClingDataMemberInfo.cxx.
int TClingDataMemberInfo::TypeSize | ( | ) | const |
Definition at line 509 of file TClingDataMemberInfo.cxx.
const char * TClingDataMemberInfo::TypeTrueName | ( | const ROOT::TMetaUtils::TNormalizedCtxt & | normCtxt | ) | const |
Definition at line 563 of file TClingDataMemberInfo.cxx.
llvm::StringRef TClingDataMemberInfo::ValidArrayIndex | ( | ) | const |
Definition at line 643 of file TClingDataMemberInfo.cxx.
|
private |
Definition at line 60 of file TClingDataMemberInfo.h.
union { ... } TClingDataMemberInfo::fConstInitVal |
|
private |
Definition at line 68 of file TClingDataMemberInfo.h.
|
private |
Definition at line 66 of file TClingDataMemberInfo.h.
double TClingDataMemberInfo::fDouble |
Definition at line 73 of file TClingDataMemberInfo.h.
|
private |
Definition at line 61 of file TClingDataMemberInfo.h.
float TClingDataMemberInfo::fFloat |
Definition at line 72 of file TClingDataMemberInfo.h.
|
private |
Definition at line 59 of file TClingDataMemberInfo.h.
|
mutableprivate |
Definition at line 70 of file TClingDataMemberInfo.h.
|
mutableprivate |
Definition at line 69 of file TClingDataMemberInfo.h.
|
private |
Definition at line 62 of file TClingDataMemberInfo.h.
|
private |
Definition at line 63 of file TClingDataMemberInfo.h.
long TClingDataMemberInfo::fLong |
Definition at line 74 of file TClingDataMemberInfo.h.
|
private |
Definition at line 64 of file TClingDataMemberInfo.h.