Logo ROOT  
Reference Guide
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Loading...
Searching...
No Matches
TClingDataMemberInfo Class Referencefinal

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
 
DeclId_t GetDeclId () const
 
const clang::ValueDecl * GetTargetValueDecl () const
 Get the ValueDecl, or if this represents a UsingShadowDecl, the underlying target ValueDecl.
 
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
 
- Public Member Functions inherited from TClingDeclInfo
 TClingDeclInfo ()=default
 
 TClingDeclInfo (const clang::Decl *D)
 
virtual ~TClingDeclInfo ()
 
clang::Decl * GetDecl ()
 
virtual bool IsValid () const
 

Private Member Functions

void CheckForIoTypeAndName () const
 
void ClearNames ()
 

Private Attributes

TClingClassInfo fClassInfo
 
union { 
 
   double   fDouble 
 
   float   fFloat 
 
   long   fLong 
 
fConstInitVal 
 
bool fFirstTime = true
 
cling::Interpreter * fInterp
 
std::string fIoName
 
std::string fIoType
 
TClingDataMemberIter fIter
 
std::string fTitle
 

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-v630/rootspi/rdoc/src/v6-30-00-patches/core/metacling/src/TClingDataMemberInfo.h>

Inheritance diagram for TClingDataMemberInfo:
[legend]

Member Typedef Documentation

◆ DeclId_t

Constructor & Destructor Documentation

◆ TClingDataMemberInfo() [1/3]

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

Definition at line 99 of file TClingDataMemberInfo.h.

◆ TClingDataMemberInfo() [2/3]

TClingDataMemberInfo::TClingDataMemberInfo ( cling::Interpreter *  interp,
TClingClassInfo ci,
TDictionary::EMemberSelection  selection 
)

Definition at line 95 of file TClingDataMemberInfo.cxx.

◆ TClingDataMemberInfo() [3/3]

TClingDataMemberInfo::TClingDataMemberInfo ( cling::Interpreter *  interp,
const clang::ValueDecl *  ValD,
TClingClassInfo ci 
)

Definition at line 119 of file TClingDataMemberInfo.cxx.

Member Function Documentation

◆ ArrayDim()

int TClingDataMemberInfo::ArrayDim ( ) const

Definition at line 194 of file TClingDataMemberInfo.cxx.

◆ CheckForIoTypeAndName()

void TClingDataMemberInfo::CheckForIoTypeAndName ( ) const
inlineprivate

Definition at line 142 of file TClingDataMemberInfo.cxx.

◆ ClearNames()

void TClingDataMemberInfo::ClearNames ( )
inlineprivate

Definition at line 91 of file TClingDataMemberInfo.h.

◆ GetAsUsingShadowDecl()

const clang::UsingShadowDecl * TClingDataMemberInfo::GetAsUsingShadowDecl ( ) const

Definition at line 175 of file TClingDataMemberInfo.cxx.

◆ GetAsValueDecl()

const clang::ValueDecl * TClingDataMemberInfo::GetAsValueDecl ( ) const

Definition at line 170 of file TClingDataMemberInfo.cxx.

◆ GetClassAsType()

const clang::Type * TClingDataMemberInfo::GetClassAsType ( ) const

Definition at line 190 of file TClingDataMemberInfo.cxx.

◆ GetDecl()

const clang::Decl * TClingDataMemberInfo::GetDecl ( ) const
inlineoverridevirtual

Reimplemented from TClingDeclInfo.

Definition at line 111 of file TClingDataMemberInfo.h.

◆ GetDeclId()

TDictionary::DeclId_t TClingDataMemberInfo::GetDeclId ( ) const

Definition at line 160 of file TClingDataMemberInfo.cxx.

◆ GetTargetValueDecl()

const clang::ValueDecl * TClingDataMemberInfo::GetTargetValueDecl ( ) const

Get the ValueDecl, or if this represents a UsingShadowDecl, the underlying target ValueDecl.

Definition at line 180 of file TClingDataMemberInfo.cxx.

◆ MaxIndex()

int TClingDataMemberInfo::MaxIndex ( int  dim) const

Definition at line 241 of file TClingDataMemberInfo.cxx.

◆ Name()

const char * TClingDataMemberInfo::Name ( ) const
overridevirtual

Reimplemented from TClingDeclInfo.

Definition at line 624 of file TClingDataMemberInfo.cxx.

◆ Next()

int TClingDataMemberInfo::Next ( )

Definition at line 308 of file TClingDataMemberInfo.cxx.

◆ Offset()

Longptr_t TClingDataMemberInfo::Offset ( )

Definition at line 328 of file TClingDataMemberInfo.cxx.

◆ Property()

long TClingDataMemberInfo::Property ( ) const

Definition at line 413 of file TClingDataMemberInfo.cxx.

◆ Title()

const char * TClingDataMemberInfo::Title ( )

Definition at line 636 of file TClingDataMemberInfo.cxx.

◆ TypeName()

const char * TClingDataMemberInfo::TypeName ( ) const

Definition at line 566 of file TClingDataMemberInfo.cxx.

◆ TypeProperty()

long TClingDataMemberInfo::TypeProperty ( ) const

Definition at line 532 of file TClingDataMemberInfo.cxx.

◆ TypeSize()

int TClingDataMemberInfo::TypeSize ( ) const

Definition at line 542 of file TClingDataMemberInfo.cxx.

◆ TypeTrueName()

const char * TClingDataMemberInfo::TypeTrueName ( const ROOT::TMetaUtils::TNormalizedCtxt normCtxt) const

Definition at line 594 of file TClingDataMemberInfo.cxx.

◆ ValidArrayIndex()

llvm::StringRef TClingDataMemberInfo::ValidArrayIndex ( ) const

Definition at line 672 of file TClingDataMemberInfo.cxx.

Member Data Documentation

◆ fClassInfo

TClingClassInfo TClingDataMemberInfo::fClassInfo
private

Definition at line 76 of file TClingDataMemberInfo.h.

◆ [union]

union { ... } TClingDataMemberInfo::fConstInitVal

◆ fDouble

double TClingDataMemberInfo::fDouble

Definition at line 85 of file TClingDataMemberInfo.h.

◆ fFirstTime

bool TClingDataMemberInfo::fFirstTime = true
private

Definition at line 79 of file TClingDataMemberInfo.h.

◆ fFloat

float TClingDataMemberInfo::fFloat

Definition at line 84 of file TClingDataMemberInfo.h.

◆ fInterp

cling::Interpreter* TClingDataMemberInfo::fInterp
private

Definition at line 75 of file TClingDataMemberInfo.h.

◆ fIoName

std::string TClingDataMemberInfo::fIoName
mutableprivate

Definition at line 82 of file TClingDataMemberInfo.h.

◆ fIoType

std::string TClingDataMemberInfo::fIoType
mutableprivate

Definition at line 81 of file TClingDataMemberInfo.h.

◆ fIter

TClingDataMemberIter TClingDataMemberInfo::fIter
private

Definition at line 77 of file TClingDataMemberInfo.h.

◆ fLong

long TClingDataMemberInfo::fLong

Definition at line 86 of file TClingDataMemberInfo.h.

◆ fTitle

std::string TClingDataMemberInfo::fTitle
private

Definition at line 78 of file TClingDataMemberInfo.h.

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