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 54 of file TClingMethodInfo.h.
Public Member Functions | |
TClingMethodInfo (cling::Interpreter *, const clang::FunctionDecl *) | |
TClingMethodInfo (cling::Interpreter *, TClingClassInfo *) | |
TClingMethodInfo (cling::Interpreter *interp) | |
TClingMethodInfo (const TClingMethodInfo &) | |
~TClingMethodInfo () | |
void | CreateSignature (TString &signature) const |
long | ExtraProperty () const |
const clang::Decl * | GetDecl () const override |
TDictionary::DeclId_t | GetDeclId () const |
cling::Interpreter * | GetInterpreter () const |
std::string | GetMangledName () const |
const clang::FunctionDecl * | GetMethodDecl () const |
const char * | GetPrototype () |
void | Init (const clang::FunctionDecl *) |
void * | InterfaceMethod (const ROOT::TMetaUtils::TNormalizedCtxt &normCtxt) const |
int | InternalNext () |
const char * | Name () override |
int | NArg () const |
int | NDefaultArg () const |
int | Next () |
TClingMethodInfo & | operator= (const TClingMethodInfo &in) |
long | Property () const |
const char * | Title () |
TClingTypeInfo * | Type () const |
const char * | TypeName () const |
Public Member Functions inherited from TClingDeclInfo | |
TClingDeclInfo (const clang::Decl *D) | |
virtual | ~TClingDeclInfo () |
clang::Decl * | GetDecl () |
virtual const clang::Decl * | GetDecl () const |
virtual bool | IsValid () const |
virtual const char * | Name () |
Private Member Functions | |
const clang::Decl * | GetDeclSlow () const |
Private Attributes | |
unsigned int | fContextIdx |
llvm::SmallVector< clang::DeclContext *, 2 > | fContexts |
bool | fFirstTime |
cling::Interpreter * | fInterp |
clang::DeclContext::decl_iterator | fIter |
const clang::FunctionDecl * | fTemplateSpec |
std::string | fTitle |
Additional Inherited Members | |
Protected Attributes inherited from TClingDeclInfo | |
const clang::Decl * | fDecl = nullptr |
std::string | fNameCache |
|
inlineexplicit |
Definition at line 67 of file TClingMethodInfo.h.
TClingMethodInfo::TClingMethodInfo | ( | const TClingMethodInfo & | rhs | ) |
Definition at line 60 of file TClingMethodInfo.cxx.
TClingMethodInfo::TClingMethodInfo | ( | cling::Interpreter * | interp, |
const clang::FunctionDecl * | FD | ||
) |
Definition at line 119 of file TClingMethodInfo.cxx.
TClingMethodInfo::TClingMethodInfo | ( | cling::Interpreter * | interp, |
TClingClassInfo * | ci | ||
) |
Definition at line 90 of file TClingMethodInfo.cxx.
TClingMethodInfo::~TClingMethodInfo | ( | ) |
Definition at line 127 of file TClingMethodInfo.cxx.
Definition at line 145 of file TClingMethodInfo.cxx.
long TClingMethodInfo::ExtraProperty | ( | ) | const |
Definition at line 530 of file TClingMethodInfo.cxx.
|
inlineoverridevirtual |
Reimplemented from TClingDeclInfo.
Definition at line 87 of file TClingMethodInfo.h.
TDictionary::DeclId_t TClingMethodInfo::GetDeclId | ( | ) | const |
Definition at line 132 of file TClingMethodInfo.cxx.
|
private |
Definition at line 200 of file TClingMethodInfo.cxx.
|
inline |
Definition at line 82 of file TClingMethodInfo.h.
std::string TClingMethodInfo::GetMangledName | ( | ) | const |
Definition at line 576 of file TClingMethodInfo.cxx.
const clang::FunctionDecl * TClingMethodInfo::GetMethodDecl | ( | ) | const |
Definition at line 140 of file TClingMethodInfo.cxx.
const char * TClingMethodInfo::GetPrototype | ( | ) |
Definition at line 599 of file TClingMethodInfo.cxx.
void TClingMethodInfo::Init | ( | const clang::FunctionDecl * | decl | ) |
Definition at line 179 of file TClingMethodInfo.cxx.
void * TClingMethodInfo::InterfaceMethod | ( | const ROOT::TMetaUtils::TNormalizedCtxt & | normCtxt | ) | const |
Definition at line 189 of file TClingMethodInfo.cxx.
int TClingMethodInfo::InternalNext | ( | ) |
Definition at line 358 of file TClingMethodInfo.cxx.
|
overridevirtual |
Reimplemented from TClingDeclInfo.
Definition at line 638 of file TClingMethodInfo.cxx.
int TClingMethodInfo::NArg | ( | ) | const |
Definition at line 208 of file TClingMethodInfo.cxx.
int TClingMethodInfo::NDefaultArg | ( | ) | const |
Definition at line 219 of file TClingMethodInfo.cxx.
int TClingMethodInfo::Next | ( | ) |
Definition at line 436 of file TClingMethodInfo.cxx.
TClingMethodInfo & TClingMethodInfo::operator= | ( | const TClingMethodInfo & | in | ) |
Definition at line 73 of file TClingMethodInfo.cxx.
long TClingMethodInfo::Property | ( | ) | const |
Definition at line 441 of file TClingMethodInfo.cxx.
const char * TClingMethodInfo::Title | ( | ) |
Definition at line 659 of file TClingMethodInfo.cxx.
TClingTypeInfo * TClingMethodInfo::Type | ( | ) | const |
Definition at line 552 of file TClingMethodInfo.cxx.
const char * TClingMethodInfo::TypeName | ( | ) | const |
Definition at line 650 of file TClingMethodInfo.cxx.
|
private |
Definition at line 59 of file TClingMethodInfo.h.
|
private |
Definition at line 57 of file TClingMethodInfo.h.
|
private |
Definition at line 58 of file TClingMethodInfo.h.
|
private |
Definition at line 56 of file TClingMethodInfo.h.
|
private |
Definition at line 60 of file TClingMethodInfo.h.
|
private |
Definition at line 62 of file TClingMethodInfo.h.
|
private |
Definition at line 61 of file TClingMethodInfo.h.