ROOT  6.07/01
Reference Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Private Attributes | List of all members
TClingMethodInfo Class Reference

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 *)
 
voidInterfaceMethod (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
 
TClingTypeInfoType () 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
 

#include </mnt/vdb/lsf/workspace/root-makedoc/rootspi/rdoc/src/master/core/meta/src/TClingMethodInfo.h>

Constructor & Destructor Documentation

TClingMethodInfo::TClingMethodInfo ( cling::Interpreter *  interp)
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.

Member Function Documentation

void TClingMethodInfo::CreateSignature ( TString signature) const

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
cling::Interpreter* TClingMethodInfo::GetInterpreter ( ) const
inline

Definition at line 80 of file TClingMethodInfo.h.

std::string TClingMethodInfo::GetMangledName ( ) const
const clang::FunctionDecl * TClingMethodInfo::GetMethodDecl ( ) const
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)
void * TClingMethodInfo::InterfaceMethod ( const ROOT::TMetaUtils::TNormalizedCtxt normCtxt) const
int TClingMethodInfo::InternalNext ( )

Definition at line 251 of file TClingMethodInfo.cxx.

Referenced by Next(), and TClingMethodInfo().

bool TClingMethodInfo::IsValid ( ) const
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
const char * TClingMethodInfo::TypeName ( ) const

Definition at line 550 of file TClingMethodInfo.cxx.

Referenced by TCling::MethodInfo_TypeName().

Member Data Documentation

unsigned int TClingMethodInfo::fContextIdx
private

Definition at line 59 of file TClingMethodInfo.h.

Referenced by Init(), and InternalNext().

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

Definition at line 57 of file TClingMethodInfo.h.

Referenced by Init(), InternalNext(), and TClingMethodInfo().

bool TClingMethodInfo::fFirstTime
private

Definition at line 58 of file TClingMethodInfo.h.

Referenced by Init(), InternalNext(), and TClingMethodInfo().

cling::Interpreter* TClingMethodInfo::fInterp
private
clang::DeclContext::decl_iterator TClingMethodInfo::fIter
private

Definition at line 60 of file TClingMethodInfo.h.

Referenced by Init(), InternalNext(), IsValid(), and TClingMethodInfo().

const clang::FunctionDecl* TClingMethodInfo::fSingleDecl
private

Definition at line 63 of file TClingMethodInfo.h.

Referenced by GetMethodDecl(), Init(), InternalNext(), and IsValid().

SpecIterator* TClingMethodInfo::fTemplateSpecIter
private
std::string TClingMethodInfo::fTitle
private

Definition at line 61 of file TClingMethodInfo.h.

Referenced by Title().

Collaboration diagram for TClingMethodInfo:
[legend]

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