![]() |
ROOT
6.06/09
Reference Guide
|
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 () | |
| TClingBaseClassInfo (cling::Interpreter *, TClingClassInfo *) | |
| TClingBaseClassInfo (cling::Interpreter *, TClingClassInfo *derived, TClingClassInfo *base) | |
| TClingBaseClassInfo (const TClingBaseClassInfo &) | |
| TClingBaseClassInfo & | operator= (const TClingBaseClassInfo &) |
| TClingClassInfo * | GetBase () const |
| int | InternalNext (int onlyDirect) |
| bool | IsValid () const |
| int | Next () |
| int | Next (int onlyDirect) |
| ptrdiff_t | Offset (void *address=0, bool isDerivedObject=true) const |
| long | Property () const |
| long | Tagnum () const |
| void | FullName (std::string &output, const ROOT::TMetaUtils::TNormalizedCtxt &normCtxt) const |
| const char * | Name () const |
| const char * | TmpltName () const |
Private Member Functions | |
| OffsetPtrFunc_t | GenerateBaseOffsetFunction (const TClingClassInfo *derivedClass, TClingClassInfo *targetClass, void *address, bool isDerivedObject) const |
Private Attributes | |
| cling::Interpreter * | fInterp |
| TClingClassInfo * | fClassInfo |
| bool | fFirstTime |
| bool | fDescend |
| const clang::Decl * | fDecl |
| clang::CXXRecordDecl::base_class_const_iterator | fIter |
| TClingClassInfo * | fBaseInfo |
| std::vector< std::pair< std::pair< const clang::Decl *, clang::CXXRecordDecl::base_class_const_iterator >, long > > | fIterStack |
| long | fOffset |
| bool | fClassInfoOwnership |
Collaboration diagram for TClingBaseClassInfo:
|
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 83 of file TClingBaseClassInfo.cxx.
| TClingBaseClassInfo::TClingBaseClassInfo | ( | const TClingBaseClassInfo & | rhs | ) |
Definition at line 118 of file TClingBaseClassInfo.cxx.
| void TClingBaseClassInfo::FullName | ( | std::string & | output, |
| const ROOT::TMetaUtils::TNormalizedCtxt & | normCtxt | ||
| ) | const |
Definition at line 549 of file TClingBaseClassInfo.cxx.
Referenced by TCling::BaseClassInfo_FullName().
|
private |
Definition at line 158 of file TClingBaseClassInfo.cxx.
Referenced by Offset().
| TClingClassInfo * TClingBaseClassInfo::GetBase | ( | ) | const |
Definition at line 149 of file TClingBaseClassInfo.cxx.
Referenced by TCling::BaseClassInfo_ClassInfo(), and TClingClassInfo::GetOffset().
| int TClingBaseClassInfo::InternalNext | ( | int | onlyDirect | ) |
Definition at line 250 of file TClingBaseClassInfo.cxx.
Referenced by Next().
| bool TClingBaseClassInfo::IsValid | ( | ) | const |
Definition at line 237 of file TClingBaseClassInfo.cxx.
Referenced by TCling::CreateListOfBaseClasses(), FullName(), GetBase(), Name(), Offset(), Property(), Tagnum(), and TmpltName().
| const char * TClingBaseClassInfo::Name | ( | ) | const |
Definition at line 558 of file TClingBaseClassInfo.cxx.
Referenced by TCling::BaseClassInfo_Name(), and TCling::CreateListOfBaseClasses().
| int TClingBaseClassInfo::Next | ( | ) |
Definition at line 345 of file TClingBaseClassInfo.cxx.
Referenced by TCling::BaseClassInfo_Next(), TCling::CreateListOfBaseClasses(), and TClingClassInfo::GetOffset().
| int TClingBaseClassInfo::Next | ( | int | onlyDirect | ) |
Definition at line 340 of file TClingBaseClassInfo.cxx.
| ptrdiff_t TClingBaseClassInfo::Offset | ( | void * | address = 0, |
| bool | isDerivedObject = true |
||
| ) | const |
Definition at line 403 of file TClingBaseClassInfo.cxx.
Referenced by TCling::BaseClassInfo_Offset(), TClingClassInfo::GetBaseOffset(), and TClingClassInfo::GetOffset().
| TClingBaseClassInfo & TClingBaseClassInfo::operator= | ( | const TClingBaseClassInfo & | rhs | ) |
Definition at line 128 of file TClingBaseClassInfo.cxx.
| long TClingBaseClassInfo::Property | ( | ) | const |
Definition at line 480 of file TClingBaseClassInfo.cxx.
Referenced by TCling::BaseClassInfo_Property(), and Offset().
| long TClingBaseClassInfo::Tagnum | ( | ) | const |
Definition at line 541 of file TClingBaseClassInfo.cxx.
Referenced by TCling::BaseClassInfo_Tagnum().
| const char * TClingBaseClassInfo::TmpltName | ( | ) | const |
Definition at line 566 of file TClingBaseClassInfo.cxx.
Referenced by TCling::BaseClassInfo_TmpltName().
|
private |
Definition at line 52 of file TClingBaseClassInfo.h.
Referenced by FullName(), GetBase(), InternalNext(), IsValid(), Name(), Offset(), operator=(), Property(), Tagnum(), TClingBaseClassInfo(), TmpltName(), and ~TClingBaseClassInfo().
|
private |
Definition at line 47 of file TClingBaseClassInfo.h.
Referenced by InternalNext(), IsValid(), Offset(), operator=(), Property(), TClingBaseClassInfo(), and ~TClingBaseClassInfo().
|
private |
Definition at line 55 of file TClingBaseClassInfo.h.
Referenced by operator=().
|
private |
Definition at line 50 of file TClingBaseClassInfo.h.
Referenced by InternalNext(), IsValid(), Offset(), operator=(), Property(), and TClingBaseClassInfo().
|
private |
Definition at line 49 of file TClingBaseClassInfo.h.
Referenced by InternalNext(), and operator=().
|
private |
Definition at line 48 of file TClingBaseClassInfo.h.
Referenced by InternalNext(), and operator=().
|
private |
Definition at line 46 of file TClingBaseClassInfo.h.
Referenced by GenerateBaseOffsetFunction(), InternalNext(), Offset(), and operator=().
|
private |
Definition at line 51 of file TClingBaseClassInfo.h.
Referenced by InternalNext(), operator=(), and TClingBaseClassInfo().
|
private |
Definition at line 53 of file TClingBaseClassInfo.h.
Referenced by InternalNext(), and operator=().
|
private |
Definition at line 54 of file TClingBaseClassInfo.h.
Referenced by InternalNext(), and operator=().