12#ifndef ROOT_TClingMethodInfo
13#define ROOT_TClingMethodInfo
34#include "llvm/ADT/SmallVector.h"
48 namespace TMetaUtils {
49 class TNormalizedCtxt;
61 using Vec_t = llvm::SmallVector<clang::CXXMethodDecl *,4>;
67 SpecFuncIter(cling::Interpreter *interp, clang::DeclContext *DC,
68 llvm::SmallVectorImpl<clang::CXXMethodDecl*> &&specFuncs);
92 bool ShouldSkip(
const clang::Decl* FD)
const final;
93 bool ShouldSkip(
const clang::UsingShadowDecl* USD)
const final;
104 llvm::SmallVectorImpl<clang::CXXMethodDecl*> &&specFuncs):
107 const clang::Decl *
Get() const final {
150 void Init(
const clang::FunctionDecl *);
166 const char *
Name()
const override;
The file contains a base class of TCling*Info classes.
clang::FunctionDecl * operator->() const
clang::FunctionDecl * operator*() const
llvm::SmallVector< clang::CXXMethodDecl *, 4 > Vec_t
Iterate over FunctionDecl and UsingShadowDecls of FunctionDecl, within a scope, recursing through "tr...
bool IsValid() const final
const clang::Decl * InstantiateTemplateWithDefaults(const clang::RedeclarableTemplateDecl *TD) const final
const clang::Decl * Get() const final
SpecFuncIter fSpecFuncIter
clang::Decl * AdvanceUnfiltered() final
TClingCXXRecMethIter(cling::Interpreter *interp, clang::DeclContext *DC, llvm::SmallVectorImpl< clang::CXXMethodDecl * > &&specFuncs)
bool ShouldSkip(const clang::Decl *FD) const final
TClingCXXRecMethIter()=default
Emulation of the CINT ClassInfo class.
virtual const clang::Decl * GetDecl() const
Iterate over all DeclT-s (or UsingShadowDecl-s pointing to DeclT-s) of a decl context,...
virtual const clang::Decl * Get() const
virtual clang::Decl * AdvanceUnfiltered()
virtual bool IsValid() const
Emulation of the CINT MethodInfo class.
std::string GetMangledName() const
const char * TypeName() const
cling::Interpreter * GetInterpreter() const
const clang::FunctionDecl * GetAsFunctionDecl() const
const char * Name() const override
const clang::UsingShadowDecl * GetAsUsingShadowDecl() const
const clang::FunctionDecl * GetTargetFunctionDecl() const
Get the FunctionDecl, or if this represents a UsingShadowDecl, the underlying target FunctionDecl.
const clang::Decl * GetDecl() const override
TClingCXXRecMethIter fIter
const char * GetPrototype()
void Init(const clang::FunctionDecl *)
long ExtraProperty() const
const clang::Decl * GetDeclSlow() const
void * InterfaceMethod() const
TClingMethodInfo(cling::Interpreter *interp)
void CreateSignature(TString &signature) const
TDictionary::DeclId_t GetDeclId() const
cling::Interpreter * fInterp
TClingTypeInfo * Type() const
Emulation of the CINT TypeInfo class.
This file contains a specialised ROOT message handler to test for diagnostic in unit tests.