13#ifndef ROOT_TInterpreter
14#define ROOT_TInterpreter
48#if defined (_REENTRANT) || defined (WIN32)
49# define R__LOCKGUARD_CLING(mutex) ::ROOT::Internal::InterpreterMutexRegistrationRAII _R__UNIQUE_(R__guard)(mutex); { }
51# define R__LOCKGUARD_CLING(mutex) (void)(mutex); { }
95 typedef void (*
Ctor_t)(
void**,
void*,
unsigned long);
186 const std::string& ModuleMapName =
"module.modulemap")
const = 0;
194 const char** classesHeaders,
195 Bool_t lateRegistration =
false,
196 Bool_t hasCxxModule =
false) = 0;
201 virtual void SetGetline(
const char*(*getlineFunc)(
const char* prompt),
202 void (*histaddFunc)(
const char*
line)) = 0;
236 void Execute(
const char *function,
const char *params,
int *error =
nullptr)
override = 0;
237 virtual void Execute(
TObject *obj,
TClass *cl,
const char *method,
const char *params,
int *error =
nullptr) = 0;
255 virtual int DisplayClass(FILE * ,
const char * ,
int ,
int )
const {
return 0;}
257 virtual void *
FindSym(
const char * )
const {
return nullptr;}
263 virtual int LoadFile(
const char * )
const {
return 0;}
265 virtual const char *
MapCppName(
const char*)
const {
return nullptr;}
284 std::vector<std::string>&) {}
313 virtual void GetFunctionOverloads(ClassInfo_t *cl,
const char *funcname, std::vector<DeclId_t>& res)
const = 0;
352 template <
typename T>
360 template <
typename T>
370 template <
typename U>
376 template <
typename U,
typename... T>
383 template <
typename... T>
414 ClassInfo_t* ,
void* =
nullptr,
bool =
true)
const {
return 0;}
431 virtual void *
ClassInfo_New(ClassInfo_t * ,
int ,
void * )
const {
return nullptr;}
432 virtual void *
ClassInfo_New(ClassInfo_t * ,
void * )
const {
return nullptr;}
447 ClassInfo_t* )
const {
return nullptr;}
564#define gInterpreter (TInterpreter::Instance())
unsigned long long ULong64_t
TClass *(* DictFuncPtr_t)()
#define ClassDefOverride(name, id)
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char filename
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
Option_t Option_t TPoint TPoint const char mode
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
R__EXTERN TVirtualMutex * gInterpreterMutex
TInterpreter * CreateInterpreter_t(void *shlibHandle, const char *argv[])
R__EXTERN TInterpreter * gCling
void * DestroyInterpreter_t(TInterpreter *)
#define R__LOCKGUARD(mutex)
TClass instances represent classes, structs and namespaces in the ROOT type system.
EMemberSelection
Kinds of members to include in lists.
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).
~SuspendAutoLoadingRAII()
SuspendAutoLoadingRAII(TInterpreter *interp)
SuspendAutoParsing(TInterpreter *where, Bool_t value=kTRUE)
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 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 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 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 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 Longptr_t CallFunc_ExecInt(CallFunc_t *, void *) const
virtual void ForgetMutexState()=0
virtual const char * TypedefInfo_TrueName(TypedefInfo_t *) const
virtual int BaseClassInfo_Next(BaseClassInfo_t *, int) const
virtual Longptr_t ProcessLine(const char *line, EErrorCode *error=nullptr)=0
int SetClassAutoloading(int a) const
virtual Int_t GenerateDictionary(const char *classes, const char *includes=nullptr, const char *options=nullptr)=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 void CallFunc_SetFuncProto(CallFunc_t *func, ClassInfo_t *info, const char *method, const std::vector< TypeInfo_t * > &proto, Longptr_t *Offset, ROOT::EFunctionMatchMode mode=ROOT::kConversionMatch) const =0
virtual const char * GetSharedLibDeps(const char *lib, bool tryDyld=false)=0
virtual DeclId_t GetFunction(ClassInfo_t *cl, const char *funcname)=0
void Execute(TMethod *method, TObjArray *params, int *error=nullptr) override=0
Execute method on this object with parameters stored in the TObjArray.
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 Int_t AutoLoad(const std::type_info &typeinfo, Bool_t knowDictNotLoaded=kFALSE)=0
virtual const char * TypeInfo_Name(TypeInfo_t *) const
virtual void LoadMacro(const char *filename, EErrorCode *error=nullptr)=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
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 CallFunc_ExecWithArgsAndReturn(CallFunc_t *, void *, const void *[]=nullptr, int=0, void *=nullptr) const
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 TString GetMangledName(TClass *cl, const char *method, const char *params, Bool_t objectIsConst=kFALSE)=0
virtual void CallFunc_SetFuncProto(CallFunc_t *, ClassInfo_t *, const char *, const char *, Longptr_t *, ROOT::EFunctionMatchMode=ROOT::kConversionMatch) const
virtual void CreateListOfDataMembers(TClass *cl) const =0
virtual TypeInfo_t * MethodInfo_Type(MethodInfo_t *) const
virtual void * ClassInfo_New(ClassInfo_t *, void *) const
virtual void CallFunc_SetFunc(CallFunc_t *, ClassInfo_t *, const char *, const char *, Longptr_t *) 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 &)
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 Longptr_t DataMemberInfo_Offset(DataMemberInfo_t *) const
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 int DisplayIncludePath(FILE *) 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 SetClassAutoLoading(int) 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 int GetSecurityError() const
virtual void CallFunc_Init(CallFunc_t *) const
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 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 Longptr_t ExecuteMacro(const char *filename, EErrorCode *error=nullptr)=0
virtual void SetClassInfo(TClass *cl, Bool_t reload=kFALSE)=0
virtual Bool_t ClassInfo_Contains(ClassInfo_t *info, DeclId_t decl) const =0
virtual DataMemberInfo_t * DataMemberInfo_Factory(ClassInfo_t *, TDictionary::EMemberSelection) const
virtual Bool_t IsAutoParsingSuspended() const =0
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 CallFunc_SetFuncProto(CallFunc_t *, ClassInfo_t *, const char *, const char *, bool, Longptr_t *, ROOT::EFunctionMatchMode=ROOT::kConversionMatch) const
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 Execute(TObject *obj, TClass *cl, TMethod *method, TObjArray *params, int *error=nullptr)=0
virtual void SetGetline(const char *(*getlineFunc)(const char *prompt), void(*histaddFunc)(const char *line))=0
virtual Bool_t ClassInfo_IsValidMethod(ClassInfo_t *, const char *, const char *, Bool_t, Longptr_t *, ROOT::EFunctionMatchMode=ROOT::kConversionMatch) const
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 CallFunc_SetFunc(CallFunc_t *, ClassInfo_t *, const char *, const char *, bool, Longptr_t *) const
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 Longptr_t BaseClassInfo_Tagnum(BaseClassInfo_t *) 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 *, Longptr_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
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 Longptr_t ProcessLineSynch(const char *line, EErrorCode *error=nullptr)=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 Bool_t ClassInfo_IsValidMethod(ClassInfo_t *, const char *, const char *, Longptr_t *, ROOT::EFunctionMatchMode=ROOT::kConversionMatch) const
virtual Int_t GetExitCode() const =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 Int_t LoadLibraryMap(const char *rootmapfile=nullptr)=0
virtual MethodArgInfo_t * MethodArgInfo_Factory(MethodInfo_t *) const
virtual void SetAlloclockfunc(void(*)()) const
void Execute(const char *function, const char *params, int *error=nullptr) override=0
Execute method on this object with the given parameter string, e.g.
TDictionary::DeclId_t DeclId_t
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 void ExecuteWithArgsAndReturn(TMethod *method, void *address, const void *args[]=nullptr, int=0, void *ret=nullptr) const =0
virtual std::unique_ptr< TInterpreterValue > MakeInterpreterValue() const
virtual void UpdateEnumConstants(TEnum *enumObj, TClass *cl) const =0
virtual Bool_t ClassInfo_HasDefaultConstructor(ClassInfo_t *, Bool_t=kFALSE) const
virtual void SetDeclAttr(DeclId_t, const char *)=0
virtual DeclId_t GetDataMemberWithValue(const void *ptrvalue) const =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 Longptr_t Calc(const char *line, EErrorCode *error=nullptr)=0
virtual MethodInfo_t * CallFunc_FactoryMethod(CallFunc_t *) const
virtual void ReportDiagnosticsToErrorHandler(bool=true)
Report diagnostics to the ROOT error handler (see TError.h).
virtual Longptr_t BaseClassInfo_Offset(BaseClassInfo_t *, void *=nullptr, bool=true) 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 Int_t GetMore() const =0
Returns whether the interpreter is waiting for more input, i.e.
static TInterpreter * Instance()
returns gInterpreter global
virtual void CreateListOfBaseClasses(TClass *cl) const =0
virtual void ShutDown()=0
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 void AddAvailableIndentifiers(TSeqCollection &)=0
virtual int TypedefInfo_Size(TypedefInfo_t *) const
virtual void CallFunc_SetArg(CallFunc_t *, ULong64_t) const =0
virtual void CallFunc_SetFuncProto(CallFunc_t *func, ClassInfo_t *info, const char *method, const std::vector< TypeInfo_t * > &proto, bool objectIsConst, Longptr_t *Offset, ROOT::EFunctionMatchMode mode=ROOT::kConversionMatch) const =0
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)
virtual Longptr_t ClassInfo_GetBaseOffset(ClassInfo_t *, ClassInfo_t *, void *=nullptr, bool=true) const
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 Longptr_t ClassInfo_Tagnum(ClassInfo_t *) const
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 void Execute(TObject *obj, TClass *cl, const char *method, const char *params, int *error=nullptr)=0
virtual const char * TypeName(const char *s)=0
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.
Sequenceable collection abstract base class.
This class implements a mutex interface.
This file contains a specialised ROOT message handler to test for diagnostic in unit tests.
R__EXTERN TVirtualRWMutex * gCoreMutex
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)