13#ifndef ROOT_TInterpreter
14#define ROOT_TInterpreter
44#if defined (_REENTRANT) || defined (WIN32)
45# define R__LOCKGUARD_CLING(mutex) ::ROOT::Internal::InterpreterMutexRegistrationRAII _R__UNIQUE_(R__guard)(mutex); { }
47# define R__LOCKGUARD_CLING(mutex) (void)(mutex); { }
80 enum class EReturnType { kLong, kDouble, kString, kOther, kNoReturnType };
181 const std::string& ModuleMapName =
"module.modulemap")
const = 0;
189 const char** classesHeaders,
190 Bool_t lateRegistration =
false,
191 Bool_t hasCxxModule =
false) = 0;
195 virtual void SetGetline(
const char*(*getlineFunc)(
const char* prompt),
196 void (*histaddFunc)(
const char*
line)) = 0;
249 virtual int DisplayClass(FILE * ,
const char * ,
int ,
int )
const {
return 0;}
251 virtual void *
FindSym(
const char * )
const {
return 0;}
257 virtual int LoadFile(
const char * )
const {
return 0;}
259 virtual const char *
MapCppName(
const char*)
const {
return 0;}
275 std::vector<std::string>&) {;}
304 virtual void GetFunctionOverloads(ClassInfo_t *cl,
const char *funcname, std::vector<DeclId_t>& res)
const = 0;
343 template <
typename T>
351 template <
typename T>
361 template <
typename U>
367 template <
typename U,
typename...
T>
374 template <
typename...
T>
405 ClassInfo_t* ,
void* = 0,
bool =
true)
const {
return 0;}
422 virtual void *
ClassInfo_New(ClassInfo_t * ,
int ,
void * )
const {
return 0;}
438 ClassInfo_t* )
const {
return 0;}
555#define gInterpreter (TInterpreter::Instance())
unsigned long long ULong64_t
#define ClassDef(name, id)
TClass *(* DictFuncPtr_t)()
R__EXTERN TVirtualMutex * gInterpreterMutex
TInterpreter * CreateInterpreter_t(void *shlibHandle, const char *argv[])
R__EXTERN TInterpreter * gCling
void * DestroyInterpreter_t(TInterpreter *)
typedef void((*Func_t)())
#define R__LOCKGUARD(mutex)
TClass instances represent classes, structs and namespaces in the ROOT type system.
The TEnum class implements the enum type.
The TEnv class reads config files, by default named .rootrc.
Global functions class (global functions are obtained from CINT).
SuspendAutoParsing(TInterpreter *where, Bool_t value=kTRUE)
SuspendAutoloadingRAII(TInterpreter *interp)
~SuspendAutoloadingRAII()
This class defines an abstract interface to a generic command line interpreter.
virtual TypedefInfo_t * TypedefInfo_Factory() const
virtual bool RegisterPrebuiltModulePath(const std::string &FullPath, const std::string &ModuleMapName="module.modulemap") const =0
virtual std::string ToString(const char *type, void *obj)=0
virtual int MethodInfo_NArg(MethodInfo_t *) const
virtual Bool_t ClassInfo_HasMethod(ClassInfo_t *, const char *) const
virtual Long_t MethodInfo_ExtraProperty(MethodInfo_t *) const =0
virtual DataMemberInfo_t * DataMemberInfo_FactoryCopy(DataMemberInfo_t *) const
virtual void ClassInfo_Delete(ClassInfo_t *, void *) const
virtual void * GetAutoLoadCallBack() const
virtual void InspectMembers(TMemberInspector &, const void *obj, const TClass *cl, Bool_t isTransient)=0
virtual const char * TypeInfo_TrueName(TypeInfo_t *) const
virtual TypedefInfo_t * TypedefInfo_FactoryCopy(TypedefInfo_t *) const
virtual char * GetPrompt()=0
class std::map< std::string, std::string > MembersMap_t
virtual void ClearStack()=0
virtual void CallFunc_SetArgs(CallFunc_t *, const char *) const
virtual const char * DataMemberInfo_Name(DataMemberInfo_t *) const
virtual void SetAllocunlockfunc(void(*)()) const
virtual Long_t ExecuteMacro(const char *filename, EErrorCode *error=0)=0
virtual int UnloadFile(const char *) const
virtual const char * DataMemberInfo_TypeName(DataMemberInfo_t *) const
virtual void SetTempLevel(int) const
virtual void CallFunc_SetFunc(CallFunc_t *, MethodInfo_t *) const
virtual void CallFunc_SetFunc(CallFunc_t *, ClassInfo_t *, const char *, const char *, bool, Long_t *) const
virtual const char * DataMemberInfo_ValidArrayIndex(DataMemberInfo_t *) const
virtual DeclId_t GetFunctionTemplate(ClassInfo_t *cl, const char *funcname)=0
virtual void UpdateListOfGlobalFunctions()=0
virtual void UpdateListOfGlobals()=0
virtual int DataMemberInfo_TypeSize(DataMemberInfo_t *) const
virtual int ClassInfo_Next(ClassInfo_t *) const
virtual void CallFunc_IgnoreExtraArgs(CallFunc_t *, bool) const
virtual Int_t GenerateDictionary(const char *classes, const char *includes=0, const char *options=0)=0
virtual const char * BaseClassInfo_TmpltName(BaseClassInfo_t *) const
virtual const char * MethodArgInfo_Name(MethodArgInfo_t *) const
virtual void TypeInfo_Init(TypeInfo_t *, const char *) const
virtual Long_t ClassInfo_GetBaseOffset(ClassInfo_t *, ClassInfo_t *, void *=0, bool=true) const
virtual Long_t FuncTempInfo_Property(FuncTempInfo_t *) const =0
virtual void * ClassInfo_New(ClassInfo_t *) const
virtual Bool_t ClassInfo_IsValid(ClassInfo_t *) const
virtual std::string MethodArgInfo_TypeNormalizedName(MethodArgInfo_t *) const =0
virtual Int_t DeleteVariable(const char *name)=0
virtual void GenericError(const char *) const
virtual void SaveGlobalsContext()=0
virtual void CallFunc_SetFuncProto(CallFunc_t *, ClassInfo_t *, const char *, const char *, Long_t *, ROOT::EFunctionMatchMode=ROOT::kConversionMatch) const
virtual void ForgetMutexState()=0
virtual const char * TypedefInfo_TrueName(TypedefInfo_t *) const
virtual int BaseClassInfo_Next(BaseClassInfo_t *, int) const
virtual void Execute(TObject *obj, TClass *cl, const char *method, const char *params, int *error=0)=0
virtual Long_t TypedefInfo_Property(TypedefInfo_t *) const
virtual void CallFunc_SetArg(CallFunc_t *, Double_t) const =0
virtual Bool_t HasPCMForLibrary(const char *libname) const =0
virtual const char * GetSharedLibDeps(const char *lib, bool tryDyld=false)=0
virtual DeclId_t GetFunction(ClassInfo_t *cl, const char *funcname)=0
virtual Int_t AutoParse(const char *cls)=0
virtual const char * GetIncludePath()=0
virtual void CodeComplete(const std::string &, size_t &, std::vector< std::string > &)
virtual Bool_t TypedefInfo_IsValid(TypedefInfo_t *) const
virtual Long_t BaseClassInfo_Tagnum(BaseClassInfo_t *) const
virtual int SetClassAutoloading(int) const
virtual Int_t AutoLoad(const std::type_info &typeinfo, Bool_t knowDictNotLoaded=kFALSE)=0
virtual const char * TypeInfo_Name(TypeInfo_t *) const
virtual void ExecuteWithArgsAndReturn(TMethod *method, void *address, const void *args[]=0, int=0, void *ret=0) const =0
virtual void ClassInfo_Delete(ClassInfo_t *) const
void CallFunc_SetArguments(CallFunc_t *func, const T &... args)
virtual void CallFunc_ExecWithReturn(CallFunc_t *, void *, void *) const
virtual TClass * GetClass(const std::type_info &typeinfo, Bool_t load) const =0
void CallFunc_SetArg(CallFunc_t *func, void *arg)
virtual void RegisterModule(const char *, const char **, const char **, const char *, const char *, void(*)(), const FwdDeclArgsToKeepCollection_t &fwdDeclArgsToKeep, const char **classesHeaders, Bool_t lateRegistration=false, Bool_t hasCxxModule=false)=0
virtual Long_t DataMemberInfo_Offset(DataMemberInfo_t *) const
void CallFunc_SetArg(CallFunc_t *func, Char_t param) const
virtual const char * MethodArgInfo_DefaultValue(MethodArgInfo_t *) const
virtual bool DiagnoseIfInterpreterException(const std::exception &e) const =0
virtual EReturnType MethodCallReturnType(TFunction *func) const =0
virtual void TypeInfo_Delete(TypeInfo_t *) const
virtual void CallFunc_ResetArg(CallFunc_t *) const
virtual void EndOfLineAction()=0
virtual void ResetGlobals()=0
virtual Bool_t ClassInfo_IsBase(ClassInfo_t *, const char *) const
virtual const char * MethodInfo_Title(MethodInfo_t *) const
TInterpreterValue * CreateTemporary() const
The created temporary must be deleted by the caller.
virtual const char * MethodInfo_GetPrototype(MethodInfo_t *) const
virtual void ClassInfo_DeleteArray(ClassInfo_t *, void *, bool) const
int(* AutoLoadCallBack_t)(const char *)
virtual Int_t UnloadAllSharedLibraryMaps()=0
virtual Long_t FuncTempInfo_ExtraProperty(FuncTempInfo_t *) const =0
virtual Long_t Calc(const char *line, EErrorCode *error=0)=0
virtual TString GetMangledName(TClass *cl, const char *method, const char *params, Bool_t objectIsConst=kFALSE)=0
virtual void CreateListOfDataMembers(TClass *cl) const =0
virtual TypeInfo_t * MethodInfo_Type(MethodInfo_t *) const
virtual void * ClassInfo_New(ClassInfo_t *, void *) const
virtual int MethodArgInfo_Next(MethodArgInfo_t *) const
virtual void MethodInfo_Delete(MethodInfo_t *) const
virtual void UnRegisterTClassUpdate(const TClass *oldcl)=0
virtual TEnv * GetMapfile() const
virtual BaseClassInfo_t * BaseClassInfo_Factory(ClassInfo_t *, ClassInfo_t *) const
virtual UInt_t FuncTempInfo_TemplateMinReqArgs(FuncTempInfo_t *) const =0
virtual DeclId_t GetDeclId(FuncTempInfo_t *info) const =0
virtual TypedefInfo_t * TypedefInfo_Factory(const char *) const
virtual void AddIncludePath(const char *path)=0
virtual void ResetGlobalVar(void *obj)=0
virtual Bool_t IsLoaded(const char *filename) const =0
virtual const char * GetClassSharedLibs(const char *cls)=0
virtual const char * ClassInfo_TmpltName(ClassInfo_t *) const
virtual void SetProcessLineLock(Bool_t lock=kTRUE)=0
virtual Int_t Load(const char *filenam, Bool_t system=kFALSE)=0
virtual TypeInfo_t * TypeInfo_Factory(const char *) const
virtual std::string CallFunc_GetWrapperCode(CallFunc_t *func) const =0
virtual Long_t ClassInfo_Property(ClassInfo_t *) const
virtual int Evaluate(const char *, TInterpreterValue &)
virtual Long_t ProcessLineSynch(const char *line, EErrorCode *error=0)=0
void CallFunc_SetArg(CallFunc_t *func, Int_t param) const
virtual TypeInfo_t * TypeInfo_Factory() const
virtual int MethodInfo_NDefaultArg(MethodInfo_t *) const
virtual void LoadFunctionTemplates(TClass *cl) const =0
virtual ClassInfo_t * ClassInfo_Factory(const char *) const =0
virtual void TypedefInfo_Delete(TypedefInfo_t *) const
virtual void CallFunc_Exec(CallFunc_t *, void *) const
virtual Bool_t MethodArgInfo_IsValid(MethodArgInfo_t *) const
virtual void CallFunc_SetArg(CallFunc_t *, Long64_t) const =0
virtual ECheckClassInfo CheckClassInfo(const char *name, Bool_t autoload, Bool_t isClassOrNamespaceOnly=kFALSE)=0
virtual const char * BaseClassInfo_Name(BaseClassInfo_t *) const
virtual const char * MethodInfo_TypeName(MethodInfo_t *) const
virtual MethodInfo_t * MethodInfo_Factory(DeclId_t declid) const =0
virtual void PrintIntro()=0
virtual void Execute(const char *function, const char *params, int *error=0)=0
Execute method on this object with the given parameter string, e.g.
virtual Bool_t ClassInfo_HasDefaultConstructor(ClassInfo_t *) const
virtual void CallFunc_ExecWithArgsAndReturn(CallFunc_t *, void *, const void *[]=0, int=0, void *=0) const
virtual int DisplayIncludePath(FILE *) const
virtual DataMemberInfo_t * DataMemberInfo_Factory(ClassInfo_t *=0) const
virtual void UpdateListOfMethods(TClass *cl) const =0
virtual void CreateListOfMethodArgs(TFunction *m) const =0
void CallFunc_SetArgRef(CallFunc_t *func, T ¶m) const
virtual int LoadFile(const char *) const
virtual UInt_t FuncTempInfo_TemplateNargs(FuncTempInfo_t *) const =0
virtual int DisplayClass(FILE *, const char *, int, int) const
void CallFunc_SetArgImpl(CallFunc_t *func, const U &head, const T &... tail)
virtual const char * ClassInfo_Name(ClassInfo_t *) const
virtual Int_t UnloadLibraryMap(const char *library)=0
virtual int ClassInfo_Size(ClassInfo_t *) const
virtual const char * ClassInfo_FullName(ClassInfo_t *) const
virtual int TypedefInfo_Next(TypedefInfo_t *) const
virtual void RewindDictionary()=0
virtual Bool_t DataMemberInfo_IsValid(DataMemberInfo_t *) const
virtual MethodArgInfo_t * MethodArgInfo_Factory() const
virtual DeclId_t GetDeclId(DataMemberInfo_t *info) const =0
virtual CallFunc_t * CallFunc_Factory() const
virtual void * MethodInfo_InterfaceMethod(MethodInfo_t *) const
virtual Int_t AutoLoad(const char *classname, Bool_t knowDictNotLoaded=kFALSE)=0
virtual const char * TypedefInfo_Name(TypedefInfo_t *) const
virtual EDataType ClassInfo_GetUnderlyingType(ClassInfo_t *) const
virtual void CallFunc_SetFuncProto(CallFunc_t *func, ClassInfo_t *info, const char *method, const std::vector< TypeInfo_t * > &proto, bool objectIsConst, Long_t *Offset, ROOT::EFunctionMatchMode mode=ROOT::kConversionMatch) const =0
virtual int GetSecurityError() const
virtual void CallFunc_Init(CallFunc_t *) const
virtual void Execute(TObject *obj, TClass *cl, TMethod *method, TObjArray *params, int *error=0)=0
virtual EReturnType MethodInfo_MethodCallReturnType(MethodInfo_t *minfo) const =0
virtual void ResetAll()=0
virtual const char * ClassInfo_Title(ClassInfo_t *) const
virtual Bool_t Declare(const char *code)=0
virtual FuncTempInfo_t * FuncTempInfo_FactoryCopy(FuncTempInfo_t *) const =0
virtual Int_t LoadLibraryMap(const char *rootmapfile=0)=0
virtual Long_t DataMemberInfo_TypeProperty(DataMemberInfo_t *) const
virtual Bool_t IsErrorMessagesEnabled() const =0
virtual int DataMemberInfo_Next(DataMemberInfo_t *) const
virtual void BaseClassInfo_Delete(BaseClassInfo_t *) const
virtual ClassInfo_t * ClassInfo_Factory(Bool_t=kTRUE) const =0
virtual void * SetAutoLoadCallBack(void *)
virtual Bool_t CheckClassTemplate(const char *name)=0
virtual Long_t MethodArgInfo_Property(MethodArgInfo_t *) const
virtual void SetClassInfo(TClass *cl, Bool_t reload=kFALSE)=0
virtual Bool_t ClassInfo_Contains(ClassInfo_t *info, DeclId_t decl) const =0
virtual Bool_t IsAutoParsingSuspended() const =0
virtual Long_t ClassInfo_Tagnum(ClassInfo_t *) const
virtual DeclId_t GetEnum(TClass *cl, const char *name) const =0
virtual void MethodArgInfo_Delete(MethodArgInfo_t *) const
virtual const char * ClassInfo_FileName(ClassInfo_t *) const
virtual void * ClassInfo_New(ClassInfo_t *, int, void *) const
virtual Long_t TypeInfo_Property(TypeInfo_t *) const
virtual int SetClassAutoparsing(int)
virtual void SnapshotMutexState(ROOT::TVirtualRWMutex *mtx)=0
virtual MethodInfo_t * MethodInfo_Factory(ClassInfo_t *) const
virtual void CreateListOfMethods(TClass *cl) const =0
virtual int TypeInfo_Size(TypeInfo_t *) const
virtual MethodInfo_t * MethodInfo_FactoryCopy(MethodInfo_t *) const
virtual void SetGetline(const char *(*getlineFunc)(const char *prompt), void(*histaddFunc)(const char *line))=0
virtual const char * MethodInfo_Name(MethodInfo_t *) const
virtual int ClassInfo_GetMethodNArg(ClassInfo_t *, const char *, const char *, Bool_t=false, ROOT::EFunctionMatchMode=ROOT::kConversionMatch) const
virtual void UpdateListOfTypes()=0
virtual DataMemberInfo_t * DataMemberInfo_Factory(DeclId_t declid, ClassInfo_t *clinfo) const =0
virtual MethodArgInfo_t * MethodArgInfo_FactoryCopy(MethodArgInfo_t *) const
virtual Bool_t IsProcessLineLocked() const =0
virtual Bool_t LoadText(const char *) const
virtual void Initialize()=0
virtual DeclId_t GetDataMember(ClassInfo_t *cl, const char *name) const =0
void CallFunc_SetArg(CallFunc_t *func, UInt_t param) const
virtual Bool_t IsLibraryLoaded(const char *libname) const =0
virtual Bool_t SetSuspendAutoParsing(Bool_t value)=0
virtual Long_t DataMemberInfo_Property(DataMemberInfo_t *) const
virtual void * GetInterfaceMethodWithPrototype(TClass *cl, const char *method, const char *proto, Bool_t objectIsConst=kFALSE, ROOT::EFunctionMatchMode=ROOT::kConversionMatch)=0
virtual void FuncTempInfo_Name(FuncTempInfo_t *, TString &name) const =0
virtual ULong64_t GetInterpreterStateMarker() const =0
virtual void ClassInfo_Init(ClassInfo_t *, int) const
virtual Int_t ReloadAllSharedLibraryMaps()=0
virtual Long64_t CallFunc_ExecInt64(CallFunc_t *, void *) const
virtual void TypedefInfo_Init(TypedefInfo_t *, const char *) const
virtual const char * GetTopLevelMacroName() const
virtual Int_t RescanLibraryMap()=0
virtual int DataMemberInfo_ArrayDim(DataMemberInfo_t *) const
virtual Bool_t CallFunc_IsValid(CallFunc_t *) const
virtual void MethodInfo_CreateSignature(MethodInfo_t *, TString &) const
virtual DeclId_t GetDataMemberAtAddr(const void *addr) const =0
virtual DeclId_t GetFunctionWithValues(ClassInfo_t *cl, const char *method, const char *params, Bool_t objectIsConst=kFALSE)=0
virtual std::string MethodInfo_TypeNormalizedName(MethodInfo_t *) const
virtual void CallFunc_SetArgArray(CallFunc_t *, Long_t *, Int_t) const
virtual const char * MethodArgInfo_TypeName(MethodArgInfo_t *) const
std::vector< std::pair< std::string, int > > FwdDeclArgsToKeepCollection_t
virtual void GetInterpreterTypeName(const char *name, std::string &output, Bool_t full=kFALSE)=0
virtual int TypeInfo_RefType(TypeInfo_t *) const
virtual Bool_t SetErrorMessages(Bool_t enable=kTRUE)=0
virtual TClass * GenerateTClass(const char *classname, Bool_t emulation, Bool_t silent=kFALSE)=0
virtual void CallFunc_SetFuncProto(CallFunc_t *func, ClassInfo_t *info, const char *method, const std::vector< TypeInfo_t * > &proto, Long_t *Offset, ROOT::EFunctionMatchMode mode=ROOT::kConversionMatch) const =0
void CallFunc_SetArg(CallFunc_t *func, UChar_t param) const
virtual Long_t MethodInfo_Property(MethodInfo_t *) const =0
virtual const char * GetSharedLibs()=0
virtual const char * MapCppName(const char *) const
virtual Bool_t MethodInfo_IsValid(MethodInfo_t *) const
virtual void DataMemberInfo_Delete(DataMemberInfo_t *) const
virtual void LoadEnums(TListOfEnums &cl) const =0
virtual ClassInfo_t * BaseClassInfo_ClassInfo(BaseClassInfo_t *) const =0
virtual void * FindSym(const char *) const
virtual void SaveContext()=0
virtual void SetErrmsgcallback(void *) const
void CallFunc_SetArgImpl(CallFunc_t *)
void CallFunc_SetArg(CallFunc_t *func, UShort_t param) const
virtual Bool_t ClassInfo_IsLoaded(ClassInfo_t *) const
virtual int DataMemberInfo_MaxIndex(DataMemberInfo_t *, Int_t) const
virtual DeclId_t GetDeclId(ClassInfo_t *info) const =0
virtual CallFunc_t * CallFunc_FactoryCopy(CallFunc_t *) const
virtual Int_t GetExitCode() const =0
virtual void EnableAutoLoading()=0
virtual const char * TypedefInfo_Title(TypedefInfo_t *) const
virtual void ClassInfo_Init(ClassInfo_t *, const char *) const
virtual const char * DataMemberInfo_Title(DataMemberInfo_t *) const
virtual int BaseClassInfo_Next(BaseClassInfo_t *) const
virtual MethodArgInfo_t * MethodArgInfo_Factory(MethodInfo_t *) const
virtual void SetAlloclockfunc(void(*)()) const
TDictionary::DeclId_t DeclId_t
virtual Long_t CallFunc_ExecInt(CallFunc_t *, void *) const
virtual void CallFunc_Exec(CallFunc_t *, void *, TInterpreterValue &) const
virtual ClassInfo_t * ClassInfo_Factory(ClassInfo_t *) const =0
virtual TString GetMangledNameWithPrototype(TClass *cl, const char *method, const char *proto, Bool_t objectIsConst=kFALSE, ROOT::EFunctionMatchMode=ROOT::kConversionMatch)=0
virtual DeclId_t GetDeclId(CallFunc_t *info) const =0
virtual std::unique_ptr< TInterpreterValue > MakeInterpreterValue() const
virtual void UpdateEnumConstants(TEnum *enumObj, TClass *cl) const =0
virtual void SetDeclAttr(DeclId_t, const char *)=0
virtual DeclId_t GetDataMemberWithValue(const void *ptrvalue) const =0
virtual Long_t ProcessLine(const char *line, EErrorCode *error=0)=0
virtual void * ClassInfo_New(ClassInfo_t *, int) const
virtual void CallFunc_Delete(CallFunc_t *) const
virtual Bool_t TypeInfo_IsValid(TypeInfo_t *) const
virtual CallFuncIFacePtr_t CallFunc_IFacePtr(CallFunc_t *) const
virtual BaseClassInfo_t * BaseClassInfo_Factory(ClassInfo_t *) const
virtual void GetFunctionOverloads(ClassInfo_t *cl, const char *funcname, std::vector< DeclId_t > &res) const =0
virtual DeclId_t GetDeclId(MethodInfo_t *info) const =0
virtual void RegisterTClassUpdate(TClass *oldcl, DictFuncPtr_t dict)=0
virtual Bool_t ClassInfo_IsScopedEnum(ClassInfo_t *) const
virtual int MethodInfo_Next(MethodInfo_t *) const
virtual MethodInfo_t * CallFunc_FactoryMethod(CallFunc_t *) const
virtual const char * DataMemberInfo_TypeTrueName(DataMemberInfo_t *) const
virtual void CallFunc_SetArg(CallFunc_t *, ULong_t) const =0
virtual TypeInfo_t * TypeInfo_FactoryCopy(TypeInfo_t *) const
virtual TClass * GenerateTClass(ClassInfo_t *classinfo, Bool_t silent=kFALSE)=0
virtual Long_t ClassInfo_ClassProperty(ClassInfo_t *) const
virtual void CallFunc_SetFunc(CallFunc_t *, ClassInfo_t *, const char *, const char *, Long_t *) const
virtual Int_t GetMore() const =0
virtual void Execute(TMethod *method, TObjArray *params, int *error=0)=0
Execute method on this object with parameters stored in the TObjArray.
virtual void LoadMacro(const char *filename, EErrorCode *error=0)=0
static TInterpreter * Instance()
returns gInterpreter global
virtual void CreateListOfBaseClasses(TClass *cl) const =0
virtual void ShutDown()=0
virtual Bool_t ClassInfo_IsValidMethod(ClassInfo_t *, const char *, const char *, Bool_t, Long_t *, ROOT::EFunctionMatchMode=ROOT::kConversionMatch) const
virtual Long_t BaseClassInfo_Offset(BaseClassInfo_t *, void *=0, bool=true) const
virtual void FuncTempInfo_Delete(FuncTempInfo_t *) const =0
virtual ClassInfo_t * ClassInfo_Factory(DeclId_t declid) const =0
virtual void ClearFileBusy()=0
virtual TObjArray * GetRootMapFiles() const =0
virtual const char * BaseClassInfo_FullName(BaseClassInfo_t *) const
virtual const char * GetSTLIncludePath() const
virtual Bool_t ClassInfo_IsEnum(const char *) const
virtual void CallFunc_SetArg(CallFunc_t *, Float_t) const =0
virtual int TypedefInfo_Size(TypedefInfo_t *) const
virtual void CallFunc_SetArg(CallFunc_t *, ULong64_t) const =0
virtual void CallFunc_SetFuncProto(CallFunc_t *, ClassInfo_t *, const char *, const char *, bool, Long_t *, ROOT::EFunctionMatchMode=ROOT::kConversionMatch) const
virtual TEnum * CreateEnum(void *VD, TClass *cl) const =0
virtual Long_t GetExecByteCode() const
virtual FuncTempInfo_t * FuncTempInfo_Factory(DeclId_t declid) const =0
virtual const char * MethodInfo_GetMangledName(MethodInfo_t *) const
virtual MethodInfo_t * MethodInfo_Factory() const
virtual Int_t SetClassSharedLibs(const char *cls, const char *libs)=0
virtual std::vector< std::string > GetUsingNamespaces(ClassInfo_t *cl) const =0
void CallFunc_SetArg(CallFunc_t *func, const T *arg)
void CallFunc_SetArg(CallFunc_t *func, Short_t param) const
virtual Int_t DeleteGlobal(void *obj)=0
virtual void FuncTempInfo_Title(FuncTempInfo_t *, TString &title) const =0
virtual DeclId_t GetFunctionWithPrototype(ClassInfo_t *cl, const char *method, const char *proto, Bool_t objectIsConst=kFALSE, ROOT::EFunctionMatchMode mode=ROOT::kConversionMatch)=0
virtual void ClassInfo_Destruct(ClassInfo_t *, void *) const
virtual DeclId_t GetDeclId(TypedefInfo_t *info) const =0
virtual Bool_t FuncTempInfo_IsValid(FuncTempInfo_t *) const =0
void CallFunc_SetArgImpl(CallFunc_t *func, const U &head)
virtual Long_t BaseClassInfo_Property(BaseClassInfo_t *) const
virtual Double_t CallFunc_ExecDouble(CallFunc_t *, void *) const
virtual void CallFunc_SetArg(CallFunc_t *, Long_t) const =0
virtual void * GetInterfaceMethod(TClass *cl, const char *method, const char *params, Bool_t objectIsConst=kFALSE)=0
virtual const char * GetCurrentMacroName() const
virtual const char * TypeName(const char *s)=0
virtual Bool_t ClassInfo_IsValidMethod(ClassInfo_t *, const char *, const char *, Long_t *, ROOT::EFunctionMatchMode=ROOT::kConversionMatch) const
A collection of TEnum objects designed for fast access given a DeclId_t and for keep track of TEnum t...
Abstract base class for accessing the data-members of a class.
Each ROOT class (see TClass) has a linked list of methods.
The TNamed class is the base class for all named ROOT classes.
Mother of all ROOT objects.
This class implements a mutex interface.
void function(const Char_t *name_, T fun, const Char_t *docstring=0)
R__EXTERN TVirtualRWMutex * gCoreMutex
RooCmdArg Offset(Bool_t flag=kTRUE)
static constexpr double s
InterpreterMutexRegistrationRAII(TVirtualMutex *mutex)
~InterpreterMutexRegistrationRAII()
CallFuncIFacePtr_t(Generic_t func)
void(* Generic_t)(void *, int, void **, void *)
CallFuncIFacePtr_t(Ctor_t func)
void(* Dtor_t)(void *, unsigned long, int)
CallFuncIFacePtr_t(Dtor_t func)
void(* Ctor_t)(void **, void *, unsigned long)
static void output(int code)