Logo ROOT  
Reference Guide
TClingTypeInfo Class Referencefinal

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 42 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. More...
 
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. More...
 
- 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 () 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
 

#include </home/sftnight/build/workspace/root-makedoc-v622/rootspi/rdoc/src/v6-22-00-patches/core/metacling/src/TClingTypeInfo.h>

Inheritance diagram for TClingTypeInfo:
[legend]

Constructor & Destructor Documentation

◆ TClingTypeInfo() [1/3]

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

Definition at line 50 of file TClingTypeInfo.h.

◆ TClingTypeInfo() [2/3]

TClingTypeInfo::TClingTypeInfo ( cling::Interpreter *  interp,
clang::QualType  ty 
)
inline

Definition at line 53 of file TClingTypeInfo.h.

◆ TClingTypeInfo() [3/3]

TClingTypeInfo::TClingTypeInfo ( cling::Interpreter *  interp,
const char *  name 
)

Definition at line 47 of file TClingTypeInfo.cxx.

Member Function Documentation

◆ GetInterpreter()

cling::Interpreter * TClingTypeInfo::GetInterpreter ( ) const
inline

Definition at line 58 of file TClingTypeInfo.h.

◆ GetQualType()

clang::QualType TClingTypeInfo::GetQualType ( ) const
inline

Definition at line 60 of file TClingTypeInfo.h.

◆ Init() [1/2]

void TClingTypeInfo::Init ( clang::QualType  ty)
inline

Definition at line 63 of file TClingTypeInfo.h.

◆ Init() [2/2]

void TClingTypeInfo::Init ( const char *  name)

Definition at line 55 of file TClingTypeInfo.cxx.

◆ IsValid()

bool TClingTypeInfo::IsValid ( ) const
inlineoverridevirtual

Reimplemented from TClingDeclInfo.

Definition at line 64 of file TClingTypeInfo.h.

◆ Name()

const char * TClingTypeInfo::Name ( ) const
overridevirtual

Reimplemented from TClingDeclInfo.

Definition at line 102 of file TClingTypeInfo.cxx.

◆ NormalizedName()

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.

◆ Property()

long TClingTypeInfo::Property ( ) const

Definition at line 118 of file TClingTypeInfo.cxx.

◆ RefType()

int TClingTypeInfo::RefType ( ) const

Definition at line 160 of file TClingTypeInfo.cxx.

◆ Size()

int TClingTypeInfo::Size ( ) const

Definition at line 206 of file TClingTypeInfo.cxx.

◆ TrueName()

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.

Member Data Documentation

◆ fInterp

cling::Interpreter* TClingTypeInfo::fInterp
private

Definition at line 45 of file TClingTypeInfo.h.

◆ fQualType

clang::QualType TClingTypeInfo::fQualType
private

Definition at line 46 of file TClingTypeInfo.h.


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