Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
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 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)
clang::Decl * GetDecl ()
virtual const clang::Decl * GetDecl () const
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
void * QualTypePtr () const
 Return the QualType as a void pointer.
int RefType () const
int Size () const
const char * TrueName (const ROOT::TMetaUtils::TNormalizedCtxt &normCtxt) const
 Return the normalized name of the type (i.e.

Protected Member Functions

long Property (long property, clang::QualType &qt) const

Protected Attributes

const clang::Decl * fDecl = nullptr
std::string fNameCache

Private Attributes

cling::Interpreter * fInterp
clang::QualType fQualType

#include </home/stephan/code/root-2/core/metacling/src/TClingTypeInfo.h>

Inheritance diagram for TClingTypeInfo:
TClingDeclInfo

Constructor & Destructor Documentation

◆ TClingTypeInfo() [1/3]

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

Definition at line 51 of file TClingTypeInfo.h.

◆ TClingTypeInfo() [2/3]

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

Definition at line 54 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

◆ GetDecl() [1/2]

clang::Decl * TClingDeclInfo::GetDecl ( )
inlineinherited

Definition at line 39 of file TClingDeclInfo.h.

◆ GetDecl() [2/2]

virtual const clang::Decl * TClingDeclInfo::GetDecl ( ) const
inlinevirtualinherited

Reimplemented in TClingDataMemberInfo, TClingMethodArgInfo, and TClingMethodInfo.

Definition at line 38 of file TClingDeclInfo.h.

◆ GetInterpreter()

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

Definition at line 59 of file TClingTypeInfo.h.

◆ GetQualType()

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

Definition at line 61 of file TClingTypeInfo.h.

◆ Init() [1/2]

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

Definition at line 66 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 67 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 268 of file TClingTypeInfo.cxx.

◆ Property() [1/2]

long TClingDeclInfo::Property ( long property,
clang::QualType & qt ) const
protectedinherited

Definition at line 49 of file TClingDeclInfo.cxx.

◆ Property() [2/2]

long TClingTypeInfo::Property ( ) const

Definition at line 120 of file TClingTypeInfo.cxx.

◆ QualTypePtr()

void * TClingTypeInfo::QualTypePtr ( ) const

Return the QualType as a void pointer.

Definition at line 287 of file TClingTypeInfo.cxx.

◆ RefType()

int TClingTypeInfo::RefType ( ) const

Definition at line 189 of file TClingTypeInfo.cxx.

◆ Size()

int TClingTypeInfo::Size ( ) const

Definition at line 235 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 247 of file TClingTypeInfo.cxx.

Member Data Documentation

◆ fDecl

const clang::Decl* TClingDeclInfo::fDecl = nullptr
protectedinherited

Definition at line 30 of file TClingDeclInfo.h.

◆ fInterp

cling::Interpreter* TClingTypeInfo::fInterp
private

Definition at line 46 of file TClingTypeInfo.h.

◆ fNameCache

std::string TClingDeclInfo::fNameCache
mutableprotectedinherited

Definition at line 31 of file TClingDeclInfo.h.

◆ fQualType

clang::QualType TClingTypeInfo::fQualType
private

Definition at line 47 of file TClingTypeInfo.h.


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