ROOT
6.06/09
Reference Guide
|
Emulation of the CINT MethodInfo class.
The CINT C++ interpreter provides an interface to metadata about a function through the MethodInfo class. This class provides the same functionality, using an interface as close as possible to MethodInfo but the typedef metadata comes from the Clang C++ compiler, not CINT.
Definition at line 52 of file TClingMethodInfo.h.
Public Member Functions | |
TClingMethodInfo (cling::Interpreter *interp) | |
TClingMethodInfo (const TClingMethodInfo &) | |
TClingMethodInfo (cling::Interpreter *, const clang::FunctionDecl *) | |
TClingMethodInfo (cling::Interpreter *, TClingClassInfo *) | |
~TClingMethodInfo () | |
const clang::FunctionDecl * | GetMethodDecl () const |
TDictionary::DeclId_t | GetDeclId () const |
cling::Interpreter * | GetInterpreter () const |
void | CreateSignature (TString &signature) const |
void | Init (const clang::FunctionDecl *) |
void * | InterfaceMethod (const ROOT::TMetaUtils::TNormalizedCtxt &normCtxt) const |
bool | IsValid () const |
int | NArg () const |
int | NDefaultArg () const |
int | InternalNext () |
int | Next () |
long | Property () const |
long | ExtraProperty () const |
TClingTypeInfo * | Type () const |
std::string | GetMangledName () const |
const char * | GetPrototype (const ROOT::TMetaUtils::TNormalizedCtxt &normCtxt) const |
const char * | Name (const ROOT::TMetaUtils::TNormalizedCtxt &normCtxt) const |
const char * | TypeName () const |
const char * | Title () |
Private Attributes | |
cling::Interpreter * | fInterp |
llvm::SmallVector< clang::DeclContext *, 2 > | fContexts |
bool | fFirstTime |
unsigned int | fContextIdx |
clang::DeclContext::decl_iterator | fIter |
std::string | fTitle |
SpecIterator * | fTemplateSpecIter |
const clang::FunctionDecl * | fSingleDecl |
|
inlineexplicit |
Definition at line 66 of file TClingMethodInfo.h.
TClingMethodInfo::TClingMethodInfo | ( | const TClingMethodInfo & | rhs | ) |
Definition at line 80 of file TClingMethodInfo.cxx.
TClingMethodInfo::TClingMethodInfo | ( | cling::Interpreter * | interp, |
const clang::FunctionDecl * | FD | ||
) |
Definition at line 127 of file TClingMethodInfo.cxx.
TClingMethodInfo::TClingMethodInfo | ( | cling::Interpreter * | interp, |
TClingClassInfo * | ci | ||
) |
Definition at line 98 of file TClingMethodInfo.cxx.
TClingMethodInfo::~TClingMethodInfo | ( | ) |
Definition at line 135 of file TClingMethodInfo.cxx.
Definition at line 163 of file TClingMethodInfo.cxx.
Referenced by TCling::MethodInfo_CreateSignature().
long TClingMethodInfo::ExtraProperty | ( | ) | const |
Definition at line 419 of file TClingMethodInfo.cxx.
Referenced by TCling::MethodInfo_ExtraProperty().
TDictionary::DeclId_t TClingMethodInfo::GetDeclId | ( | ) | const |
Definition at line 140 of file TClingMethodInfo.cxx.
Referenced by TCling::GetFunction(), TCling::GetFunctionWithPrototype(), and TCling::GetFunctionWithValues().
|
inline |
Definition at line 80 of file TClingMethodInfo.h.
std::string TClingMethodInfo::GetMangledName | ( | ) | const |
Definition at line 465 of file TClingMethodInfo.cxx.
Referenced by TCling::GetMangledName(), TCling::GetMangledNameWithPrototype(), and TCling::MethodInfo_GetMangledName().
const clang::FunctionDecl * TClingMethodInfo::GetMethodDecl | ( | ) | const |
Definition at line 148 of file TClingMethodInfo.cxx.
Referenced by TClingMethodArgInfo::DefaultValue(), TCling::Execute(), ExtraProperty(), TClingCallFunc::GetDecl(), GetDeclId(), GetMangledName(), TClingClassInfo::GetMethodNArg(), GetPrototype(), TClingMethodArgInfo::IsValid(), TClingMethodArgInfo::Name(), Name(), NArg(), NDefaultArg(), TClingMethodArgInfo::Property(), Property(), Title(), TClingMethodArgInfo::Type(), and Type().
const char * TClingMethodInfo::GetPrototype | ( | const ROOT::TMetaUtils::TNormalizedCtxt & | normCtxt | ) | const |
Definition at line 487 of file TClingMethodInfo.cxx.
Referenced by TCling::MethodInfo_GetPrototype().
void TClingMethodInfo::Init | ( | const clang::FunctionDecl * | decl | ) |
Definition at line 193 of file TClingMethodInfo.cxx.
Referenced by TClingClassInfo::GetMethod(), and TClingClassInfo::GetMethodWithArgs().
void * TClingMethodInfo::InterfaceMethod | ( | const ROOT::TMetaUtils::TNormalizedCtxt & | normCtxt | ) | const |
Definition at line 204 of file TClingMethodInfo.cxx.
Referenced by TCling::GetInterfaceMethodWithPrototype(), and TCling::MethodInfo_InterfaceMethod().
int TClingMethodInfo::InternalNext | ( | ) |
Definition at line 251 of file TClingMethodInfo.cxx.
Referenced by Next(), and TClingMethodInfo().
bool TClingMethodInfo::IsValid | ( | ) | const |
Definition at line 215 of file TClingMethodInfo.cxx.
Referenced by CreateSignature(), ExtraProperty(), TCling::GenerateTClass(), GetDeclId(), GetMangledName(), GetMethodDecl(), TClingClassInfo::GetMethodNArg(), GetPrototype(), InterfaceMethod(), TClingMethodArgInfo::IsValid(), TClingClassInfo::IsValidMethod(), TCling::MethodInfo_IsValid(), TCling::MethodInfo_MethodCallReturnType(), TCling::MethodInfo_TypeNormalizedName(), Name(), NArg(), NDefaultArg(), Property(), Title(), Type(), and TypeName().
const char * TClingMethodInfo::Name | ( | const ROOT::TMetaUtils::TNormalizedCtxt & | normCtxt | ) | const |
Definition at line 540 of file TClingMethodInfo.cxx.
Referenced by GetPrototype(), and TCling::MethodInfo_Name().
int TClingMethodInfo::NArg | ( | ) | const |
Definition at line 227 of file TClingMethodInfo.cxx.
Referenced by TCling::MethodInfo_NArg().
int TClingMethodInfo::NDefaultArg | ( | ) | const |
Definition at line 238 of file TClingMethodInfo.cxx.
Referenced by TCling::MethodInfo_NDefaultArg().
int TClingMethodInfo::Next | ( | ) |
Definition at line 327 of file TClingMethodInfo.cxx.
Referenced by TCling::MethodInfo_Next().
long TClingMethodInfo::Property | ( | ) | const |
Definition at line 332 of file TClingMethodInfo.cxx.
Referenced by TCling::GenerateTClass(), and TCling::MethodInfo_Property().
const char * TClingMethodInfo::Title | ( | ) |
Definition at line 559 of file TClingMethodInfo.cxx.
Referenced by TCling::MethodInfo_Title().
TClingTypeInfo * TClingMethodInfo::Type | ( | ) | const |
Definition at line 441 of file TClingMethodInfo.cxx.
Referenced by GetPrototype(), TCling::MethodInfo_MethodCallReturnType(), TCling::MethodInfo_Type(), TCling::MethodInfo_TypeNormalizedName(), and TypeName().
const char * TClingMethodInfo::TypeName | ( | ) | const |
Definition at line 550 of file TClingMethodInfo.cxx.
Referenced by TCling::MethodInfo_TypeName().
|
private |
Definition at line 59 of file TClingMethodInfo.h.
Referenced by Init(), and InternalNext().
|
private |
Definition at line 57 of file TClingMethodInfo.h.
Referenced by Init(), InternalNext(), and TClingMethodInfo().
|
private |
Definition at line 58 of file TClingMethodInfo.h.
Referenced by Init(), InternalNext(), and TClingMethodInfo().
|
private |
Definition at line 54 of file TClingMethodInfo.h.
Referenced by CreateSignature(), GetInterpreter(), GetPrototype(), InterfaceMethod(), InternalNext(), IsValid(), TClingMethodInfo(), Title(), and Type().
|
private |
Definition at line 60 of file TClingMethodInfo.h.
Referenced by Init(), InternalNext(), IsValid(), and TClingMethodInfo().
|
private |
Definition at line 63 of file TClingMethodInfo.h.
Referenced by GetMethodDecl(), Init(), InternalNext(), and IsValid().
|
private |
Definition at line 62 of file TClingMethodInfo.h.
Referenced by GetMethodDecl(), Init(), InternalNext(), IsValid(), TClingMethodInfo(), and ~TClingMethodInfo().
|
private |
Definition at line 61 of file TClingMethodInfo.h.
Referenced by Title().