Logo ROOT  
Reference Guide
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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)
 
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.
 
- 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
 

#include </github/home/ROOT-CI/src/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 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 45 of file TClingTypeInfo.cxx.

Member Function Documentation

◆ 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 53 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 100 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 280 of file TClingTypeInfo.cxx.

◆ Property()

long TClingTypeInfo::Property ( ) const

Definition at line 118 of file TClingTypeInfo.cxx.

◆ QualTypePtr()

void * TClingTypeInfo::QualTypePtr ( ) const

Return the QualType as a void pointer.

Definition at line 299 of file TClingTypeInfo.cxx.

◆ RefType()

int TClingTypeInfo::RefType ( ) const

Definition at line 187 of file TClingTypeInfo.cxx.

◆ Size()

int TClingTypeInfo::Size ( ) const

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

Member Data Documentation

◆ fInterp

cling::Interpreter* TClingTypeInfo::fInterp
private

Definition at line 46 of file TClingTypeInfo.h.

◆ fQualType

clang::QualType TClingTypeInfo::fQualType
private

Definition at line 47 of file TClingTypeInfo.h.

  • core/metacling/src/TClingTypeInfo.h
  • core/metacling/src/TClingTypeInfo.cxx