Emulation of the CINT TypeInfo class.
The CINT C++ interpreter provides an interface to metadata about a type through the TypeInfo class. This class provides the same functionality, using an interface as close as possible to TypeInfo but the type metadata comes from the Clang C++ compiler, not CINT.
Definition at line 43 of file TClingTypeInfo.h.
Public Member Functions | |
TClingTypeInfo (cling::Interpreter *interp) | |
TClingTypeInfo (cling::Interpreter *interp, clang::QualType ty) | |
TClingTypeInfo (cling::Interpreter *interp, const char *name) | |
cling::Interpreter * | GetInterpreter () const |
clang::QualType | GetQualType () const |
void | Init (clang::QualType ty) |
void | Init (const char *name) |
bool | IsValid () const override |
const char * | Name () const override |
std::string | NormalizedName (const ROOT::TMetaUtils::TNormalizedCtxt &normCtxt) const |
Return the normalized name of the type (i.e. | |
long | Property () const |
int | RefType () const |
int | Size () const |
const char * | TrueName (const ROOT::TMetaUtils::TNormalizedCtxt &normCtxt) const |
Return the normalized name of the type (i.e. | |
Public Member Functions inherited from TClingDeclInfo | |
TClingDeclInfo ()=default | |
TClingDeclInfo (const clang::Decl *D) | |
virtual | ~TClingDeclInfo () |
clang::Decl * | GetDecl () |
virtual const clang::Decl * | GetDecl () const |
Private Attributes | |
cling::Interpreter * | fInterp |
clang::QualType | fQualType |
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 |
|
inlineexplicit |
Definition at line 51 of file TClingTypeInfo.h.
|
inline |
Definition at line 54 of file TClingTypeInfo.h.
TClingTypeInfo::TClingTypeInfo | ( | cling::Interpreter * | interp, |
const char * | name | ||
) |
Definition at line 47 of file TClingTypeInfo.cxx.
|
inline |
Definition at line 59 of file TClingTypeInfo.h.
|
inline |
Definition at line 61 of file TClingTypeInfo.h.
|
inline |
Definition at line 64 of file TClingTypeInfo.h.
void TClingTypeInfo::Init | ( | const char * | name | ) |
Definition at line 55 of file TClingTypeInfo.cxx.
|
inlineoverridevirtual |
Reimplemented from TClingDeclInfo.
Definition at line 65 of file TClingTypeInfo.h.
|
overridevirtual |
Reimplemented from TClingDeclInfo.
Definition at line 102 of file TClingTypeInfo.cxx.
std::string TClingTypeInfo::NormalizedName | ( | const ROOT::TMetaUtils::TNormalizedCtxt & | normCtxt | ) | const |
Return the normalized name of the type (i.e.
fully qualified and without the non-opaque typedefs.
Definition at line 250 of file TClingTypeInfo.cxx.
long TClingTypeInfo::Property | ( | ) | const |
Definition at line 118 of file TClingTypeInfo.cxx.
int TClingTypeInfo::RefType | ( | ) | const |
Definition at line 160 of file TClingTypeInfo.cxx.
int TClingTypeInfo::Size | ( | ) | const |
Definition at line 206 of file TClingTypeInfo.cxx.
const char * TClingTypeInfo::TrueName | ( | const ROOT::TMetaUtils::TNormalizedCtxt & | normCtxt | ) | const |
Return the normalized name of the type (i.e.
fully qualified and without the non-opaque typedefs.
Definition at line 232 of file TClingTypeInfo.cxx.
|
private |
Definition at line 46 of file TClingTypeInfo.h.
|
private |
Definition at line 47 of file TClingTypeInfo.h.