Emulation of the CINT BaseClassInfo class.
The CINT C++ interpreter provides an interface to metadata about the base classes of a class through the BaseClassInfo class. This class provides the same functionality, using an interface as close as possible to BaseClassInfo but the base class metadata comes from the Clang C++ compiler, not CINT.
Definition at line 42 of file TClingBaseClassInfo.h.
Public Member Functions | |
TClingBaseClassInfo (cling::Interpreter *, TClingClassInfo *) | |
TClingBaseClassInfo (cling::Interpreter *, TClingClassInfo *derived, TClingClassInfo *base) | |
TClingBaseClassInfo (const TClingBaseClassInfo &) | |
~TClingBaseClassInfo () | |
void | FullName (std::string &output, const ROOT::TMetaUtils::TNormalizedCtxt &normCtxt) const |
TClingClassInfo * | GetBase () const |
int | InternalNext (int onlyDirect) |
bool | IsValid () const |
const char * | Name () const |
int | Next () |
int | Next (int onlyDirect) |
ptrdiff_t | Offset (void *address=0, bool isDerivedObject=true) const |
TClingBaseClassInfo & | operator= (const TClingBaseClassInfo &) |
long | Property () const |
long | Tagnum () const |
const char * | TmpltName () const |
Private Member Functions | |
OffsetPtrFunc_t | GenerateBaseOffsetFunction (TClingClassInfo *derivedClass, TClingClassInfo *targetClass, void *address, bool isDerivedObject) const |
Private Attributes | |
TClingClassInfo * | fBaseInfo |
TClingClassInfo * | fClassInfo |
bool | fClassInfoOwnership |
const clang::Decl * | fDecl |
bool | fDescend |
bool | fFirstTime |
cling::Interpreter * | fInterp |
clang::CXXRecordDecl::base_class_const_iterator | fIter |
std::vector< std::pair< std::pair< const clang::Decl *, clang::CXXRecordDecl::base_class_const_iterator >, long > > | fIterStack |
long | fOffset |
|
inline |
Definition at line 59 of file TClingBaseClassInfo.h.
TClingBaseClassInfo::TClingBaseClassInfo | ( | cling::Interpreter * | interp, |
TClingClassInfo * | ci | ||
) |
Definition at line 57 of file TClingBaseClassInfo.cxx.
TClingBaseClassInfo::TClingBaseClassInfo | ( | cling::Interpreter * | interp, |
TClingClassInfo * | derived, | ||
TClingClassInfo * | base | ||
) |
Definition at line 87 of file TClingBaseClassInfo.cxx.
TClingBaseClassInfo::TClingBaseClassInfo | ( | const TClingBaseClassInfo & | rhs | ) |
Definition at line 126 of file TClingBaseClassInfo.cxx.
void TClingBaseClassInfo::FullName | ( | std::string & | output, |
const ROOT::TMetaUtils::TNormalizedCtxt & | normCtxt | ||
) | const |
Definition at line 558 of file TClingBaseClassInfo.cxx.
|
private |
Definition at line 166 of file TClingBaseClassInfo.cxx.
TClingClassInfo * TClingBaseClassInfo::GetBase | ( | ) | const |
Definition at line 157 of file TClingBaseClassInfo.cxx.
int TClingBaseClassInfo::InternalNext | ( | int | onlyDirect | ) |
Definition at line 258 of file TClingBaseClassInfo.cxx.
bool TClingBaseClassInfo::IsValid | ( | ) | const |
Definition at line 245 of file TClingBaseClassInfo.cxx.
const char * TClingBaseClassInfo::Name | ( | ) | const |
Definition at line 567 of file TClingBaseClassInfo.cxx.
int TClingBaseClassInfo::Next | ( | ) |
Definition at line 354 of file TClingBaseClassInfo.cxx.
int TClingBaseClassInfo::Next | ( | int | onlyDirect | ) |
Definition at line 349 of file TClingBaseClassInfo.cxx.
ptrdiff_t TClingBaseClassInfo::Offset | ( | void * | address = 0 , |
bool | isDerivedObject = true |
||
) | const |
Definition at line 412 of file TClingBaseClassInfo.cxx.
TClingBaseClassInfo & TClingBaseClassInfo::operator= | ( | const TClingBaseClassInfo & | rhs | ) |
Definition at line 136 of file TClingBaseClassInfo.cxx.
long TClingBaseClassInfo::Property | ( | ) | const |
Definition at line 489 of file TClingBaseClassInfo.cxx.
long TClingBaseClassInfo::Tagnum | ( | ) | const |
Definition at line 550 of file TClingBaseClassInfo.cxx.
const char * TClingBaseClassInfo::TmpltName | ( | ) | const |
Definition at line 575 of file TClingBaseClassInfo.cxx.
|
private |
Definition at line 52 of file TClingBaseClassInfo.h.
|
private |
Definition at line 47 of file TClingBaseClassInfo.h.
|
private |
Definition at line 55 of file TClingBaseClassInfo.h.
|
private |
Definition at line 50 of file TClingBaseClassInfo.h.
|
private |
Definition at line 49 of file TClingBaseClassInfo.h.
|
private |
Definition at line 48 of file TClingBaseClassInfo.h.
|
private |
Definition at line 46 of file TClingBaseClassInfo.h.
|
private |
Definition at line 51 of file TClingBaseClassInfo.h.
|
private |
Definition at line 53 of file TClingBaseClassInfo.h.
|
private |
Definition at line 54 of file TClingBaseClassInfo.h.