12 #ifndef ROOT_TClingClassInfo 13 #define ROOT_TClingClassInfo 33 #include "llvm/ADT/DenseMap.h" 41 class FunctionTemplateDecl;
46 namespace TMetaUtils {
47 class TNormalizedCtxt;
61 clang::DeclContext::decl_iterator
fIter;
64 std::vector<clang::DeclContext::decl_iterator>
fIterStack;
67 llvm::DenseMap<const clang::Decl*, std::pair<ptrdiff_t, OffsetPtrFunc_t> >
fOffsetCache;
84 void AddBaseOffsetValue(
const clang::Decl* decl, ptrdiff_t offset);
85 long ClassProperty()
const;
89 const clang::ValueDecl *GetDataMember(
const char *
name)
const;
90 const clang::Decl *
GetDecl()
const {
return fDecl; }
92 const clang::FunctionTemplateDecl *GetFunctionTemplate(
const char *fname)
const;
103 TClingMethodInfo GetMethodWithArgs(
const char *fname,
const char *arglist,
bool objectIsConst,
113 long GetOffset(
const clang::CXXMethodDecl* md)
const;
116 bool HasDefaultConstructor()
const;
117 bool HasMethod(
const char *name)
const;
118 void Init(
const char *name);
119 void Init(
const clang::Decl*);
120 void Init(
int tagnum);
122 bool IsBase(
const char *name)
const;
123 static bool IsEnum(cling::Interpreter *interp,
const char *name);
124 bool IsLoaded()
const;
125 bool IsValid()
const;
133 long Property()
const;
134 int RootFlag()
const;
137 const char *FileName();
139 const char *
Name()
const;
141 const char *TmpltName()
const;
145 #endif // ROOT_TClingClassInfo llvm::DenseMap< const clang::Decl *, std::pair< ptrdiff_t, OffsetPtrFunc_t > > fOffsetCache
This namespace contains pre-defined functions to be used in conjuction with TExecutor::Map and TExecu...
RooArgList L(const RooAbsArg &v1)
const clang::Decl * GetDecl() const
const clang::Type * fType
ptrdiff_t GetBaseOffset(TCppType_t derived, TCppType_t base, TCppObject_t address, int direction, bool rerror=false)
Emulation of the CINT MethodInfo class.
V GetOffset(E val1, E val2, V iso)
ptrdiff_t(* OffsetPtrFunc_t)(void *, bool)
const clang::Decl * fDecl
void Init(TClassEdit::TInterpreterLookupHelper *helper)
TCppMethod_t GetMethod(TCppScope_t scope, TCppIndex_t imeth)
std::string fDeclFileName
TDictionary::DeclId_t GetDeclId() const
Type
enumeration specifying the integration types.
Print a TSeq at the prompt:
double func(double *x, double *p)
Emulation of the CINT ClassInfo class.
clang::DeclContext::decl_iterator fIter
std::vector< clang::DeclContext::decl_iterator > fIterStack
void Destruct(TCppType_t type, TCppObject_t instance)
cling::Interpreter * fInterp
Bool_t IsEnum(const std::string &type_name)
void AddBaseOffsetFunction(const clang::Decl *decl, OffsetPtrFunc_t func)
const clang::Type * GetType() const