12#ifndef ROOT_TClingMethodInfo
13#define ROOT_TClingMethodInfo
34#include "clang/AST/DeclBase.h"
35#include "llvm/ADT/SmallVector.h"
46 namespace TMetaUtils {
47 class TNormalizedCtxt;
57 llvm::SmallVector<clang::DeclContext *, 2>
fContexts;
60 clang::DeclContext::decl_iterator
fIter;
84 void Init(
const clang::FunctionDecl *);
85 void *
InterfaceMethod(
const ROOT::TMetaUtils::TNormalizedCtxt &normCtxt)
const;
87 const clang::Decl *
GetDecl()
const override {
101 const char *
Name()
override;
The file contains a base class of TCling*Info classes.
Emulation of the CINT ClassInfo class.
virtual const clang::Decl * GetDecl() const
Emulation of the CINT MethodInfo class.
const char * Name() override
clang::DeclContext::decl_iterator fIter
TClingMethodInfo & operator=(const TClingMethodInfo &in)
std::string GetMangledName() const
const char * TypeName() const
cling::Interpreter * GetInterpreter() const
void * InterfaceMethod(const ROOT::TMetaUtils::TNormalizedCtxt &normCtxt) const
const clang::Decl * GetDecl() const override
const char * GetPrototype()
void Init(const clang::FunctionDecl *)
const clang::FunctionDecl * GetMethodDecl() const
long ExtraProperty() const
const clang::Decl * GetDeclSlow() const
llvm::SmallVector< clang::DeclContext *, 2 > fContexts
TClingMethodInfo(cling::Interpreter *interp)
void CreateSignature(TString &signature) const
TDictionary::DeclId_t GetDeclId() const
cling::Interpreter * fInterp
TClingTypeInfo * Type() const
const clang::FunctionDecl * fTemplateSpec
Emulation of the CINT TypeInfo class.
Namespace for new ROOT classes and functions.