Logo ROOT  
Reference Guide
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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
 
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
 
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
 
- Public Member Functions inherited from TClingDeclInfo
 TClingDeclInfo ()=default
 
 TClingDeclInfo (const clang::Decl *D)
 
virtual ~TClingDeclInfo ()
 
clang::Decl * GetDecl ()
 
virtual bool IsValid () const
 

Private Member Functions

const clang::Decl * GetDeclSlow () const
 

Private Attributes

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

Additional Inherited Members

- Protected Member Functions inherited from TClingDeclInfo
long Property (long property, clang::QualType &qt) const
 
- Protected Attributes inherited from TClingDeclInfo
const clang::Decl * fDecl = nullptr
 
std::string fNameCache
 

#include </github/home/ROOT-CI/src/core/metacling/src/TClingMethodInfo.h>

Inheritance diagram for TClingMethodInfo:
[legend]

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 277 of file TClingMethodInfo.cxx.

◆ TClingMethodInfo() [3/3]

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

Definition at line 236 of file TClingMethodInfo.cxx.

Member Function Documentation

◆ CreateSignature()

void TClingMethodInfo::CreateSignature ( TString & signature) const

Definition at line 319 of file TClingMethodInfo.cxx.

◆ ExtraProperty()

long TClingMethodInfo::ExtraProperty ( ) const

Definition at line 541 of file TClingMethodInfo.cxx.

◆ GetAsFunctionDecl()

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

Definition at line 297 of file TClingMethodInfo.cxx.

◆ GetAsUsingShadowDecl()

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

Definition at line 302 of file TClingMethodInfo.cxx.

◆ GetDecl()

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 285 of file TClingMethodInfo.cxx.

◆ GetDeclSlow()

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

Definition at line 372 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 594 of file TClingMethodInfo.cxx.

◆ GetPrototype()

const char * TClingMethodInfo::GetPrototype ( )

Definition at line 618 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 307 of file TClingMethodInfo.cxx.

◆ Init()

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

Definition at line 353 of file TClingMethodInfo.cxx.

◆ InterfaceMethod()

void * TClingMethodInfo::InterfaceMethod ( ) const

Definition at line 360 of file TClingMethodInfo.cxx.

◆ Name()

const char * TClingMethodInfo::Name ( ) const
overridevirtual

Reimplemented from TClingDeclInfo.

Definition at line 664 of file TClingMethodInfo.cxx.

◆ NArg()

int TClingMethodInfo::NArg ( ) const

Definition at line 377 of file TClingMethodInfo.cxx.

◆ NDefaultArg()

int TClingMethodInfo::NDefaultArg ( ) const

Definition at line 389 of file TClingMethodInfo.cxx.

◆ Next()

int TClingMethodInfo::Next ( )

Definition at line 416 of file TClingMethodInfo.cxx.

◆ Property()

long TClingMethodInfo::Property ( ) const

Definition at line 437 of file TClingMethodInfo.cxx.

◆ Title()

const char * TClingMethodInfo::Title ( )

Definition at line 694 of file TClingMethodInfo.cxx.

◆ Type()

TClingTypeInfo * TClingMethodInfo::Type ( ) const

Definition at line 566 of file TClingMethodInfo.cxx.

◆ TypeName()

const char * TClingMethodInfo::TypeName ( ) const

Definition at line 682 of file TClingMethodInfo.cxx.

Member Data Documentation

◆ 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.

◆ fTitle

std::string TClingMethodInfo::fTitle
private

Definition at line 129 of file TClingMethodInfo.h.

  • core/metacling/src/TClingMethodInfo.h
  • core/metacling/src/TClingMethodInfo.cxx