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 |
| clang::Decl * | GetDecl () |
| DeclId_t | GetDeclId () const |
| const clang::ValueDecl * | GetTargetValueDecl () const |
| Get the ValueDecl, or if this represents a UsingShadowDecl, the underlying target ValueDecl. | |
| virtual bool | IsValid () const |
| int | MaxIndex (int dim) const |
| const char * | Name () const override |
| int | Next () |
| Longptr_t | 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 |
Protected Member Functions | |
| long | Property (long property, clang::QualType &qt) const |
Protected Attributes | |
| const clang::Decl * | fDecl = nullptr |
| std::string | fNameCache |
Private Member Functions | |
| void | CheckForIoTypeAndName () const |
| void | ClearNames () |
Private Attributes | |
| TClingClassInfo | fClassInfo |
| union { | |
| double fDouble | |
| float fFloat | |
| long fLong | |
| } | fConstInitVal |
| int64_t | fEnumValue |
| bool | fFirstTime = true |
| cling::Interpreter * | fInterp |
| std::string | fIoName |
| std::string | fIoType |
| TClingDataMemberIter | fIter |
| std::string | fTitle |
#include </home/stephan/code/root-2/core/metacling/src/TClingDataMemberInfo.h>
Definition at line 109 of file TClingDataMemberInfo.h.
|
inlineexplicit |
Definition at line 100 of file TClingDataMemberInfo.h.
| TClingDataMemberInfo::TClingDataMemberInfo | ( | cling::Interpreter * | interp, |
| TClingClassInfo * | ci, | ||
| TDictionary::EMemberSelection | selection ) |
Definition at line 97 of file TClingDataMemberInfo.cxx.
| TClingDataMemberInfo::TClingDataMemberInfo | ( | cling::Interpreter * | interp, |
| const clang::ValueDecl * | ValD, | ||
| TClingClassInfo * | ci ) |
Definition at line 121 of file TClingDataMemberInfo.cxx.
| int TClingDataMemberInfo::ArrayDim | ( | ) | const |
Definition at line 196 of file TClingDataMemberInfo.cxx.
|
inlineprivate |
Definition at line 144 of file TClingDataMemberInfo.cxx.
|
inlineprivate |
Definition at line 92 of file TClingDataMemberInfo.h.
| const clang::UsingShadowDecl * TClingDataMemberInfo::GetAsUsingShadowDecl | ( | ) | const |
Definition at line 177 of file TClingDataMemberInfo.cxx.
| const clang::ValueDecl * TClingDataMemberInfo::GetAsValueDecl | ( | ) | const |
Definition at line 172 of file TClingDataMemberInfo.cxx.
| const clang::Type * TClingDataMemberInfo::GetClassAsType | ( | ) | const |
Definition at line 192 of file TClingDataMemberInfo.cxx.
|
inlineoverridevirtual |
Reimplemented from TClingDeclInfo.
Definition at line 112 of file TClingDataMemberInfo.h.
|
inlineinherited |
Definition at line 39 of file TClingDeclInfo.h.
| TDictionary::DeclId_t TClingDataMemberInfo::GetDeclId | ( | ) | const |
Definition at line 162 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 182 of file TClingDataMemberInfo.cxx.
|
inlinevirtualinherited |
Reimplemented in TClingMethodArgInfo, and TClingTypeInfo.
Definition at line 42 of file TClingDeclInfo.h.
Definition at line 243 of file TClingDataMemberInfo.cxx.
|
overridevirtual |
Reimplemented from TClingDeclInfo.
Definition at line 626 of file TClingDataMemberInfo.cxx.
| int TClingDataMemberInfo::Next | ( | ) |
Definition at line 310 of file TClingDataMemberInfo.cxx.
| Longptr_t TClingDataMemberInfo::Offset | ( | ) |
Definition at line 330 of file TClingDataMemberInfo.cxx.
| long TClingDataMemberInfo::Property | ( | ) | const |
Definition at line 422 of file TClingDataMemberInfo.cxx.
|
protectedinherited |
Definition at line 49 of file TClingDeclInfo.cxx.
| const char * TClingDataMemberInfo::Title | ( | ) |
Definition at line 638 of file TClingDataMemberInfo.cxx.
| const char * TClingDataMemberInfo::TypeName | ( | ) | const |
Definition at line 568 of file TClingDataMemberInfo.cxx.
| long TClingDataMemberInfo::TypeProperty | ( | ) | const |
Definition at line 541 of file TClingDataMemberInfo.cxx.
| int TClingDataMemberInfo::TypeSize | ( | ) | const |
Definition at line 551 of file TClingDataMemberInfo.cxx.
| const char * TClingDataMemberInfo::TypeTrueName | ( | const ROOT::TMetaUtils::TNormalizedCtxt & | normCtxt | ) | const |
Definition at line 596 of file TClingDataMemberInfo.cxx.
| llvm::StringRef TClingDataMemberInfo::ValidArrayIndex | ( | ) | const |
Definition at line 674 of file TClingDataMemberInfo.cxx.
|
private |
Definition at line 76 of file TClingDataMemberInfo.h.
| union { ... } TClingDataMemberInfo::fConstInitVal |
|
protectedinherited |
Definition at line 30 of file TClingDeclInfo.h.
| double TClingDataMemberInfo::fDouble |
Definition at line 86 of file TClingDataMemberInfo.h.
|
private |
Definition at line 80 of file TClingDataMemberInfo.h.
|
private |
Definition at line 79 of file TClingDataMemberInfo.h.
| float TClingDataMemberInfo::fFloat |
Definition at line 85 of file TClingDataMemberInfo.h.
|
private |
Definition at line 75 of file TClingDataMemberInfo.h.
|
mutableprivate |
Definition at line 83 of file TClingDataMemberInfo.h.
|
mutableprivate |
Definition at line 82 of file TClingDataMemberInfo.h.
|
private |
Definition at line 77 of file TClingDataMemberInfo.h.
| long TClingDataMemberInfo::fLong |
Definition at line 87 of file TClingDataMemberInfo.h.
|
mutableprotectedinherited |
Definition at line 31 of file TClingDeclInfo.h.
|
private |
Definition at line 78 of file TClingDataMemberInfo.h.