Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
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 124 of file TClingMethodInfo.h.

Public Member Functions

 TClingMethodInfo (cling::Interpreter *, const clang::Decl *)
 TClingMethodInfo (cling::Interpreter *, TClingClassInfo *)
 TClingMethodInfo (cling::Interpreter *interp)
void CreateSignature (TString &signature) const
long ExtraProperty () const
const clang::FunctionDecl * GetAsFunctionDecl () const
const clang::UsingShadowDecl * GetAsUsingShadowDecl () const
clang::Decl * GetDecl ()
const clang::Decl * GetDecl () const override
TDictionary::DeclId_t GetDeclId () const
cling::Interpreter * GetInterpreter () const
std::string GetMangledName () const
const char * GetPrototype ()
const clang::FunctionDecl * GetTargetFunctionDecl () const
 Get the FunctionDecl, or if this represents a UsingShadowDecl, the underlying target FunctionDecl.
void Init (const clang::FunctionDecl *)
void * InterfaceMethod () const
virtual bool IsValid () const
const char * Name () const override
int NArg () const
int NDefaultArg () const
int Next ()
long Property () const
const char * Title ()
TClingTypeInfoType () const
const char * TypeName () const

Protected Member Functions

long Property (long property, clang::QualType &qt) const

Protected Attributes

const clang::Decl * fDecl = nullptr
std::string fNameCache

Private Member Functions

const clang::Decl * GetDeclSlow () const

Private Attributes

bool fFirstTime
cling::Interpreter * fInterp
TClingCXXRecMethIter fIter
std::string fTitle

#include </home/stephan/code/root-2/core/metacling/src/TClingMethodInfo.h>

Inheritance diagram for TClingMethodInfo:
TClingDeclInfo

Constructor & Destructor Documentation

◆ TClingMethodInfo() [1/3]

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

Definition at line 134 of file TClingMethodInfo.h.

◆ TClingMethodInfo() [2/3]

TClingMethodInfo::TClingMethodInfo ( cling::Interpreter * interp,
const clang::Decl * D )

Definition at line 276 of file TClingMethodInfo.cxx.

◆ TClingMethodInfo() [3/3]

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

Definition at line 235 of file TClingMethodInfo.cxx.

Member Function Documentation

◆ CreateSignature()

void TClingMethodInfo::CreateSignature ( TString & signature) const

Definition at line 318 of file TClingMethodInfo.cxx.

◆ ExtraProperty()

long TClingMethodInfo::ExtraProperty ( ) const

Definition at line 540 of file TClingMethodInfo.cxx.

◆ GetAsFunctionDecl()

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

Definition at line 296 of file TClingMethodInfo.cxx.

◆ GetAsUsingShadowDecl()

const clang::UsingShadowDecl * TClingMethodInfo::GetAsUsingShadowDecl ( ) const

Definition at line 301 of file TClingMethodInfo.cxx.

◆ GetDecl() [1/2]

clang::Decl * TClingDeclInfo::GetDecl ( )
inlineinherited

Definition at line 39 of file TClingDeclInfo.h.

◆ GetDecl() [2/2]

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

Reimplemented from TClingDeclInfo.

Definition at line 153 of file TClingMethodInfo.h.

◆ GetDeclId()

TDictionary::DeclId_t TClingMethodInfo::GetDeclId ( ) const

Definition at line 284 of file TClingMethodInfo.cxx.

◆ GetDeclSlow()

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

Definition at line 371 of file TClingMethodInfo.cxx.

◆ GetInterpreter()

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

Definition at line 148 of file TClingMethodInfo.h.

◆ GetMangledName()

std::string TClingMethodInfo::GetMangledName ( ) const

Definition at line 593 of file TClingMethodInfo.cxx.

◆ GetPrototype()

const char * TClingMethodInfo::GetPrototype ( )

Definition at line 617 of file TClingMethodInfo.cxx.

◆ GetTargetFunctionDecl()

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

Get the FunctionDecl, or if this represents a UsingShadowDecl, the underlying target FunctionDecl.

Definition at line 306 of file TClingMethodInfo.cxx.

◆ Init()

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

Definition at line 352 of file TClingMethodInfo.cxx.

◆ InterfaceMethod()

void * TClingMethodInfo::InterfaceMethod ( ) const

Definition at line 359 of file TClingMethodInfo.cxx.

◆ IsValid()

virtual bool TClingDeclInfo::IsValid ( ) const
inlinevirtualinherited

Reimplemented in TClingMethodArgInfo, and TClingTypeInfo.

Definition at line 42 of file TClingDeclInfo.h.

◆ Name()

const char * TClingMethodInfo::Name ( ) const
overridevirtual

Reimplemented from TClingDeclInfo.

Definition at line 663 of file TClingMethodInfo.cxx.

◆ NArg()

int TClingMethodInfo::NArg ( ) const

Definition at line 376 of file TClingMethodInfo.cxx.

◆ NDefaultArg()

int TClingMethodInfo::NDefaultArg ( ) const

Definition at line 388 of file TClingMethodInfo.cxx.

◆ Next()

int TClingMethodInfo::Next ( )

Definition at line 415 of file TClingMethodInfo.cxx.

◆ Property() [1/2]

long TClingDeclInfo::Property ( long property,
clang::QualType & qt ) const
protectedinherited

Definition at line 49 of file TClingDeclInfo.cxx.

◆ Property() [2/2]

long TClingMethodInfo::Property ( ) const

Definition at line 436 of file TClingMethodInfo.cxx.

◆ Title()

const char * TClingMethodInfo::Title ( )

Definition at line 693 of file TClingMethodInfo.cxx.

◆ Type()

TClingTypeInfo * TClingMethodInfo::Type ( ) const

Definition at line 565 of file TClingMethodInfo.cxx.

◆ TypeName()

const char * TClingMethodInfo::TypeName ( ) const

Definition at line 681 of file TClingMethodInfo.cxx.

Member Data Documentation

◆ fDecl

const clang::Decl* TClingDeclInfo::fDecl = nullptr
protectedinherited

Definition at line 30 of file TClingDeclInfo.h.

◆ fFirstTime

bool TClingMethodInfo::fFirstTime
private

Definition at line 127 of file TClingMethodInfo.h.

◆ fInterp

cling::Interpreter* TClingMethodInfo::fInterp
private

Definition at line 126 of file TClingMethodInfo.h.

◆ fIter

TClingCXXRecMethIter TClingMethodInfo::fIter
private

Definition at line 128 of file TClingMethodInfo.h.

◆ fNameCache

std::string TClingDeclInfo::fNameCache
mutableprotectedinherited

Definition at line 31 of file TClingDeclInfo.h.

◆ fTitle

std::string TClingMethodInfo::fTitle
private

Definition at line 129 of file TClingMethodInfo.h.


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