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 71 of file TClingDataMemberInfo.h.
Public Types | |
typedef TDictionary::DeclId_t | DeclId_t |
Public Member Functions | |
TClingDataMemberInfo (cling::Interpreter *interp) | |
TClingDataMemberInfo (cling::Interpreter *interp, const clang::ValueDecl *, TClingClassInfo *) | |
TClingDataMemberInfo (cling::Interpreter *interp, TClingClassInfo *ci, TDictionary::EMemberSelection selection) | |
int | ArrayDim () const |
const clang::UsingShadowDecl * | GetAsUsingShadowDecl () const |
const clang::ValueDecl * | GetAsValueDecl () const |
const clang::Type * | GetClassAsType () const |
const clang::Decl * | GetDecl () const override |
DeclId_t | GetDeclId () const |
const clang::ValueDecl * | GetTargetValueDecl () const |
Get the ValueDecl, or if this represents a UsingShadowDecl, the underlying target ValueDecl. | |
int | MaxIndex (int dim) const |
const char * | Name () const override |
int | Next () |
long | Offset () |
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 ()=default | |
TClingDeclInfo (const clang::Decl *D) | |
virtual | ~TClingDeclInfo () |
clang::Decl * | GetDecl () |
virtual bool | IsValid () const |
Private Member Functions | |
void | CheckForIoTypeAndName () const |
void | ClearNames () |
Private Attributes | ||
TClingClassInfo | fClassInfo | |
union { | ||
double fDouble | ||
float fFloat | ||
long fLong | ||
} | fConstInitVal | |
bool | fFirstTime = true | |
cling::Interpreter * | fInterp | |
std::string | fIoName | |
std::string | fIoType | |
TClingDataMemberIter | fIter | |
std::string | fTitle | |
Additional Inherited Members | |
Protected Member Functions inherited from TClingDeclInfo | |
long | Property (long property, clang::QualType &qt) const |
Protected Attributes inherited from TClingDeclInfo | |
const clang::Decl * | fDecl = nullptr |
std::string | fNameCache |
Definition at line 108 of file TClingDataMemberInfo.h.
|
inlineexplicit |
Definition at line 99 of file TClingDataMemberInfo.h.
TClingDataMemberInfo::TClingDataMemberInfo | ( | cling::Interpreter * | interp, |
TClingClassInfo * | ci, | ||
TDictionary::EMemberSelection | selection | ||
) |
Definition at line 95 of file TClingDataMemberInfo.cxx.
TClingDataMemberInfo::TClingDataMemberInfo | ( | cling::Interpreter * | interp, |
const clang::ValueDecl * | ValD, | ||
TClingClassInfo * | ci | ||
) |
Definition at line 119 of file TClingDataMemberInfo.cxx.
int TClingDataMemberInfo::ArrayDim | ( | ) | const |
Definition at line 194 of file TClingDataMemberInfo.cxx.
|
inlineprivate |
Definition at line 142 of file TClingDataMemberInfo.cxx.
|
inlineprivate |
Definition at line 91 of file TClingDataMemberInfo.h.
const clang::UsingShadowDecl * TClingDataMemberInfo::GetAsUsingShadowDecl | ( | ) | const |
Definition at line 175 of file TClingDataMemberInfo.cxx.
const clang::ValueDecl * TClingDataMemberInfo::GetAsValueDecl | ( | ) | const |
Definition at line 170 of file TClingDataMemberInfo.cxx.
const clang::Type * TClingDataMemberInfo::GetClassAsType | ( | ) | const |
Definition at line 190 of file TClingDataMemberInfo.cxx.
|
inlineoverridevirtual |
Reimplemented from TClingDeclInfo.
Definition at line 111 of file TClingDataMemberInfo.h.
TDictionary::DeclId_t TClingDataMemberInfo::GetDeclId | ( | ) | const |
Definition at line 160 of file TClingDataMemberInfo.cxx.
const clang::ValueDecl * TClingDataMemberInfo::GetTargetValueDecl | ( | ) | const |
Get the ValueDecl, or if this represents a UsingShadowDecl, the underlying target ValueDecl.
Definition at line 180 of file TClingDataMemberInfo.cxx.
Definition at line 241 of file TClingDataMemberInfo.cxx.
|
overridevirtual |
Reimplemented from TClingDeclInfo.
Definition at line 613 of file TClingDataMemberInfo.cxx.
int TClingDataMemberInfo::Next | ( | ) |
Definition at line 308 of file TClingDataMemberInfo.cxx.
long TClingDataMemberInfo::Offset | ( | ) |
Definition at line 328 of file TClingDataMemberInfo.cxx.
long TClingDataMemberInfo::Property | ( | ) | const |
Definition at line 407 of file TClingDataMemberInfo.cxx.
const char * TClingDataMemberInfo::Title | ( | ) |
Definition at line 625 of file TClingDataMemberInfo.cxx.
const char * TClingDataMemberInfo::TypeName | ( | ) | const |
Definition at line 555 of file TClingDataMemberInfo.cxx.
long TClingDataMemberInfo::TypeProperty | ( | ) | const |
Definition at line 521 of file TClingDataMemberInfo.cxx.
int TClingDataMemberInfo::TypeSize | ( | ) | const |
Definition at line 531 of file TClingDataMemberInfo.cxx.
const char * TClingDataMemberInfo::TypeTrueName | ( | const ROOT::TMetaUtils::TNormalizedCtxt & | normCtxt | ) | const |
Definition at line 583 of file TClingDataMemberInfo.cxx.
llvm::StringRef TClingDataMemberInfo::ValidArrayIndex | ( | ) | const |
Definition at line 661 of file TClingDataMemberInfo.cxx.
|
private |
Definition at line 76 of file TClingDataMemberInfo.h.
union { ... } TClingDataMemberInfo::fConstInitVal |
double TClingDataMemberInfo::fDouble |
Definition at line 85 of file TClingDataMemberInfo.h.
|
private |
Definition at line 79 of file TClingDataMemberInfo.h.
float TClingDataMemberInfo::fFloat |
Definition at line 84 of file TClingDataMemberInfo.h.
|
private |
Definition at line 75 of file TClingDataMemberInfo.h.
|
mutableprivate |
Definition at line 82 of file TClingDataMemberInfo.h.
|
mutableprivate |
Definition at line 81 of file TClingDataMemberInfo.h.
|
private |
Definition at line 77 of file TClingDataMemberInfo.h.
long TClingDataMemberInfo::fLong |
Definition at line 86 of file TClingDataMemberInfo.h.
|
private |
Definition at line 78 of file TClingDataMemberInfo.h.