Logo ROOT   6.21/01
Reference Guide
TClingMethodInfo Class Referencefinal

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 *interp)
 
 TClingMethodInfo (const TClingMethodInfo &)
 
 TClingMethodInfo (cling::Interpreter *, const clang::FunctionDecl *)
 
 TClingMethodInfo (cling::Interpreter *, TClingClassInfo *)
 
 ~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 *)
 
voidInterfaceMethod (const ROOT::TMetaUtils::TNormalizedCtxt &normCtxt) const
 
int InternalNext ()
 
const char * Name () override
 
int NArg () const
 
int NDefaultArg () const
 
int Next ()
 
TClingMethodInfooperator= (const TClingMethodInfo &in)
 
long Property () const
 
const char * Title ()
 
TClingTypeInfoType () const
 
const char * TypeName () const
 
- Public Member Functions inherited from TClingDeclInfo
 TClingDeclInfo (const clang::Decl *D)
 
virtual ~TClingDeclInfo ()
 
clang::Decl * GetDecl ()
 
virtual bool IsValid () const
 

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
 

#include </mnt/build/workspace/root-makedoc/rootspi/rdoc/src/master/core/metacling/src/TClingMethodInfo.h>

Inheritance diagram for TClingMethodInfo:
[legend]

Constructor & Destructor Documentation

◆ TClingMethodInfo() [1/4]

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

Definition at line 67 of file TClingMethodInfo.h.

◆ TClingMethodInfo() [2/4]

TClingMethodInfo::TClingMethodInfo ( const TClingMethodInfo rhs)

Definition at line 60 of file TClingMethodInfo.cxx.

◆ TClingMethodInfo() [3/4]

TClingMethodInfo::TClingMethodInfo ( cling::Interpreter *  interp,
const clang::FunctionDecl *  FD 
)

Definition at line 119 of file TClingMethodInfo.cxx.

◆ TClingMethodInfo() [4/4]

TClingMethodInfo::TClingMethodInfo ( cling::Interpreter *  interp,
TClingClassInfo ci 
)

Definition at line 90 of file TClingMethodInfo.cxx.

◆ ~TClingMethodInfo()

TClingMethodInfo::~TClingMethodInfo ( )

Definition at line 127 of file TClingMethodInfo.cxx.

Member Function Documentation

◆ CreateSignature()

void TClingMethodInfo::CreateSignature ( TString signature) const

Definition at line 145 of file TClingMethodInfo.cxx.

◆ ExtraProperty()

long TClingMethodInfo::ExtraProperty ( ) const

Definition at line 521 of file TClingMethodInfo.cxx.

◆ GetDecl()

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

Reimplemented from TClingDeclInfo.

Definition at line 87 of file TClingMethodInfo.h.

◆ GetDeclId()

TDictionary::DeclId_t TClingMethodInfo::GetDeclId ( ) const

Definition at line 132 of file TClingMethodInfo.cxx.

◆ GetDeclSlow()

const clang::Decl * TClingMethodInfo::GetDeclSlow ( ) const
private

Definition at line 200 of file TClingMethodInfo.cxx.

◆ GetInterpreter()

cling::Interpreter* TClingMethodInfo::GetInterpreter ( ) const
inline

Definition at line 82 of file TClingMethodInfo.h.

◆ GetMangledName()

std::string TClingMethodInfo::GetMangledName ( ) const

Definition at line 567 of file TClingMethodInfo.cxx.

◆ GetMethodDecl()

const clang::FunctionDecl * TClingMethodInfo::GetMethodDecl ( ) const

Definition at line 140 of file TClingMethodInfo.cxx.

◆ GetPrototype()

const char * TClingMethodInfo::GetPrototype ( )

Definition at line 590 of file TClingMethodInfo.cxx.

◆ Init()

void TClingMethodInfo::Init ( const clang::FunctionDecl *  decl)

Definition at line 179 of file TClingMethodInfo.cxx.

◆ InterfaceMethod()

void * TClingMethodInfo::InterfaceMethod ( const ROOT::TMetaUtils::TNormalizedCtxt &  normCtxt) const

Definition at line 189 of file TClingMethodInfo.cxx.

◆ InternalNext()

int TClingMethodInfo::InternalNext ( )

Definition at line 352 of file TClingMethodInfo.cxx.

◆ Name()

const char * TClingMethodInfo::Name ( )
overridevirtual

Reimplemented from TClingDeclInfo.

Definition at line 629 of file TClingMethodInfo.cxx.

◆ NArg()

int TClingMethodInfo::NArg ( ) const

Definition at line 208 of file TClingMethodInfo.cxx.

◆ NDefaultArg()

int TClingMethodInfo::NDefaultArg ( ) const

Definition at line 219 of file TClingMethodInfo.cxx.

◆ Next()

int TClingMethodInfo::Next ( )

Definition at line 427 of file TClingMethodInfo.cxx.

◆ operator=()

TClingMethodInfo & TClingMethodInfo::operator= ( const TClingMethodInfo in)

Definition at line 73 of file TClingMethodInfo.cxx.

◆ Property()

long TClingMethodInfo::Property ( ) const

Definition at line 432 of file TClingMethodInfo.cxx.

◆ Title()

const char * TClingMethodInfo::Title ( )

Definition at line 650 of file TClingMethodInfo.cxx.

◆ Type()

TClingTypeInfo * TClingMethodInfo::Type ( ) const

Definition at line 543 of file TClingMethodInfo.cxx.

◆ TypeName()

const char * TClingMethodInfo::TypeName ( ) const

Definition at line 641 of file TClingMethodInfo.cxx.

Member Data Documentation

◆ fContextIdx

unsigned int TClingMethodInfo::fContextIdx
private

Definition at line 59 of file TClingMethodInfo.h.

◆ fContexts

llvm::SmallVector<clang::DeclContext *, 2> TClingMethodInfo::fContexts
private

Definition at line 57 of file TClingMethodInfo.h.

◆ fFirstTime

bool TClingMethodInfo::fFirstTime
private

Definition at line 58 of file TClingMethodInfo.h.

◆ fInterp

cling::Interpreter* TClingMethodInfo::fInterp
private

Definition at line 56 of file TClingMethodInfo.h.

◆ fIter

clang::DeclContext::decl_iterator TClingMethodInfo::fIter
private

Definition at line 60 of file TClingMethodInfo.h.

◆ fTemplateSpec

const clang::FunctionDecl* TClingMethodInfo::fTemplateSpec
private

Definition at line 62 of file TClingMethodInfo.h.

◆ fTitle

std::string TClingMethodInfo::fTitle
private

Definition at line 61 of file TClingMethodInfo.h.


The documentation for this class was generated from the following files: