Logo ROOT  
Reference Guide
TCling Class Referencefinal

This class defines an interface to the cling C++ interpreter.

Cling is a full ANSI compliant C++-11 interpreter based on clang/LLVM technology.

Definition at line 102 of file TCling.h.

Classes

struct  CharPtrCmp_t
 
struct  MutexStateAndRecurseCount
 
struct  MutexStateAndRecurseCountDelta
 
class  SuspendAutoLoadingRAII
 
class  TUniqueString
 

Public Member Functions

 TCling (const char *name, const char *title)
 
 TCling (const char *name, const char *title, const char *const argv[])
 Initialize the cling interpreter interface. More...
 
virtual ~TCling ()
 Destroy the interpreter interface. More...
 
virtual void AddAvailableIndentifiers (TSeqCollection &Idents) final
 
void AddIncludePath (const char *path) final
 Add a directory to the list of directories in which the interpreter looks for include files. More...
 
void ApplyToInterpreterMutex (void *delta)
 Re-apply the lock count delta that TCling__ResetInterpreterMutex() caused. More...
 
Int_t AutoLoad (const char *classname, Bool_t knowDictNotLoaded=kFALSE) final
 Load library containing the specified class. More...
 
Int_t AutoLoad (const std::type_info &typeinfo, Bool_t knowDictNotLoaded=kFALSE) final
 Load library containing the specified class. More...
 
Int_t AutoParse (const char *cls) final
 Parse the headers relative to the class Returns 1 in case of success, 0 in case of failure. More...
 
ClassInfo_t * BaseClassInfo_ClassInfo (BaseClassInfo_t *) const final
 
void BaseClassInfo_Delete (BaseClassInfo_t *bcinfo) const final
 
BaseClassInfo_t * BaseClassInfo_Factory (ClassInfo_t *derived, ClassInfo_t *base) const final
 
BaseClassInfo_t * BaseClassInfo_Factory (ClassInfo_t *info) const final
 
const char * BaseClassInfo_FullName (BaseClassInfo_t *bcinfo) const final
 
const char * BaseClassInfo_Name (BaseClassInfo_t *bcinfo) const final
 
int BaseClassInfo_Next (BaseClassInfo_t *bcinfo) const final
 
int BaseClassInfo_Next (BaseClassInfo_t *bcinfo, int onlyDirect) const final
 
Longptr_t BaseClassInfo_Offset (BaseClassInfo_t *toBaseClassInfo, void *address, bool isDerivedObject) const final
 
Long_t BaseClassInfo_Property (BaseClassInfo_t *bcinfo) const final
 
Longptr_t BaseClassInfo_Tagnum (BaseClassInfo_t *bcinfo) const final
 
const char * BaseClassInfo_TmpltName (BaseClassInfo_t *bcinfo) const final
 
Longptr_t Calc (const char *line, EErrorCode *error=nullptr) final
 Directly execute an executable statement (e.g. More...
 
void CallFunc_Delete (CallFunc_t *func) const final
 
void CallFunc_Exec (CallFunc_t *func, void *address) const final
 
void CallFunc_Exec (CallFunc_t *func, void *address, TInterpreterValue &val) const final
 
Double_t CallFunc_ExecDouble (CallFunc_t *func, void *address) const final
 
Longptr_t CallFunc_ExecInt (CallFunc_t *func, void *address) const final
 
Long64_t CallFunc_ExecInt64 (CallFunc_t *func, void *address) const final
 
void CallFunc_ExecWithArgsAndReturn (CallFunc_t *func, void *address, const void *args[]=nullptr, int nargs=0, void *ret=nullptr) const final
 
void CallFunc_ExecWithReturn (CallFunc_t *func, void *address, void *ret) const final
 
CallFunc_t * CallFunc_Factory () const final
 
CallFunc_t * CallFunc_FactoryCopy (CallFunc_t *func) const final
 
MethodInfo_t * CallFunc_FactoryMethod (CallFunc_t *func) const final
 
std::string CallFunc_GetWrapperCode (CallFunc_t *func) const final
 
CallFuncIFacePtr_t CallFunc_IFacePtr (CallFunc_t *func) const final
 
void CallFunc_IgnoreExtraArgs (CallFunc_t *func, bool ignore) const final
 
void CallFunc_Init (CallFunc_t *func) const final
 
bool CallFunc_IsValid (CallFunc_t *func) const final
 
void CallFunc_ResetArg (CallFunc_t *func) const final
 
void CallFunc_SetArg (CallFunc_t *func, Double_t param) const final
 
void CallFunc_SetArg (CallFunc_t *func, Float_t param) const final
 
void CallFunc_SetArg (CallFunc_t *func, Long64_t param) const final
 
void CallFunc_SetArg (CallFunc_t *func, Long_t param) const final
 
void CallFunc_SetArg (CallFunc_t *func, ULong64_t param) const final
 
void CallFunc_SetArg (CallFunc_t *func, ULong_t param) const final
 
void CallFunc_SetArgArray (CallFunc_t *func, Longptr_t *paramArr, Int_t nparam) const final
 
void CallFunc_SetArgs (CallFunc_t *func, const char *param) const final
 
void CallFunc_SetFunc (CallFunc_t *func, ClassInfo_t *info, const char *method, const char *params, bool objectIsConst, Longptr_t *Offset) const final
 
void CallFunc_SetFunc (CallFunc_t *func, ClassInfo_t *info, const char *method, const char *params, Longptr_t *Offset) const final
 
void CallFunc_SetFunc (CallFunc_t *func, MethodInfo_t *info) const final
 
void CallFunc_SetFuncProto (CallFunc_t *func, ClassInfo_t *info, const char *method, const char *proto, bool objectIsConst, Longptr_t *Offset, ROOT::EFunctionMatchMode mode=ROOT::kConversionMatch) const final
 Interface to cling function. More...
 
void CallFunc_SetFuncProto (CallFunc_t *func, ClassInfo_t *info, const char *method, const char *proto, Longptr_t *Offset, ROOT::EFunctionMatchMode mode=ROOT::kConversionMatch) const final
 Interface to cling function. More...
 
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 final
 Interface to cling function. More...
 
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 final
 Interface to cling function. More...
 
ECheckClassInfo CheckClassInfo (const char *name, Bool_t autoload, Bool_t isClassOrNamespaceOnly=kFALSE) final
 Checks if an entity with the specified name is defined in Cling. More...
 
Bool_t CheckClassTemplate (const char *name) final
 Return true if there is a class template by the given name ... More...
 
Long_t ClassInfo_ClassProperty (ClassInfo_t *info) const final
 
Bool_t ClassInfo_Contains (ClassInfo_t *info, DeclId_t declid) const final
 Return true if the entity pointed to by 'declid' is declared in the context described by 'info'. More...
 
void ClassInfo_Delete (ClassInfo_t *info) const final
 
void ClassInfo_Delete (ClassInfo_t *info, void *arena) const final
 
void ClassInfo_DeleteArray (ClassInfo_t *info, void *arena, bool dtorOnly) const final
 
void ClassInfo_Destruct (ClassInfo_t *info, void *arena) const final
 
ClassInfo_t * ClassInfo_Factory (Bool_t all=kTRUE) const final
 
ClassInfo_t * ClassInfo_Factory (ClassInfo_t *cl) const final
 
ClassInfo_t * ClassInfo_Factory (const char *name) const final
 
ClassInfo_t * ClassInfo_Factory (DeclId_t declid) const final
 
const char * ClassInfo_FileName (ClassInfo_t *info) const final
 
const char * ClassInfo_FullName (ClassInfo_t *info) const final
 
Longptr_t ClassInfo_GetBaseOffset (ClassInfo_t *fromDerived, ClassInfo_t *toBase, void *address, bool isDerivedObject) const final
 
int ClassInfo_GetMethodNArg (ClassInfo_t *info, const char *method, const char *proto, Bool_t objectIsConst=false, ROOT::EFunctionMatchMode mode=ROOT::kConversionMatch) const final
 
EDataType ClassInfo_GetUnderlyingType (ClassInfo_t *info) const final
 
bool ClassInfo_HasDefaultConstructor (ClassInfo_t *info, Bool_t testio=kFALSE) const final
 
bool ClassInfo_HasMethod (ClassInfo_t *info, const char *name) const final
 
void ClassInfo_Init (ClassInfo_t *info, const char *funcname) const final
 
void ClassInfo_Init (ClassInfo_t *info, int tagnum) const final
 
bool ClassInfo_IsBase (ClassInfo_t *info, const char *name) const final
 
bool ClassInfo_IsEnum (const char *name) const final
 
bool ClassInfo_IsLoaded (ClassInfo_t *info) const final
 
bool ClassInfo_IsScopedEnum (ClassInfo_t *info) const final
 
bool ClassInfo_IsValid (ClassInfo_t *info) const final
 
bool ClassInfo_IsValidMethod (ClassInfo_t *info, const char *method, const char *proto, Bool_t objectIsConst, Longptr_t *offset, ROOT::EFunctionMatchMode=ROOT::kConversionMatch) const final
 
bool ClassInfo_IsValidMethod (ClassInfo_t *info, const char *method, const char *proto, Longptr_t *offset, ROOT::EFunctionMatchMode=ROOT::kConversionMatch) const final
 
const char * ClassInfo_Name (ClassInfo_t *info) const final
 
void * ClassInfo_New (ClassInfo_t *info) const final
 
void * ClassInfo_New (ClassInfo_t *info, int n) const final
 
void * ClassInfo_New (ClassInfo_t *info, int n, void *arena) const final
 
void * ClassInfo_New (ClassInfo_t *info, void *arena) const final
 
int ClassInfo_Next (ClassInfo_t *info) const final
 
Long_t ClassInfo_Property (ClassInfo_t *info) const final
 
int ClassInfo_Size (ClassInfo_t *info) const final
 
Longptr_t ClassInfo_Tagnum (ClassInfo_t *info) const final
 
const char * ClassInfo_Title (ClassInfo_t *info) const final
 
const char * ClassInfo_TmpltName (ClassInfo_t *info) const final
 
void ClearFileBusy () final
 Reset the interpreter internal state in case a previous action was not correctly terminated. More...
 
void ClearStack () final
 Delete existing temporary values. More...
 
void CodeComplete (const std::string &, size_t &, std::vector< std::string > &) final
 The call to Cling's tab complition. More...
 
TEnumCreateEnum (void *VD, TClass *cl) const final
 
void CreateListOfBaseClasses (TClass *cl) const final
 Create list of pointers to base class(es) for TClass cl. More...
 
void CreateListOfDataMembers (TClass *cl) const final
 Create list of pointers to data members for TClass cl. More...
 
void CreateListOfMethodArgs (TFunction *m) const final
 Create list of pointers to method arguments for TMethod m. More...
 
void CreateListOfMethods (TClass *cl) const final
 Create list of pointers to methods for TClass cl. More...
 
int DataMemberInfo_ArrayDim (DataMemberInfo_t *dminfo) const final
 
void DataMemberInfo_Delete (DataMemberInfo_t *dminfo) const final
 
DataMemberInfo_t * DataMemberInfo_Factory (ClassInfo_t *clinfo, TDictionary::EMemberSelection selection) const final
 
DataMemberInfo_t * DataMemberInfo_Factory (DeclId_t declid, ClassInfo_t *clinfo) const final
 
DataMemberInfo_t * DataMemberInfo_FactoryCopy (DataMemberInfo_t *dminfo) const final
 
bool DataMemberInfo_IsValid (DataMemberInfo_t *dminfo) const final
 
int DataMemberInfo_MaxIndex (DataMemberInfo_t *dminfo, Int_t dim) const final
 
const char * DataMemberInfo_Name (DataMemberInfo_t *dminfo) const final
 
int DataMemberInfo_Next (DataMemberInfo_t *dminfo) const final
 
Longptr_t DataMemberInfo_Offset (DataMemberInfo_t *dminfo) const final
 
Long_t DataMemberInfo_Property (DataMemberInfo_t *dminfo) const final
 
const char * DataMemberInfo_Title (DataMemberInfo_t *dminfo) const final
 
const char * DataMemberInfo_TypeName (DataMemberInfo_t *dminfo) const final
 
Long_t DataMemberInfo_TypeProperty (DataMemberInfo_t *dminfo) const final
 
int DataMemberInfo_TypeSize (DataMemberInfo_t *dminfo) const final
 
const char * DataMemberInfo_TypeTrueName (DataMemberInfo_t *dminfo) const final
 
const char * DataMemberInfo_ValidArrayIndex (DataMemberInfo_t *dminfo) const final
 
Bool_t Declare (const char *code) final
 Declare code to the interpreter, without any of the interpreter actions that could trigger a re-interpretation of the code. More...
 
Int_t DeleteGlobal (void *obj) final
 Delete obj from Cling symbol table so it cannot be accessed anymore. More...
 
Int_t DeleteVariable (const char *name) final
 Undeclare obj called name. More...
 
bool DiagnoseIfInterpreterException (const std::exception &e) const final
 
int DisplayClass (FILE *fout, const char *name, int base, int start) const final
 
int DisplayIncludePath (FILE *fout) const final
 Interface to cling function. More...
 
void EndOfLineAction () final
 It calls a "fantom" method to synchronize user keyboard input and ROOT prompt line. More...
 
int Evaluate (const char *, TInterpreterValue &) final
 Get the interpreter value corresponding to the statement. More...
 
void Execute (const char *function, const char *params, int *error=nullptr) final
 Execute a global function with arguments params. More...
 
void Execute (TObject *obj, TClass *cl, const char *method, const char *params, Bool_t objectIsConst, int *error=nullptr)
 Execute a method from class cl with arguments params. More...
 
void Execute (TObject *obj, TClass *cl, const char *method, const char *params, int *error=nullptr) final
 
void Execute (TObject *obj, TClass *cl, TMethod *method, TObjArray *params, int *error=nullptr) final
 Execute a method from class cl with the arguments in array params (params[0] ... params[n] = array of TObjString parameters). More...
 
Longptr_t ExecuteMacro (const char *filename, EErrorCode *error=nullptr) final
 Execute a cling macro. More...
 
void ExecuteWithArgsAndReturn (TMethod *method, void *address, const void *args[]=nullptr, int nargs=0, void *ret=nullptr) const final
 
void * FindSym (const char *entry) const final
 Interface to cling function. More...
 
void ForgetMutexState () final
 
void FuncTempInfo_Delete (FuncTempInfo_t *) const final
 Delete the FuncTempInfo_t. More...
 
Long_t FuncTempInfo_ExtraProperty (FuncTempInfo_t *) const final
 Return the property not already defined in Property See TDictionary's EFunctionProperty. More...
 
FuncTempInfo_t * FuncTempInfo_Factory (DeclId_t declid) const final
 Construct a FuncTempInfo_t. More...
 
FuncTempInfo_t * FuncTempInfo_FactoryCopy (FuncTempInfo_t *) const final
 Construct a FuncTempInfo_t. More...
 
Bool_t FuncTempInfo_IsValid (FuncTempInfo_t *) const final
 Check validity of a FuncTempInfo_t. More...
 
void FuncTempInfo_Name (FuncTempInfo_t *, TString &name) const final
 Return the name of this function template. More...
 
Long_t FuncTempInfo_Property (FuncTempInfo_t *) const final
 Return the property of the function template. More...
 
UInt_t FuncTempInfo_TemplateMinReqArgs (FuncTempInfo_t *) const final
 Return the number of required template arguments of the function template described by ft_info. More...
 
UInt_t FuncTempInfo_TemplateNargs (FuncTempInfo_t *) const final
 Return the maximum number of template arguments of the function template described by ft_info. More...
 
void FuncTempInfo_Title (FuncTempInfo_t *, TString &name) const final
 Return the comments associates with this function template. More...
 
Int_t GenerateDictionary (const char *classes, const char *includes="", const char *options=nullptr) final
 Generate the dictionary for the C++ classes listed in the first argument (in a semi-colon separated list). More...
 
TClassGenerateTClass (ClassInfo_t *classinfo, Bool_t silent=kFALSE) final
 Generate a TClass for the given class. More...
 
TClassGenerateTClass (const char *classname, Bool_t emulation, Bool_t silent=kFALSE) final
 Generate a TClass for the given class. More...
 
void GenericError (const char *error) const final
 Let the interpreter issue a generic error, and set its error state. More...
 
void * GetAutoLoadCallBack () const final
 
TClassGetClass (const std::type_info &typeinfo, Bool_t load) const final
 Demangle the name (from the typeinfo) and then request the class via the usual name based interface (TClass::GetClass). More...
 
const char * GetClassSharedLibs (const char *cls) final
 Get the list of shared libraries containing the code for class cls. More...
 
const char * GetCurrentMacroName () const final
 Return the file name of the currently interpreted file, included or not. More...
 
DeclId_t GetDataMember (ClassInfo_t *cl, const char *name) const final
 Return pointer to cling Decl of global/static variable that is located at the address given by addr. More...
 
DeclId_t GetDataMemberAtAddr (const void *addr) const final
 Return pointer to cling DeclId for a data member with a given name. More...
 
DeclId_t GetDataMemberWithValue (const void *ptrvalue) const final
 NOT IMPLEMENTED. More...
 
DeclId_t GetDeclId (CallFunc_t *info) const final
 Return a unique identifier of the declaration represented by the CallFunc. More...
 
DeclId_t GetDeclId (ClassInfo_t *info) const final
 Return a (almost) unique identifier of the declaration represented by the ClassInfo. More...
 
DeclId_t GetDeclId (DataMemberInfo_t *info) const final
 Return a unique identifier of the declaration represented by the MethodInfo. More...
 
DeclId_t GetDeclId (FuncTempInfo_t *info) const final
 Return a unique identifier of the declaration represented by the FuncTempInfo. More...
 
DeclId_t GetDeclId (MethodInfo_t *info) const final
 Return a unique identifier of the declaration represented by the MethodInfo. More...
 
DeclId_t GetDeclId (TypedefInfo_t *info) const final
 Return a unique identifier of the declaration represented by the TypedefInfo. More...
 
DeclId_t GetEnum (TClass *cl, const char *name) const final
 Return pointer to cling Decl of global/static variable that is located at the address given by addr. More...
 
Long_t GetExecByteCode () const final
 This routines used to return the address of the internal wrapper function (of the interpreter) that was used to call all the interpreted functions that were bytecode compiled (no longer interpreted line by line). More...
 
Int_t GetExitCode () const final
 
DeclId_t GetFunction (ClassInfo_t *cl, const char *funcname) final
 Return pointer to cling interface function for a method of a class with a certain name. More...
 
virtual void GetFunctionName (const clang::Decl *decl, std::string &name) const
 
void GetFunctionOverloads (ClassInfo_t *cl, const char *funcname, std::vector< DeclId_t > &res) const final
 Insert overloads of name in cl to res. More...
 
DeclId_t GetFunctionTemplate (ClassInfo_t *cl, const char *funcname) final
 Return pointer to cling interface function for a method of a class with a certain name. More...
 
DeclId_t GetFunctionWithPrototype (ClassInfo_t *cl, const char *method, const char *proto, Bool_t objectIsConst=kFALSE, ROOT::EFunctionMatchMode mode=ROOT::kConversionMatch) final
 Return pointer to cling interface function for a method of a class with a certain prototype, i.e. More...
 
DeclId_t GetFunctionWithValues (ClassInfo_t *cl, const char *method, const char *params, Bool_t objectIsConst=kFALSE) final
 Return pointer to cling DeclId for a method of a class with a certain prototype, i.e. More...
 
const char * GetIncludePath () final
 Refresh the list of include paths known to the interpreter and return it with -I prepended. More...
 
void * GetInterfaceMethod (TClass *cl, const char *method, const char *params, Bool_t objectIsConst=kFALSE) final
 Return pointer to cling interface function for a method of a class with parameters params (params is a string of actual arguments, not formal ones). More...
 
void * GetInterfaceMethodWithPrototype (TClass *cl, const char *method, const char *proto, Bool_t objectIsConst=kFALSE, ROOT::EFunctionMatchMode mode=ROOT::kConversionMatch) final
 Return pointer to cling interface function for a method of a class with a certain prototype, i.e. More...
 
unsigned long long GetInterpreterStateMarker () const final
 
void GetInterpreterTypeName (const char *name, std::string &output, Bool_t full=kFALSE) final
 The 'name' is known to the interpreter, this function returns the internal version of this name (usually just resolving typedefs) This is used in particular to synchronize between the name used by rootcling and by the run-time environment (TClass) Return 0 if the name is not known. More...
 
TString GetMangledName (TClass *cl, const char *method, const char *params, Bool_t objectIsConst=kFALSE) final
 Return the cling mangled name for a method of a class with parameters params (params is a string of actual arguments, not formal ones). More...
 
TString GetMangledNameWithPrototype (TClass *cl, const char *method, const char *proto, Bool_t objectIsConst=kFALSE, ROOT::EFunctionMatchMode mode=ROOT::kConversionMatch) final
 Return the cling mangled name for a method of a class with a certain prototype, i.e. More...
 
TEnvGetMapfile () const final
 
std::set< TClass * > & GetModTClasses ()
 
Int_t GetMore () const final
 Return whether we are waiting for more input either because the collected input contains unbalanced braces or last seen token was a \ (backslash-newline) More...
 
const ROOT::TMetaUtils::TNormalizedCtxtGetNormalizedContext () const
 
TObjectGetObjectAddress (const char *Name, void *&LookupCtx)
 If the interpreter encounters Name, check whether that is an object ROOT could retrieve. More...
 
char * GetPrompt () final
 
TObjArrayGetRootMapFiles () const final
 
int GetSecurityError () const final
 Interface to cling function. More...
 
const char * GetSharedLibDeps (const char *lib, bool tryDyld=false) final
 Get the list a libraries on which the specified lib depends. More...
 
const char * GetSharedLibs () final
 Return the list of shared libraries loaded into the process. More...
 
virtual const char * GetSTLIncludePath () const final
 Return the directory containing CINT's stl cintdlls. More...
 
const char * GetTopLevelMacroName () const final
 Return the file name of the current un-included interpreted file. More...
 
std::vector< std::string > GetUsingNamespaces (ClassInfo_t *cl) const final
 Get the scopes representing using declarations of namespace. More...
 
void HandleNewDecl (const void *DV, bool isDeserialized, std::set< TClass * > &modifiedClasses)
 
Bool_t HasPCMForLibrary (const char *libname) const final
 Return true if ROOT has cxxmodules pcm for a given library name. More...
 
virtual void Initialize () final
 Initialize the interpreter, once TROOT::fInterpreter is set. More...
 
void InspectMembers (TMemberInspector &, const void *obj, const TClass *cl, Bool_t isTransient) final
 Visit all members over members, recursing over base classes. More...
 
void InvalidateGlobal (const clang::Decl *D)
 Invalidate cached TCling information for the given global declaration. More...
 
Bool_t IsAutoLoadNamespaceCandidate (const clang::NamespaceDecl *nsDecl)
 
Bool_t IsAutoParsingSuspended () const final
 
Bool_t IsErrorMessagesEnabled () const final
 If error messages are disabled, the interpreter should suppress its failures and warning messages from stdout. More...
 
Bool_t IsLibraryLoaded (const char *libname) const final
 
Bool_t IsLoaded (const char *filename) const final
 Return true if the file has already been loaded by cint. More...
 
Bool_t IsProcessLineLocked () const final
 
void * LazyFunctionCreatorAutoload (const std::string &mangled_name)
 Autoload a library based on a missing symbol. More...
 
void LibraryLoaded (const void *dyLibHandle, const char *canonicalName)
 
bool LibraryLoadingFailed (const std::string &, const std::string &, bool, bool)
 
void LibraryUnloaded (const void *dyLibHandle, const char *canonicalName)
 
Int_t Load (const char *filenam, Bool_t system=kFALSE) final
 Load a library file in cling's memory. More...
 
void LoadEnums (TListOfEnums &cl) const final
 Create list of pointers to enums for TClass cl. More...
 
int LoadFile (const char *path) const final
 Load a source file or library called path into the interpreter. More...
 
virtual void LoadFunctionTemplates (TClass *cl) const final
 Create list of pointers to function templates for TClass cl. More...
 
Int_t LoadLibraryMap (const char *rootmapfile=nullptr) final
 Load map between class and library. More...
 
void LoadMacro (const char *filename, EErrorCode *error=nullptr) final
 Load a macro file in cling's memory. More...
 
Bool_t LoadText (const char *text) const final
 Load the declarations from text into the interpreter. More...
 
std::unique_ptr< TInterpreterValueMakeInterpreterValue () const final
 
const char * MapCppName (const char *) const final
 Interface to cling function. More...
 
const char * MethodArgInfo_DefaultValue (MethodArgInfo_t *marginfo) const final
 
void MethodArgInfo_Delete (MethodArgInfo_t *marginfo) const final
 
MethodArgInfo_t * MethodArgInfo_Factory () const final
 
MethodArgInfo_t * MethodArgInfo_Factory (MethodInfo_t *minfo) const final
 
MethodArgInfo_t * MethodArgInfo_FactoryCopy (MethodArgInfo_t *marginfo) const final
 
bool MethodArgInfo_IsValid (MethodArgInfo_t *marginfo) const final
 
const char * MethodArgInfo_Name (MethodArgInfo_t *marginfo) const final
 
int MethodArgInfo_Next (MethodArgInfo_t *marginfo) const final
 
Long_t MethodArgInfo_Property (MethodArgInfo_t *marginfo) const final
 
const char * MethodArgInfo_TypeName (MethodArgInfo_t *marginfo) const final
 
std::string MethodArgInfo_TypeNormalizedName (MethodArgInfo_t *marginfo) const final
 
EReturnType MethodCallReturnType (TFunction *func) const final
 
void MethodInfo_CreateSignature (MethodInfo_t *minfo, TString &signature) const final
 
void MethodInfo_Delete (MethodInfo_t *minfo) const final
 Interface to cling function. More...
 
Long_t MethodInfo_ExtraProperty (MethodInfo_t *minfo) const final
 
MethodInfo_t * MethodInfo_Factory () const final
 
MethodInfo_t * MethodInfo_Factory (ClassInfo_t *clinfo) const final
 
MethodInfo_t * MethodInfo_Factory (DeclId_t declid) const final
 
MethodInfo_t * MethodInfo_FactoryCopy (MethodInfo_t *minfo) const final
 
const char * MethodInfo_GetMangledName (MethodInfo_t *minfo) const final
 
const char * MethodInfo_GetPrototype (MethodInfo_t *minfo) const final
 
void * MethodInfo_InterfaceMethod (MethodInfo_t *minfo) const final
 
bool MethodInfo_IsValid (MethodInfo_t *minfo) const final
 
EReturnType MethodInfo_MethodCallReturnType (MethodInfo_t *minfo) const final
 
const char * MethodInfo_Name (MethodInfo_t *minfo) const final
 
int MethodInfo_NArg (MethodInfo_t *minfo) const final
 
int MethodInfo_NDefaultArg (MethodInfo_t *minfo) const final
 
int MethodInfo_Next (MethodInfo_t *minfo) const final
 
Long_t MethodInfo_Property (MethodInfo_t *minfo) const final
 
const char * MethodInfo_Title (MethodInfo_t *minfo) const final
 
TypeInfo_t * MethodInfo_Type (MethodInfo_t *minfo) const final
 
const char * MethodInfo_TypeName (MethodInfo_t *minfo) const final
 
std::string MethodInfo_TypeNormalizedName (MethodInfo_t *minfo) const final
 
void PrintIntro () final
 No-op; see TRint instead. More...
 
Longptr_t ProcessLine (const char *line, EErrorCode *error=nullptr) final
 
Longptr_t ProcessLineAsynch (const char *line, EErrorCode *error=nullptr)
 Let cling process a command line asynch. More...
 
Longptr_t ProcessLineSynch (const char *line, EErrorCode *error=nullptr) final
 Let cling process a command line synchronously, i.e we are waiting it will be finished. More...
 
void RecursiveRemove (TObject *obj) final
 Delete object from cling symbol table so it can not be used anymore. More...
 
void RefreshClassInfo (TClass *cl, const clang::NamedDecl *def, bool alias)
 Internal function. Actually do the update of the ClassInfo when seeing. More...
 
void RegisterModule (const char *modulename, const char **headers, const char **includePaths, const char *payloadCode, const char *fwdDeclsCode, void(*triggerFunc)(), const FwdDeclArgsToKeepCollection_t &fwdDeclsArgToSkip, const char **classesHeaders, Bool_t lateRegistration=false, Bool_t hasCxxModule=false) final
 Inject the module named "modulename" into cling; load all headers. More...
 
bool RegisterPrebuiltModulePath (const std::string &FullPath, const std::string &ModuleMapName="module.modulemap") const final
 
void RegisterTClassUpdate (TClass *oldcl, DictFuncPtr_t dict) final
 Register classes that already existed prior to their dictionary loading and that already had a ClassInfo (and thus would not be refresh via UpdateClassInfo. More...
 
void RegisterTemporary (const cling::Value &value)
 Register value as a temporary, extending its lifetime to that of the interpreter. More...
 
void RegisterTemporary (const TInterpreterValue &value)
 
Int_t ReloadAllSharedLibraryMaps () final
 Reload the library map entries coming from all the loaded shared libraries, after first unloading the current ones. More...
 
void ReportDiagnosticsToErrorHandler (bool enable=true) final
 Report diagnostics to the ROOT error handler (see TError.h). More...
 
Int_t RescanLibraryMap () final
 Scan again along the dynamic path for library maps. More...
 
void Reset () final
 Pressing Ctrl+C should forward here. More...
 
void ResetAll () final
 Reset the Cling state to its initial state. More...
 
void ResetGlobals () final
 Reset in Cling the list of global variables to the state saved by the last call to TCling::SaveGlobalsContext(). More...
 
void ResetGlobalVar (void *obj) final
 Reset the Cling 'user' global objects/variables state to the state saved by the last call to TCling::SaveGlobalsContext(). More...
 
void RewindDictionary () final
 Rewind Cling dictionary to the point where it was before executing the current macro. More...
 
void * RewindInterpreterMutex ()
 Reset the interpreter lock to the state it had before interpreter-related calls happened. More...
 
void SaveContext () final
 Save the current Cling state. More...
 
void SaveGlobalsContext () final
 Save the current Cling state of global objects. More...
 
void SetAlloclockfunc (void(*)()) const final
 [Place holder for Mutex Lock] Provide the interpreter with a way to acquire a lock used to protect critical section of its code (non-thread safe parts). More...
 
void SetAllocunlockfunc (void(*)()) const final
 [Place holder for Mutex Unlock] Provide the interpreter with a way to release a lock used to protect critical section of its code (non-thread safe parts). More...
 
void * SetAutoLoadCallBack (void *cb) final
 
int SetClassAutoLoading (int) const final
 Enable/Disable the AutoLoading of libraries. More...
 
int SetClassAutoparsing (int) final
 Enable/Disable the Autoparsing of headers. More...
 
void SetClassInfo (TClass *cl, Bool_t reload=kFALSE) final
 Set pointer to the TClingClassInfo in TClass. More...
 
Int_t SetClassSharedLibs (const char *cls, const char *libs) final
 Register the AutoLoading information for a class. More...
 
void SetDeclAttr (DeclId_t, const char *) final
 
void SetErrmsgcallback (void *p) const final
 Set a callback to receive error messages. More...
 
Bool_t SetErrorMessages (Bool_t enable=kTRUE) final
 If error messages are disabled, the interpreter should suppress its failures and warning messages from stdout. More...
 
void SetGetline (const char *(*getlineFunc)(const char *prompt), void(*histaddFunc)(const char *line)) final
 Set a getline function to call when input is needed. More...
 
void SetProcessLineLock (Bool_t lock=kTRUE) final
 
void SetTempLevel (int val) const final
 Create / close a scope for temporaries. More...
 
virtual void ShutDown () final
 
void SnapshotMutexState (ROOT::TVirtualRWMutex *mtx) final
 
std::string ToString (const char *type, void *obj) final
 
void TransactionRollback (const cling::Transaction &T)
 
void TypedefInfo_Delete (TypedefInfo_t *tinfo) const final
 
TypedefInfo_t * TypedefInfo_Factory () const final
 
TypedefInfo_t * TypedefInfo_Factory (const char *name) const final
 
TypedefInfo_t * TypedefInfo_FactoryCopy (TypedefInfo_t *tinfo) const final
 
void TypedefInfo_Init (TypedefInfo_t *tinfo, const char *name) const final
 
bool TypedefInfo_IsValid (TypedefInfo_t *tinfo) const final
 
const char * TypedefInfo_Name (TypedefInfo_t *tinfo) const final
 
int TypedefInfo_Next (TypedefInfo_t *tinfo) const final
 
Long_t TypedefInfo_Property (TypedefInfo_t *tinfo) const final
 
int TypedefInfo_Size (TypedefInfo_t *tinfo) const final
 
const char * TypedefInfo_Title (TypedefInfo_t *tinfo) const final
 
const char * TypedefInfo_TrueName (TypedefInfo_t *tinfo) const final
 
void TypeInfo_Delete (TypeInfo_t *tinfo) const final
 
TypeInfo_t * TypeInfo_Factory () const final
 
TypeInfo_t * TypeInfo_Factory (const char *name) const final
 
TypeInfo_t * TypeInfo_FactoryCopy (TypeInfo_t *) const final
 
void TypeInfo_Init (TypeInfo_t *tinfo, const char *funcname) const final
 
bool TypeInfo_IsValid (TypeInfo_t *tinfo) const final
 
const char * TypeInfo_Name (TypeInfo_t *) const final
 
Long_t TypeInfo_Property (TypeInfo_t *tinfo) const final
 
int TypeInfo_RefType (TypeInfo_t *) const final
 
int TypeInfo_Size (TypeInfo_t *tinfo) const final
 
const char * TypeInfo_TrueName (TypeInfo_t *tinfo) const final
 
const char * TypeName (const char *typeDesc) final
 Return the absolute type of typeDesc. More...
 
Int_t UnloadAllSharedLibraryMaps () final
 Unload the library map entries coming from all the loaded shared libraries. More...
 
int UnloadFile (const char *path) const final
 
Int_t UnloadLibraryMap (const char *library) final
 Unload library map entries coming from the specified library. More...
 
void UnRegisterTClassUpdate (const TClass *oldcl) final
 If the dictionary is loaded, we can remove the class from the list (otherwise the class might be loaded twice). More...
 
void UpdateClassInfoWithDecl (const clang::NamedDecl *ND)
 Internal function. Inform a TClass about its new TagDecl or NamespaceDecl. More...
 
void UpdateEnumConstants (TEnum *enumObj, TClass *cl) const final
 
void UpdateListOfDataMembers (TClass *cl) const
 Update the list of pointers to data members for TClass cl This is now a nop. More...
 
void UpdateListOfGlobalFunctions () final
 No op: see TClingCallbacks (used to update the list of global functions) More...
 
void UpdateListOfGlobals () final
 No op: see TClingCallbacks (used to update the list of globals) More...
 
void UpdateListOfMethods (TClass *cl) const final
 Update the list of pointers to method for TClass cl This is now a nop. More...
 
void UpdateListOfTypes () final
 No op: see TClingCallbacks (used to update the list of types) More...
 
void UpdateListsOnCommitted (const cling::Transaction &T)
 
void UpdateListsOnUnloaded (const cling::Transaction &T)
 Invalidate stored TCling state for declarations included in transaction ‘T’. More...
 
- Public Member Functions inherited from TInterpreter
 TInterpreter ()
 
 TInterpreter (const char *name, const char *title="Generic Interpreter")
 TInterpreter ctor only called by derived classes. More...
 
virtual ~TInterpreter ()
 
virtual void AddAvailableIndentifiers (TSeqCollection &)=0
 
virtual void AddIncludePath (const char *path)=0
 
virtual Int_t AutoLoad (const char *classname, Bool_t knowDictNotLoaded=kFALSE)=0
 
virtual Int_t AutoLoad (const std::type_info &typeinfo, Bool_t knowDictNotLoaded=kFALSE)=0
 
virtual Int_t AutoParse (const char *cls)=0
 
virtual ClassInfo_t * BaseClassInfo_ClassInfo (BaseClassInfo_t *) const =0
 
virtual void BaseClassInfo_Delete (BaseClassInfo_t *) const
 
virtual BaseClassInfo_t * BaseClassInfo_Factory (ClassInfo_t *) const
 
virtual BaseClassInfo_t * BaseClassInfo_Factory (ClassInfo_t *, ClassInfo_t *) const
 
virtual const char * BaseClassInfo_FullName (BaseClassInfo_t *) const
 
virtual const char * BaseClassInfo_Name (BaseClassInfo_t *) const
 
virtual int BaseClassInfo_Next (BaseClassInfo_t *) const
 
virtual int BaseClassInfo_Next (BaseClassInfo_t *, int) const
 
virtual Longptr_t BaseClassInfo_Offset (BaseClassInfo_t *, void *=nullptr, bool=true) const
 
virtual Long_t BaseClassInfo_Property (BaseClassInfo_t *) const
 
virtual Longptr_t BaseClassInfo_Tagnum (BaseClassInfo_t *) const
 
virtual const char * BaseClassInfo_TmpltName (BaseClassInfo_t *) const
 
virtual Longptr_t Calc (const char *line, EErrorCode *error=nullptr)=0
 
virtual void CallFunc_Delete (CallFunc_t *) const
 
virtual void CallFunc_Exec (CallFunc_t *, void *) const
 
virtual void CallFunc_Exec (CallFunc_t *, void *, TInterpreterValue &) const
 
virtual Double_t CallFunc_ExecDouble (CallFunc_t *, void *) const
 
virtual Longptr_t CallFunc_ExecInt (CallFunc_t *, void *) const
 
virtual Long64_t CallFunc_ExecInt64 (CallFunc_t *, void *) const
 
virtual void CallFunc_ExecWithArgsAndReturn (CallFunc_t *, void *, const void *[]=nullptr, int=0, void *=nullptr) const
 
virtual void CallFunc_ExecWithReturn (CallFunc_t *, void *, void *) const
 
virtual CallFunc_t * CallFunc_Factory () const
 
virtual CallFunc_t * CallFunc_FactoryCopy (CallFunc_t *) const
 
virtual MethodInfo_t * CallFunc_FactoryMethod (CallFunc_t *) const
 
virtual std::string CallFunc_GetWrapperCode (CallFunc_t *func) const =0
 
virtual CallFuncIFacePtr_t CallFunc_IFacePtr (CallFunc_t *) const
 
virtual void CallFunc_IgnoreExtraArgs (CallFunc_t *, bool) const
 
virtual void CallFunc_Init (CallFunc_t *) const
 
virtual Bool_t CallFunc_IsValid (CallFunc_t *) const
 
virtual void CallFunc_ResetArg (CallFunc_t *) const
 
virtual void CallFunc_SetArg (CallFunc_t *, Double_t) const =0
 
virtual void CallFunc_SetArg (CallFunc_t *, Float_t) const =0
 
virtual void CallFunc_SetArg (CallFunc_t *, Long64_t) const =0
 
virtual void CallFunc_SetArg (CallFunc_t *, Long_t) const =0
 
virtual void CallFunc_SetArg (CallFunc_t *, ULong64_t) const =0
 
virtual void CallFunc_SetArg (CallFunc_t *, ULong_t) const =0
 
void CallFunc_SetArg (CallFunc_t *func, Char_t param) const
 
template<typename T >
void CallFunc_SetArg (CallFunc_t *func, const T *arg)
 
void CallFunc_SetArg (CallFunc_t *func, Int_t param) const
 
void CallFunc_SetArg (CallFunc_t *func, Short_t param) const
 
void CallFunc_SetArg (CallFunc_t *func, UChar_t param) const
 
void CallFunc_SetArg (CallFunc_t *func, UInt_t param) const
 
void CallFunc_SetArg (CallFunc_t *func, UShort_t param) const
 
void CallFunc_SetArg (CallFunc_t *func, void *arg)
 
virtual void CallFunc_SetArgArray (CallFunc_t *, Longptr_t *, Int_t) const
 
void CallFunc_SetArgImpl (CallFunc_t *)
 
template<typename U >
void CallFunc_SetArgImpl (CallFunc_t *func, const U &head)
 
template<typename U , typename... T>
void CallFunc_SetArgImpl (CallFunc_t *func, const U &head, const T &... tail)
 
template<typename T >
void CallFunc_SetArgRef (CallFunc_t *func, T &param) const
 
virtual void CallFunc_SetArgs (CallFunc_t *, const char *) const
 
template<typename... T>
void CallFunc_SetArguments (CallFunc_t *func, const T &... args)
 
virtual void CallFunc_SetFunc (CallFunc_t *, ClassInfo_t *, const char *, const char *, bool, Longptr_t *) const
 
virtual void CallFunc_SetFunc (CallFunc_t *, ClassInfo_t *, const char *, const char *, Longptr_t *) const
 
virtual void CallFunc_SetFunc (CallFunc_t *, MethodInfo_t *) const
 
virtual void CallFunc_SetFuncProto (CallFunc_t *, ClassInfo_t *, const char *, const char *, bool, Longptr_t *, ROOT::EFunctionMatchMode=ROOT::kConversionMatch) const
 
virtual void CallFunc_SetFuncProto (CallFunc_t *, ClassInfo_t *, const char *, const char *, Longptr_t *, ROOT::EFunctionMatchMode=ROOT::kConversionMatch) const
 
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 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 ECheckClassInfo CheckClassInfo (const char *name, Bool_t autoload, Bool_t isClassOrNamespaceOnly=kFALSE)=0
 
virtual Bool_t CheckClassTemplate (const char *name)=0
 
virtual Long_t ClassInfo_ClassProperty (ClassInfo_t *) const
 
virtual Bool_t ClassInfo_Contains (ClassInfo_t *info, DeclId_t decl) const =0
 
virtual void ClassInfo_Delete (ClassInfo_t *) const
 
virtual void ClassInfo_Delete (ClassInfo_t *, void *) const
 
virtual void ClassInfo_DeleteArray (ClassInfo_t *, void *, bool) const
 
virtual void ClassInfo_Destruct (ClassInfo_t *, void *) const
 
virtual ClassInfo_t * ClassInfo_Factory (Bool_t=kTRUE) const =0
 
virtual ClassInfo_t * ClassInfo_Factory (ClassInfo_t *) const =0
 
virtual ClassInfo_t * ClassInfo_Factory (const char *) const =0
 
virtual ClassInfo_t * ClassInfo_Factory (DeclId_t declid) const =0
 
virtual const char * ClassInfo_FileName (ClassInfo_t *) const
 
virtual const char * ClassInfo_FullName (ClassInfo_t *) const
 
virtual Longptr_t ClassInfo_GetBaseOffset (ClassInfo_t *, ClassInfo_t *, void *=nullptr, bool=true) const
 
virtual int ClassInfo_GetMethodNArg (ClassInfo_t *, const char *, const char *, Bool_t=false, ROOT::EFunctionMatchMode=ROOT::kConversionMatch) const
 
virtual EDataType ClassInfo_GetUnderlyingType (ClassInfo_t *) const
 
virtual Bool_t ClassInfo_HasDefaultConstructor (ClassInfo_t *, Bool_t=kFALSE) const
 
virtual Bool_t ClassInfo_HasMethod (ClassInfo_t *, const char *) const
 
virtual void ClassInfo_Init (ClassInfo_t *, const char *) const
 
virtual void ClassInfo_Init (ClassInfo_t *, int) const
 
virtual Bool_t ClassInfo_IsBase (ClassInfo_t *, const char *) const
 
virtual Bool_t ClassInfo_IsEnum (const char *) const
 
virtual Bool_t ClassInfo_IsLoaded (ClassInfo_t *) const
 
virtual Bool_t ClassInfo_IsScopedEnum (ClassInfo_t *) const
 
virtual Bool_t ClassInfo_IsValid (ClassInfo_t *) const
 
virtual Bool_t ClassInfo_IsValidMethod (ClassInfo_t *, const char *, const char *, Bool_t, Longptr_t *, ROOT::EFunctionMatchMode=ROOT::kConversionMatch) const
 
virtual Bool_t ClassInfo_IsValidMethod (ClassInfo_t *, const char *, const char *, Longptr_t *, ROOT::EFunctionMatchMode=ROOT::kConversionMatch) const
 
virtual const char * ClassInfo_Name (ClassInfo_t *) const
 
virtual void * ClassInfo_New (ClassInfo_t *) const
 
virtual void * ClassInfo_New (ClassInfo_t *, int) const
 
virtual void * ClassInfo_New (ClassInfo_t *, int, void *) const
 
virtual void * ClassInfo_New (ClassInfo_t *, void *) const
 
virtual int ClassInfo_Next (ClassInfo_t *) const
 
virtual Long_t ClassInfo_Property (ClassInfo_t *) const
 
virtual int ClassInfo_Size (ClassInfo_t *) const
 
virtual Longptr_t ClassInfo_Tagnum (ClassInfo_t *) const
 
virtual const char * ClassInfo_Title (ClassInfo_t *) const
 
virtual const char * ClassInfo_TmpltName (ClassInfo_t *) const
 
virtual void ClearFileBusy ()=0
 
virtual void ClearStack ()=0
 
virtual void CodeComplete (const std::string &, size_t &, std::vector< std::string > &)
 
virtual TEnumCreateEnum (void *VD, TClass *cl) const =0
 
virtual void CreateListOfBaseClasses (TClass *cl) const =0
 
virtual void CreateListOfDataMembers (TClass *cl) const =0
 
virtual void CreateListOfMethodArgs (TFunction *m) const =0
 
virtual void CreateListOfMethods (TClass *cl) const =0
 
TInterpreterValueCreateTemporary () const
 The created temporary must be deleted by the caller. More...
 
virtual int DataMemberInfo_ArrayDim (DataMemberInfo_t *) const
 
virtual void DataMemberInfo_Delete (DataMemberInfo_t *) const
 
virtual DataMemberInfo_t * DataMemberInfo_Factory (ClassInfo_t *, TDictionary::EMemberSelection) const
 
virtual DataMemberInfo_t * DataMemberInfo_Factory (DeclId_t declid, ClassInfo_t *clinfo) const =0
 
virtual DataMemberInfo_t * DataMemberInfo_FactoryCopy (DataMemberInfo_t *) const
 
virtual Bool_t DataMemberInfo_IsValid (DataMemberInfo_t *) const
 
virtual int DataMemberInfo_MaxIndex (DataMemberInfo_t *, Int_t) const
 
virtual const char * DataMemberInfo_Name (DataMemberInfo_t *) const
 
virtual int DataMemberInfo_Next (DataMemberInfo_t *) const
 
virtual Longptr_t DataMemberInfo_Offset (DataMemberInfo_t *) const
 
virtual Long_t DataMemberInfo_Property (DataMemberInfo_t *) const
 
virtual const char * DataMemberInfo_Title (DataMemberInfo_t *) const
 
virtual const char * DataMemberInfo_TypeName (DataMemberInfo_t *) const
 
virtual Long_t DataMemberInfo_TypeProperty (DataMemberInfo_t *) const
 
virtual int DataMemberInfo_TypeSize (DataMemberInfo_t *) const
 
virtual const char * DataMemberInfo_TypeTrueName (DataMemberInfo_t *) const
 
virtual const char * DataMemberInfo_ValidArrayIndex (DataMemberInfo_t *) const
 
virtual Bool_t Declare (const char *code)=0
 
virtual Int_t DeleteGlobal (void *obj)=0
 
virtual Int_t DeleteVariable (const char *name)=0
 
virtual bool DiagnoseIfInterpreterException (const std::exception &e) const =0
 
virtual int DisplayClass (FILE *, const char *, int, int) const
 
virtual int DisplayIncludePath (FILE *) const
 
virtual void EndOfLineAction ()=0
 
virtual int Evaluate (const char *, TInterpreterValue &)
 
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. More...
 
virtual void Execute (TObject *obj, TClass *cl, const char *method, const char *params, int *error=nullptr)=0
 
virtual void Execute (TObject *obj, TClass *cl, TMethod *method, TObjArray *params, int *error=nullptr)=0
 
virtual Longptr_t ExecuteMacro (const char *filename, EErrorCode *error=nullptr)=0
 
virtual void ExecuteWithArgsAndReturn (TMethod *method, void *address, const void *args[]=nullptr, int=0, void *ret=nullptr) const =0
 
virtual void * FindSym (const char *) const
 
virtual void ForgetMutexState ()=0
 
virtual void FuncTempInfo_Delete (FuncTempInfo_t *) const =0
 
virtual Long_t FuncTempInfo_ExtraProperty (FuncTempInfo_t *) const =0
 
virtual FuncTempInfo_t * FuncTempInfo_Factory (DeclId_t declid) const =0
 
virtual FuncTempInfo_t * FuncTempInfo_FactoryCopy (FuncTempInfo_t *) const =0
 
virtual Bool_t FuncTempInfo_IsValid (FuncTempInfo_t *) const =0
 
virtual void FuncTempInfo_Name (FuncTempInfo_t *, TString &name) const =0
 
virtual Long_t FuncTempInfo_Property (FuncTempInfo_t *) const =0
 
virtual UInt_t FuncTempInfo_TemplateMinReqArgs (FuncTempInfo_t *) const =0
 
virtual UInt_t FuncTempInfo_TemplateNargs (FuncTempInfo_t *) const =0
 
virtual void FuncTempInfo_Title (FuncTempInfo_t *, TString &title) const =0
 
virtual Int_t GenerateDictionary (const char *classes, const char *includes=nullptr, const char *options=nullptr)=0
 
virtual TClassGenerateTClass (ClassInfo_t *classinfo, Bool_t silent=kFALSE)=0
 
virtual TClassGenerateTClass (const char *classname, Bool_t emulation, Bool_t silent=kFALSE)=0
 
virtual void GenericError (const char *) const
 
virtual void * GetAutoLoadCallBack () const
 
virtual TClassGetClass (const std::type_info &typeinfo, Bool_t load) const =0
 
virtual const char * GetClassSharedLibs (const char *cls)=0
 
virtual const char * GetCurrentMacroName () const
 
virtual DeclId_t GetDataMember (ClassInfo_t *cl, const char *name) const =0
 
virtual DeclId_t GetDataMemberAtAddr (const void *addr) const =0
 
virtual DeclId_t GetDataMemberWithValue (const void *ptrvalue) const =0
 
virtual DeclId_t GetDeclId (CallFunc_t *info) const =0
 
virtual DeclId_t GetDeclId (ClassInfo_t *info) const =0
 
virtual DeclId_t GetDeclId (DataMemberInfo_t *info) const =0
 
virtual DeclId_t GetDeclId (FuncTempInfo_t *info) const =0
 
virtual DeclId_t GetDeclId (MethodInfo_t *info) const =0
 
virtual DeclId_t GetDeclId (TypedefInfo_t *info) const =0
 
virtual DeclId_t GetEnum (TClass *cl, const char *name) const =0
 
virtual Long_t GetExecByteCode () const
 
virtual Int_t GetExitCode () const =0
 
virtual DeclId_t GetFunction (ClassInfo_t *cl, const char *funcname)=0
 
virtual void GetFunctionOverloads (ClassInfo_t *cl, const char *funcname, std::vector< DeclId_t > &res) const =0
 
virtual DeclId_t GetFunctionTemplate (ClassInfo_t *cl, const char *funcname)=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 DeclId_t GetFunctionWithValues (ClassInfo_t *cl, const char *method, const char *params, Bool_t objectIsConst=kFALSE)=0
 
virtual const char * GetIncludePath ()=0
 
virtual void * GetInterfaceMethod (TClass *cl, const char *method, const char *params, Bool_t objectIsConst=kFALSE)=0
 
virtual void * GetInterfaceMethodWithPrototype (TClass *cl, const char *method, const char *proto, Bool_t objectIsConst=kFALSE, ROOT::EFunctionMatchMode=ROOT::kConversionMatch)=0
 
virtual ULong64_t GetInterpreterStateMarker () const =0
 
virtual void GetInterpreterTypeName (const char *name, std::string &output, Bool_t full=kFALSE)=0
 
virtual TString GetMangledName (TClass *cl, const char *method, const char *params, Bool_t objectIsConst=kFALSE)=0
 
virtual TString GetMangledNameWithPrototype (TClass *cl, const char *method, const char *proto, Bool_t objectIsConst=kFALSE, ROOT::EFunctionMatchMode=ROOT::kConversionMatch)=0
 
virtual TEnvGetMapfile () const
 
virtual Int_t GetMore () const =0
 Returns whether the interpreter is waiting for more input, i.e. More...
 
virtual char * GetPrompt ()=0
 
virtual TObjArrayGetRootMapFiles () const =0
 
virtual int GetSecurityError () const
 
virtual const char * GetSharedLibDeps (const char *lib, bool tryDyld=false)=0
 
virtual const char * GetSharedLibs ()=0
 
virtual const char * GetSTLIncludePath () const
 
virtual const char * GetTopLevelMacroName () const
 
virtual std::vector< std::string > GetUsingNamespaces (ClassInfo_t *cl) const =0
 
virtual Bool_t HasPCMForLibrary (const char *libname) const =0
 
virtual void Initialize ()=0
 
virtual void InspectMembers (TMemberInspector &, const void *obj, const TClass *cl, Bool_t isTransient)=0
 
TClassIsA () const override
 
virtual Bool_t IsAutoParsingSuspended () const =0
 
virtual Bool_t IsErrorMessagesEnabled () const =0
 
virtual Bool_t IsLibraryLoaded (const char *libname) const =0
 
virtual Bool_t IsLoaded (const char *filename) const =0
 
virtual Bool_t IsProcessLineLocked () const =0
 
virtual Int_t Load (const char *filenam, Bool_t system=kFALSE)=0
 
virtual void LoadEnums (TListOfEnums &cl) const =0
 
virtual int LoadFile (const char *) const
 
virtual void LoadFunctionTemplates (TClass *cl) const =0
 
virtual Int_t LoadLibraryMap (const char *rootmapfile=nullptr)=0
 
virtual void LoadMacro (const char *filename, EErrorCode *error=nullptr)=0
 
virtual Bool_t LoadText (const char *) const
 
virtual std::unique_ptr< TInterpreterValueMakeInterpreterValue () const
 
virtual const char * MapCppName (const char *) const
 
virtual const char * MethodArgInfo_DefaultValue (MethodArgInfo_t *) const
 
virtual void MethodArgInfo_Delete (MethodArgInfo_t *) const
 
virtual MethodArgInfo_t * MethodArgInfo_Factory () const
 
virtual MethodArgInfo_t * MethodArgInfo_Factory (MethodInfo_t *) const
 
virtual MethodArgInfo_t * MethodArgInfo_FactoryCopy (MethodArgInfo_t *) const
 
virtual Bool_t MethodArgInfo_IsValid (MethodArgInfo_t *) const
 
virtual const char * MethodArgInfo_Name (MethodArgInfo_t *) const
 
virtual int MethodArgInfo_Next (MethodArgInfo_t *) const
 
virtual Long_t MethodArgInfo_Property (MethodArgInfo_t *) const
 
virtual const char * MethodArgInfo_TypeName (MethodArgInfo_t *) const
 
virtual std::string MethodArgInfo_TypeNormalizedName (MethodArgInfo_t *) const =0
 
virtual EReturnType MethodCallReturnType (TFunction *func) const =0
 
virtual void MethodInfo_CreateSignature (MethodInfo_t *, TString &) const
 
virtual void MethodInfo_Delete (MethodInfo_t *) const
 
virtual Long_t MethodInfo_ExtraProperty (MethodInfo_t *) const =0
 
virtual MethodInfo_t * MethodInfo_Factory () const
 
virtual MethodInfo_t * MethodInfo_Factory (ClassInfo_t *) const
 
virtual MethodInfo_t * MethodInfo_Factory (DeclId_t declid) const =0
 
virtual MethodInfo_t * MethodInfo_FactoryCopy (MethodInfo_t *) const
 
virtual const char * MethodInfo_GetMangledName (MethodInfo_t *) const
 
virtual const char * MethodInfo_GetPrototype (MethodInfo_t *) const
 
virtual void * MethodInfo_InterfaceMethod (MethodInfo_t *) const
 
virtual Bool_t MethodInfo_IsValid (MethodInfo_t *) const
 
virtual EReturnType MethodInfo_MethodCallReturnType (MethodInfo_t *minfo) const =0
 
virtual const char * MethodInfo_Name (MethodInfo_t *) const
 
virtual int MethodInfo_NArg (MethodInfo_t *) const
 
virtual int MethodInfo_NDefaultArg (MethodInfo_t *) const
 
virtual int MethodInfo_Next (MethodInfo_t *) const
 
virtual Long_t MethodInfo_Property (MethodInfo_t *) const =0
 
virtual const char * MethodInfo_Title (MethodInfo_t *) const
 
virtual TypeInfo_t * MethodInfo_Type (MethodInfo_t *) const
 
virtual const char * MethodInfo_TypeName (MethodInfo_t *) const
 
virtual std::string MethodInfo_TypeNormalizedName (MethodInfo_t *) const
 
virtual void PrintIntro ()=0
 
virtual Longptr_t ProcessLine (const char *line, EErrorCode *error=nullptr)=0
 
virtual Longptr_t ProcessLineSynch (const char *line, EErrorCode *error=nullptr)=0
 
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 bool RegisterPrebuiltModulePath (const std::string &FullPath, const std::string &ModuleMapName="module.modulemap") const =0
 
virtual void RegisterTClassUpdate (TClass *oldcl, DictFuncPtr_t dict)=0
 
virtual Int_t ReloadAllSharedLibraryMaps ()=0
 
virtual void ReportDiagnosticsToErrorHandler (bool=true)
 Report diagnostics to the ROOT error handler (see TError.h). More...
 
virtual Int_t RescanLibraryMap ()=0
 
virtual void Reset ()=0
 
virtual void ResetAll ()=0
 
virtual void ResetGlobals ()=0
 
virtual void ResetGlobalVar (void *obj)=0
 
virtual void RewindDictionary ()=0
 
virtual void SaveContext ()=0
 
virtual void SaveGlobalsContext ()=0
 
virtual void SetAlloclockfunc (void(*)()) const
 
virtual void SetAllocunlockfunc (void(*)()) const
 
virtual void * SetAutoLoadCallBack (void *)
 
int SetClassAutoloading (int a) const
 
virtual int SetClassAutoLoading (int) const
 
virtual int SetClassAutoparsing (int)
 
virtual void SetClassInfo (TClass *cl, Bool_t reload=kFALSE)=0
 
virtual Int_t SetClassSharedLibs (const char *cls, const char *libs)=0
 
virtual void SetDeclAttr (DeclId_t, const char *)=0
 
virtual void SetErrmsgcallback (void *) const
 
virtual Bool_t SetErrorMessages (Bool_t enable=kTRUE)=0
 
virtual void SetGetline (const char *(*getlineFunc)(const char *prompt), void(*histaddFunc)(const char *line))=0
 
virtual void SetProcessLineLock (Bool_t lock=kTRUE)=0
 
virtual void SetTempLevel (int) const
 
virtual void ShutDown ()=0
 
virtual void SnapshotMutexState (ROOT::TVirtualRWMutex *mtx)=0
 
void Streamer (TBuffer &) override
 Stream an object of class TObject. More...
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
virtual std::string ToString (const char *type, void *obj)=0
 
virtual void TypedefInfo_Delete (TypedefInfo_t *) const
 
virtual TypedefInfo_t * TypedefInfo_Factory () const
 
virtual TypedefInfo_t * TypedefInfo_Factory (const char *) const
 
virtual TypedefInfo_t * TypedefInfo_FactoryCopy (TypedefInfo_t *) const
 
virtual void TypedefInfo_Init (TypedefInfo_t *, const char *) const
 
virtual Bool_t TypedefInfo_IsValid (TypedefInfo_t *) const
 
virtual const char * TypedefInfo_Name (TypedefInfo_t *) const
 
virtual int TypedefInfo_Next (TypedefInfo_t *) const
 
virtual Long_t TypedefInfo_Property (TypedefInfo_t *) const
 
virtual int TypedefInfo_Size (TypedefInfo_t *) const
 
virtual const char * TypedefInfo_Title (TypedefInfo_t *) const
 
virtual const char * TypedefInfo_TrueName (TypedefInfo_t *) const
 
virtual void TypeInfo_Delete (TypeInfo_t *) const
 
virtual TypeInfo_t * TypeInfo_Factory () const
 
virtual TypeInfo_t * TypeInfo_Factory (const char *) const
 
virtual TypeInfo_t * TypeInfo_FactoryCopy (TypeInfo_t *) const
 
virtual void TypeInfo_Init (TypeInfo_t *, const char *) const
 
virtual Bool_t TypeInfo_IsValid (TypeInfo_t *) const
 
virtual const char * TypeInfo_Name (TypeInfo_t *) const
 
virtual Long_t TypeInfo_Property (TypeInfo_t *) const
 
virtual int TypeInfo_RefType (TypeInfo_t *) const
 
virtual int TypeInfo_Size (TypeInfo_t *) const
 
virtual const char * TypeInfo_TrueName (TypeInfo_t *) const
 
virtual const char * TypeName (const char *s)=0
 
virtual Int_t UnloadAllSharedLibraryMaps ()=0
 
virtual int UnloadFile (const char *) const
 
virtual Int_t UnloadLibraryMap (const char *library)=0
 
virtual void UnRegisterTClassUpdate (const TClass *oldcl)=0
 
virtual void UpdateEnumConstants (TEnum *enumObj, TClass *cl) const =0
 
virtual void UpdateListOfGlobalFunctions ()=0
 
virtual void UpdateListOfGlobals ()=0
 
virtual void UpdateListOfMethods (TClass *cl) const =0
 
virtual void UpdateListOfTypes ()=0
 
- Public Member Functions inherited from TNamed
 TNamed ()
 
 TNamed (const char *name, const char *title)
 
 TNamed (const TNamed &named)
 TNamed copy ctor. More...
 
 TNamed (const TString &name, const TString &title)
 
virtual ~TNamed ()
 TNamed destructor. More...
 
void Clear (Option_t *option="") override
 Set name and title to empty strings (""). More...
 
TObjectClone (const char *newname="") const override
 Make a clone of an object using the Streamer facility. More...
 
Int_t Compare (const TObject *obj) const override
 Compare two TNamed objects. More...
 
void Copy (TObject &named) const override
 Copy this to obj. More...
 
virtual void FillBuffer (char *&buffer)
 Encode TNamed into output buffer. More...
 
const char * GetName () const override
 Returns name of object. More...
 
const char * GetTitle () const override
 Returns title of object. More...
 
ULong_t Hash () const override
 Return hash value for this object. More...
 
TClassIsA () const override
 
Bool_t IsSortable () const override
 
void ls (Option_t *option="") const override
 List TNamed name and title. More...
 
TNamedoperator= (const TNamed &rhs)
 TNamed assignment operator. More...
 
void Print (Option_t *option="") const override
 Print TNamed name and title. More...
 
virtual void SetName (const char *name)
 Set the name of the TNamed. More...
 
virtual void SetNameTitle (const char *name, const char *title)
 Set all the TNamed parameters (name and title). More...
 
virtual void SetTitle (const char *title="")
 Set the title of the TNamed. More...
 
virtual Int_t Sizeof () const
 Return size of the TNamed part of the TObject. More...
 
void Streamer (TBuffer &) override
 Stream an object of class TObject. More...
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
- Public Member Functions inherited from TObject
 TObject ()
 TObject constructor. More...
 
 TObject (const TObject &object)
 TObject copy ctor. More...
 
virtual ~TObject ()
 TObject destructor. More...
 
void AbstractMethod (const char *method) const
 Use this method to implement an "abstract" method that you don't want to leave purely abstract. More...
 
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad. More...
 
virtual void Browse (TBrowser *b)
 Browse object. May be overridden for another default action. More...
 
ULong_t CheckedHash ()
 Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object. More...
 
virtual const char * ClassName () const
 Returns name of class to which the object belongs. More...
 
virtual void Clear (Option_t *="")
 
virtual TObjectClone (const char *newname="") const
 Make a clone of an object using the Streamer facility. More...
 
virtual Int_t Compare (const TObject *obj) const
 Compare abstract method. More...
 
virtual void Copy (TObject &object) const
 Copy this to obj. More...
 
virtual void Delete (Option_t *option="")
 Delete this object. More...
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 Computes distance from point (px,py) to the object. More...
 
virtual void Draw (Option_t *option="")
 Default Draw method for all objects. More...
 
virtual void DrawClass () const
 Draw class inheritance tree of the class to which this object belongs. More...
 
virtual TObjectDrawClone (Option_t *option="") const
 Draw a clone of this object in the current selected pad for instance with: gROOT->SetSelectedPad(gPad). More...
 
virtual void Dump () const
 Dump contents of object on stdout. More...
 
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message. More...
 
virtual void Execute (const char *method, const char *params, Int_t *error=nullptr)
 Execute method on this object with the given parameter string, e.g. More...
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr)
 Execute method on this object with parameters stored in the TObjArray. More...
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 Execute action corresponding to an event at (px,py). More...
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message. More...
 
virtual TObjectFindObject (const char *name) const
 Must be redefined in derived classes. More...
 
virtual TObjectFindObject (const TObject *obj) const
 Must be redefined in derived classes. More...
 
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object. More...
 
virtual const char * GetIconName () const
 Returns mime type name of object. More...
 
virtual const char * GetName () const
 Returns name of object. More...
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py). More...
 
virtual Option_tGetOption () const
 
virtual const char * GetTitle () const
 Returns title of object. More...
 
virtual UInt_t GetUniqueID () const
 Return the unique object id. More...
 
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out. More...
 
virtual ULong_t Hash () const
 Return hash value for this object. More...
 
Bool_t HasInconsistentHash () const
 Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e. More...
 
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message. More...
 
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname". More...
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl. More...
 
virtual void Inspect () const
 Dump contents of this object in a graphics canvas. More...
 
void InvertBit (UInt_t f)
 
virtual TClassIsA () const
 
Bool_t IsDestructed () const
 IsDestructed. More...
 
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory). More...
 
virtual Bool_t IsFolder () const
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). More...
 
R__ALWAYS_INLINE Bool_t IsOnHeap () const
 
virtual Bool_t IsSortable () const
 
R__ALWAYS_INLINE Bool_t IsZombie () const
 
virtual void ls (Option_t *option="") const
 The ls function lists the contents of a class on stdout. More...
 
void MayNotUse (const char *method) const
 Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary). More...
 
virtual Bool_t Notify ()
 This method must be overridden to handle object notification. More...
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete. More...
 
void operator delete (void *ptr)
 Operator delete. More...
 
void operator delete[] (void *ptr)
 Operator delete []. More...
 
void * operator new (size_t sz)
 
void * operator new (size_t sz, void *vp)
 
void * operator new[] (size_t sz)
 
void * operator new[] (size_t sz, void *vp)
 
TObjectoperator= (const TObject &rhs)
 TObject assignment operator. More...
 
virtual void Paint (Option_t *option="")
 This method must be overridden if a class wants to paint itself. More...
 
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list. More...
 
virtual void Print (Option_t *option="") const
 This method must be overridden when a class wants to print itself. More...
 
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory. More...
 
virtual void RecursiveRemove (TObject *obj)
 Recursively remove this object from a list. More...
 
void ResetBit (UInt_t f)
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 Save this object in the file specified by filename. More...
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save a primitive as a C++ statement(s) on output stream "out". More...
 
void SetBit (UInt_t f)
 
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f. More...
 
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object. More...
 
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id. More...
 
virtual void Streamer (TBuffer &)
 Stream an object of class TObject. More...
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message. More...
 
R__ALWAYS_INLINE Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
virtual void UseCurrentStyle ()
 Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked. More...
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message. More...
 
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0)
 Write this object to the current directory. More...
 
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const
 Write this object to the current directory. More...
 

Static Public Member Functions

static void UpdateAllCanvases ()
 Update all canvases at end the terminal input command. More...
 
static void UpdateClassInfo (char *name, Long_t tagnum)
 No op: see TClingCallbacks. More...
 
static void UpdateClassInfoWork (const char *name)
 
- Static Public Member Functions inherited from TInterpreter
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static TInterpreterInstance ()
 returns gInterpreter global More...
 
- Static Public Member Functions inherited from TNamed
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- Static Public Member Functions inherited from TObject
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static Longptr_t GetDtorOnly ()
 Return destructor only flag. More...
 
static Bool_t GetObjectStat ()
 Get status of object stat flag. More...
 
static void SetDtorOnly (void *obj)
 Set destructor only flag. More...
 
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable. More...
 

Protected Member Functions

Bool_t SetSuspendAutoParsing (Bool_t value) final
 Suspend the Autoparsing of headers. More...
 
void Execute (TMethod *method, TObjArray *params, int *error=nullptr) override=0
 Execute method on this object with parameters stored in the TObjArray. More...
 
virtual Bool_t SetSuspendAutoParsing (Bool_t value)=0
 
- Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected). More...
 
void MakeZombie ()
 

Private Types

typedef void * SpecialObjectLookupCtx_t
 
typedef std::unordered_map< std::string, TObject * > SpecialObjectMap_t
 

Private Member Functions

 TCling ()
 
 TCling (const TCling &)=delete
 
void AddFriendToClass (clang::FunctionDecl *, clang::CXXRecordDecl *) const
 Inject function as a friend into klass. More...
 
UInt_t AutoParseImplRecurse (const char *cls, bool topLevel)
 Helper routine for TCling::AutoParse implementing the actual call to the parser and looping over template parameters (if any) and when they don't have a registered header to autoparse, recurse over their template parameters. More...
 
void Execute (TMethod *, TObjArray *, int *=nullptr) final
 Execute method on this object with parameters stored in the TObjArray. More...
 
DeclId_t GetDeclId (const llvm::GlobalValue *gv) const
 Return pointer to cling DeclId for a global value. More...
 
cling::Interpreter * GetInterpreterImpl () const
 
cling::MetaProcessor * GetMetaProcessorImpl () const
 
Bool_t HandleNewTransaction (const cling::Transaction &T)
 Helper function to increase the internal Cling count of transactions that change the AST. More...
 
void InitRootmapFile (const char *name)
 Create a resource table and read the (possibly) three resource files, i.e. More...
 
void InvalidateCachedDecl (const std::tuple< TListOfDataMembers *, TListOfFunctions *, TListOfFunctionTemplates *, TListOfEnums * > &Lists, const clang::Decl *D)
 Invalidate cached TCling information for the given declaration, and removed it from the appropriate object list. More...
 
bool IsClassAutoLoadingEnabled () const
 Returns if class AutoLoading is currently enabled. More...
 
void LoadPCM (std::string pcmFileNameFullPath)
 Tries to load a rdict PCM, issues diagnostics if it fails. More...
 
void LoadPCMImpl (TFile &pcmFile)
 Tries to load a PCM from TFile; returns true on success. More...
 
TClingoperator= (const TCling &)=delete
 
void ProcessClassesToUpdate ()
 
int ReadRootmapFile (const char *rootmapfile, TUniqueString *uniqueString=nullptr)
 Read and parse a rootmapfile in its new format, and return 0 in case of success, -1 if the file has already been read, and -3 in case its format is the old one (e.g. More...
 
void RegisterLoadedSharedLibrary (const char *name)
 Register a new shared library name with the interpreter; add it to fSharedLibs. More...
 
void RegisterRdictForLoadPCM (const std::string &pcmFileNameFullPath, llvm::StringRef *pcmContent)
 Register Rdict data for future loading by LoadPCM;. More...
 
void UpdateListOfLoadedSharedLibraries ()
 

Static Private Member Functions

static Int_t DeepAutoLoadImpl (const char *cls, std::unordered_set< std::string > &visited, bool nameIsNormalized)
 
template<typename List , typename Object >
static void RemoveAndInvalidateObject (List &L, Object *O)
 
static Int_t ShallowAutoLoadImpl (const char *cls)
 

Private Attributes

void * fAutoLoadCallBack
 
std::vector< std::string > fAutoLoadLibStorage
 
std::map< size_t, std::vector< const char * > > fClassesHeadersMap
 
std::vector< std::pair< TClass *, DictFuncPtr_t > > fClassesToUpdate
 
TClingCallbacksfClingCallbacks
 
std::vector< const char * > fCurExecutingMacros
 
Bool_t fCxxModulesEnabled
 
Int_t fExitCode
 
Int_t fGlobalsListSerial
 
Bool_t fHeaderParsingOnDemand
 
TString fIncludePath
 
MutexStateAndRecurseCount fInitialMutex
 
std::unique_ptr< cling::Interpreter > fInterpreter
 
Bool_t fIsAutoParsingSuspended
 
bool fIsShuttingDown = false
 
Bool_t fLockProcessLine
 
std::set< size_t > fLookedUpClasses
 
ROOT::TMetaUtils::TClingLookupHelperfLookupHelper
 
TEnvfMapfile
 
std::unique_ptr< cling::MetaProcessor > fMetaProcessor
 
std::set< TClass * > fModTClasses
 
ROOT::TMetaUtils::TNormalizedCtxtfNormalizedCtxt
 
std::unordered_set< const clang::NamespaceDecl * > fNSFromRootmaps
 
std::set< const char * > fParsedPayloadsAddresses
 
std::set< size_t > fPayloads
 
std::map< std::string, llvm::StringRef > fPendingRdicts
 
void * fPrevLoadedDynLibInfo
 
char fPrompt [64]
 
std::vector< void * > fRegisterModuleDyLibs
 
TObjArrayfRootmapFiles
 
TString fRootmapLoadPath
 
TString fSharedLibs
 
std::map< SpecialObjectLookupCtx_t, SpecialObjectMap_tfSpecialObjectMaps
 
std::hash< std::string > fStringHashFunction
 
std::vector< cling::Value > * fTemporaries
 
ULong64_t fTransactionCount
 
std::map< const cling::Transaction *, size_t > fTransactionHeadersMap
 

Static Private Attributes

static void * fgSetOfSpecials = 0
 
static constexpr const char * kNullArgv [] = {nullptr}
 

Friends

cling::Interpreter * TCling__GetInterpreter ()
 
void TCling__RegisterRdictForLoadPCM (const std::string &pcmFileNameFullPath, llvm::StringRef *pcmContent)
 

Additional Inherited Members

- Public Types inherited from TInterpreter
typedef int(* AutoLoadCallBack_t) (const char *)
 
typedef TDictionary::DeclId_t DeclId_t
 
enum  ECheckClassInfo { kUnknown = 0 , kKnown = 1 , kWithClassDefInline = 2 }
 
enum  EErrorCode {
  kNoError = 0 , kRecoverable = 1 , kDangerous = 2 , kFatal = 3 ,
  kProcessing = 99
}
 
enum class  EReturnType {
  kLong , kDouble , kString , kOther ,
  kNoReturnType
}
 
typedef std::vector< std::pair< std::string, int > > FwdDeclArgsToKeepCollection_t
 
typedef class std::map< std::string, std::string > MembersMap_t
 
- Public Types inherited from TObject
enum  {
  kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 ,
  kBitMask = 0x00ffffff
}
 
enum  { kSingleKey = (1ULL << ( 0 )) , kOverwrite = (1ULL << ( 1 )) , kWriteDelete = (1ULL << ( 2 )) }
 
enum  EDeprecatedStatusBits { kObjInCanvas = (1ULL << ( 3 )) }
 
enum  EStatusBits {
  kCanDelete = (1ULL << ( 0 )) , kMustCleanup = (1ULL << ( 3 )) , kIsReferenced = (1ULL << ( 4 )) , kHasUUID = (1ULL << ( 5 )) ,
  kCannotPick = (1ULL << ( 6 )) , kNoContextMenu = (1ULL << ( 8 )) , kInvalidObject = (1ULL << ( 13 ))
}
 
- Protected Types inherited from TObject
enum  { kOnlyPrepStep = (1ULL << ( 3 )) }
 
- Protected Attributes inherited from TNamed
TString fName
 
TString fTitle
 

#include </home/sftnight/build/workspace/root-makedoc-master/rootspi/rdoc/src/master/core/metacling/src/TCling.h>

Inheritance diagram for TCling:
[legend]

Member Typedef Documentation

◆ SpecialObjectLookupCtx_t

typedef void* TCling::SpecialObjectLookupCtx_t
private

Definition at line 151 of file TCling.h.

◆ SpecialObjectMap_t

typedef std::unordered_map<std::string, TObject*> TCling::SpecialObjectMap_t
private

Definition at line 152 of file TCling.h.

Constructor & Destructor Documentation

◆ ~TCling()

TCling::~TCling ( )
virtual

Destroy the interpreter interface.

Definition at line 1643 of file TCling.cxx.

◆ TCling() [1/4]

TCling::TCling ( const char *  name,
const char *  title,
const char *const  argv[] 
)

Initialize the cling interpreter interface.

Parameters
namename for TInterpreter
titletitle for TInterpreter
argv- array of arguments passed to the cling::Interpreter constructor e.g. -DFOO=bar. The last element of the array must be nullptr.

Definition at line 1372 of file TCling.cxx.

◆ TCling() [2/4]

TCling::TCling ( const char *  name,
const char *  title 
)
inline

Definition at line 196 of file TCling.h.

◆ TCling() [3/4]

TCling::TCling ( )
private

◆ TCling() [4/4]

TCling::TCling ( const TCling )
privatedelete

Member Function Documentation

◆ AddAvailableIndentifiers()

void TCling::AddAvailableIndentifiers ( TSeqCollection Idents)
finalvirtual

Implements TInterpreter.

Definition at line 2377 of file TCling.cxx.

◆ AddFriendToClass()

void TCling::AddFriendToClass ( clang::FunctionDecl *  function,
clang::CXXRecordDecl *  klass 
) const
private

Inject function as a friend into klass.

With function being f in void f() {new N::PrivKlass(); } this enables I/O of non-public classes.

Definition at line 7682 of file TCling.cxx.

◆ AddIncludePath()

void TCling::AddIncludePath ( const char *  path)
finalvirtual

Add a directory to the list of directories in which the interpreter looks for include files.

Parameters
[in]pathThe path to the directory.
Note
Only one path item can be specified at a time, i.e. "path1:path2" is NOT supported.
Warning
Only the path to the directory should be specified, without prepending the -I prefix, i.e. gCling->AddIncludePath("/path/to/my/includes"). If the -I prefix is used it will be ignored.

Implements TInterpreter.

Definition at line 2652 of file TCling.cxx.

◆ ApplyToInterpreterMutex()

void TCling::ApplyToInterpreterMutex ( void *  delta)

Re-apply the lock count delta that TCling__ResetInterpreterMutex() caused.

Definition at line 9457 of file TCling.cxx.

◆ AutoLoad() [1/2]

Int_t TCling::AutoLoad ( const char *  cls,
Bool_t  knowDictNotLoaded = kFALSE 
)
finalvirtual

Load library containing the specified class.

Returns 0 in case of error and 1 in case if success.

Implements TInterpreter.

Definition at line 6194 of file TCling.cxx.

◆ AutoLoad() [2/2]

Int_t TCling::AutoLoad ( const std::type_info &  typeinfo,
Bool_t  knowDictNotLoaded = kFALSE 
)
finalvirtual

Load library containing the specified class.

Returns 0 in case of error and 1 in case if success.

Implements TInterpreter.

Definition at line 6053 of file TCling.cxx.

◆ AutoParse()

Int_t TCling::AutoParse ( const char *  cls)
finalvirtual

Parse the headers relative to the class Returns 1 in case of success, 0 in case of failure.

Implements TInterpreter.

Definition at line 6452 of file TCling.cxx.

◆ AutoParseImplRecurse()

UInt_t TCling::AutoParseImplRecurse ( const char *  cls,
bool  topLevel 
)
private

Helper routine for TCling::AutoParse implementing the actual call to the parser and looping over template parameters (if any) and when they don't have a registered header to autoparse, recurse over their template parameters.

Returns the number of header parsed.

Definition at line 6310 of file TCling.cxx.

◆ BaseClassInfo_ClassInfo()

ClassInfo_t * TCling::BaseClassInfo_ClassInfo ( BaseClassInfo_t *  bcinfo) const
finalvirtual

Implements TInterpreter.

Definition at line 8452 of file TCling.cxx.

◆ BaseClassInfo_Delete()

void TCling::BaseClassInfo_Delete ( BaseClassInfo_t *  bcinfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8380 of file TCling.cxx.

◆ BaseClassInfo_Factory() [1/2]

BaseClassInfo_t * TCling::BaseClassInfo_Factory ( ClassInfo_t *  derived,
ClassInfo_t *  base 
) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8396 of file TCling.cxx.

◆ BaseClassInfo_Factory() [2/2]

BaseClassInfo_t * TCling::BaseClassInfo_Factory ( ClassInfo_t *  info) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8387 of file TCling.cxx.

◆ BaseClassInfo_FullName()

const char * TCling::BaseClassInfo_FullName ( BaseClassInfo_t *  bcinfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8468 of file TCling.cxx.

◆ BaseClassInfo_Name()

const char * TCling::BaseClassInfo_Name ( BaseClassInfo_t *  bcinfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8478 of file TCling.cxx.

◆ BaseClassInfo_Next() [1/2]

int TCling::BaseClassInfo_Next ( BaseClassInfo_t *  bcinfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8407 of file TCling.cxx.

◆ BaseClassInfo_Next() [2/2]

int TCling::BaseClassInfo_Next ( BaseClassInfo_t *  bcinfo,
int  onlyDirect 
) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8415 of file TCling.cxx.

◆ BaseClassInfo_Offset()

Longptr_t TCling::BaseClassInfo_Offset ( BaseClassInfo_t *  toBaseClassInfo,
void *  address,
bool  isDerivedObject 
) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8423 of file TCling.cxx.

◆ BaseClassInfo_Property()

Long_t TCling::BaseClassInfo_Property ( BaseClassInfo_t *  bcinfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8444 of file TCling.cxx.

◆ BaseClassInfo_Tagnum()

Longptr_t TCling::BaseClassInfo_Tagnum ( BaseClassInfo_t *  bcinfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8460 of file TCling.cxx.

◆ BaseClassInfo_TmpltName()

const char * TCling::BaseClassInfo_TmpltName ( BaseClassInfo_t *  bcinfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8486 of file TCling.cxx.

◆ Calc()

Longptr_t TCling::Calc ( const char *  line,
EErrorCode error = nullptr 
)
finalvirtual

Directly execute an executable statement (e.g.

"func()", "3+5", etc. however not declarations, like "Int_t x;").

Implements TInterpreter.

Definition at line 3548 of file TCling.cxx.

◆ CallFunc_Delete()

void TCling::CallFunc_Delete ( CallFunc_t *  func) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 7758 of file TCling.cxx.

◆ CallFunc_Exec() [1/2]

void TCling::CallFunc_Exec ( CallFunc_t *  func,
void *  address 
) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 7765 of file TCling.cxx.

◆ CallFunc_Exec() [2/2]

void TCling::CallFunc_Exec ( CallFunc_t *  func,
void *  address,
TInterpreterValue val 
) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 7773 of file TCling.cxx.

◆ CallFunc_ExecDouble()

Double_t TCling::CallFunc_ExecDouble ( CallFunc_t *  func,
void *  address 
) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 7816 of file TCling.cxx.

◆ CallFunc_ExecInt()

Longptr_t TCling::CallFunc_ExecInt ( CallFunc_t *  func,
void *  address 
) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 7800 of file TCling.cxx.

◆ CallFunc_ExecInt64()

Long64_t TCling::CallFunc_ExecInt64 ( CallFunc_t *  func,
void *  address 
) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 7808 of file TCling.cxx.

◆ CallFunc_ExecWithArgsAndReturn()

void TCling::CallFunc_ExecWithArgsAndReturn ( CallFunc_t *  func,
void *  address,
const void *  args[] = nullptr,
int  nargs = 0,
void *  ret = nullptr 
) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 7789 of file TCling.cxx.

◆ CallFunc_ExecWithReturn()

void TCling::CallFunc_ExecWithReturn ( CallFunc_t *  func,
void *  address,
void *  ret 
) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 7781 of file TCling.cxx.

◆ CallFunc_Factory()

CallFunc_t * TCling::CallFunc_Factory ( ) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 7824 of file TCling.cxx.

◆ CallFunc_FactoryCopy()

CallFunc_t * TCling::CallFunc_FactoryCopy ( CallFunc_t *  func) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 7832 of file TCling.cxx.

◆ CallFunc_FactoryMethod()

MethodInfo_t * TCling::CallFunc_FactoryMethod ( CallFunc_t *  func) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 7839 of file TCling.cxx.

◆ CallFunc_GetWrapperCode()

std::string TCling::CallFunc_GetWrapperCode ( CallFunc_t *  func) const
finalvirtual

Implements TInterpreter.

Definition at line 8027 of file TCling.cxx.

◆ CallFunc_IFacePtr()

TInterpreter::CallFuncIFacePtr_t TCling::CallFunc_IFacePtr ( CallFunc_t *  func) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 7873 of file TCling.cxx.

◆ CallFunc_IgnoreExtraArgs()

void TCling::CallFunc_IgnoreExtraArgs ( CallFunc_t *  func,
bool  ignore 
) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 7847 of file TCling.cxx.

◆ CallFunc_Init()

void TCling::CallFunc_Init ( CallFunc_t *  func) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 7855 of file TCling.cxx.

◆ CallFunc_IsValid()

bool TCling::CallFunc_IsValid ( CallFunc_t *  func) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 7864 of file TCling.cxx.

◆ CallFunc_ResetArg()

void TCling::CallFunc_ResetArg ( CallFunc_t *  func) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 7881 of file TCling.cxx.

◆ CallFunc_SetArg() [1/6]

void TCling::CallFunc_SetArg ( CallFunc_t *  func,
Double_t  param 
) const
finalvirtual

Implements TInterpreter.

Definition at line 7913 of file TCling.cxx.

◆ CallFunc_SetArg() [2/6]

void TCling::CallFunc_SetArg ( CallFunc_t *  func,
Float_t  param 
) const
finalvirtual

Implements TInterpreter.

Definition at line 7905 of file TCling.cxx.

◆ CallFunc_SetArg() [3/6]

void TCling::CallFunc_SetArg ( CallFunc_t *  func,
Long64_t  param 
) const
finalvirtual

Implements TInterpreter.

Definition at line 7921 of file TCling.cxx.

◆ CallFunc_SetArg() [4/6]

void TCling::CallFunc_SetArg ( CallFunc_t *  func,
Long_t  param 
) const
finalvirtual

Implements TInterpreter.

Definition at line 7889 of file TCling.cxx.

◆ CallFunc_SetArg() [5/6]

void TCling::CallFunc_SetArg ( CallFunc_t *  func,
ULong64_t  param 
) const
finalvirtual

Implements TInterpreter.

Definition at line 7929 of file TCling.cxx.

◆ CallFunc_SetArg() [6/6]

void TCling::CallFunc_SetArg ( CallFunc_t *  func,
ULong_t  param 
) const
finalvirtual

Implements TInterpreter.

Definition at line 7897 of file TCling.cxx.

◆ CallFunc_SetArgArray()

void TCling::CallFunc_SetArgArray ( CallFunc_t *  func,
Longptr_t paramArr,
Int_t  nparam 
) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 7937 of file TCling.cxx.

◆ CallFunc_SetArgs()

void TCling::CallFunc_SetArgs ( CallFunc_t *  func,
const char *  param 
) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 7945 of file TCling.cxx.

◆ CallFunc_SetFunc() [1/3]

void TCling::CallFunc_SetFunc ( CallFunc_t *  func,
ClassInfo_t *  info,
const char *  method,
const char *  params,
bool  objectIsConst,
Longptr_t Offset 
) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 7962 of file TCling.cxx.

◆ CallFunc_SetFunc() [2/3]

void TCling::CallFunc_SetFunc ( CallFunc_t *  func,
ClassInfo_t *  info,
const char *  method,
const char *  params,
Longptr_t Offset 
) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 7953 of file TCling.cxx.

◆ CallFunc_SetFunc() [3/3]

void TCling::CallFunc_SetFunc ( CallFunc_t *  func,
MethodInfo_t *  info 
) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 7970 of file TCling.cxx.

◆ CallFunc_SetFuncProto() [1/4]

void TCling::CallFunc_SetFuncProto ( CallFunc_t *  func,
ClassInfo_t *  info,
const char *  method,
const char *  proto,
bool  objectIsConst,
Longptr_t Offset,
ROOT::EFunctionMatchMode  mode = ROOT::kConversionMatch 
) const
finalvirtual

Interface to cling function.

Reimplemented from TInterpreter.

Definition at line 7990 of file TCling.cxx.

◆ CallFunc_SetFuncProto() [2/4]

void TCling::CallFunc_SetFuncProto ( CallFunc_t *  func,
ClassInfo_t *  info,
const char *  method,
const char *  proto,
Longptr_t Offset,
ROOT::EFunctionMatchMode  mode = ROOT::kConversionMatch 
) const
finalvirtual

Interface to cling function.

Reimplemented from TInterpreter.

Definition at line 7980 of file TCling.cxx.

◆ CallFunc_SetFuncProto() [3/4]

void TCling::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
finalvirtual

Interface to cling function.

Implements TInterpreter.

Definition at line 8015 of file TCling.cxx.

◆ CallFunc_SetFuncProto() [4/4]

void TCling::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
finalvirtual

Interface to cling function.

Implements TInterpreter.

Definition at line 8000 of file TCling.cxx.

◆ CheckClassInfo()

TInterpreter::ECheckClassInfo TCling::CheckClassInfo ( const char *  name,
Bool_t  autoload,
Bool_t  isClassOrNamespaceOnly = kFALSE 
)
finalvirtual

Checks if an entity with the specified name is defined in Cling.

Returns kUnknown if the entity is not defined. Returns kWithClassDefInline if the entity exists and has a ClassDefInline Returns kKnown if the entity is defined.

By default, structs, namespaces, classes, enums and unions are looked for. If the flag isClassOrNamespaceOnly is true, classes, structs and namespaces only are considered. I.e. if the name is an enum or a union, the returned value is false.

In the case where the class is not loaded and belongs to a namespace or is nested, looking for the full class name is outputting a lots of (expected) error messages. Currently the only way to avoid this is to specifically check that each level of nesting is already loaded. In case of templates the idea is that everything between the outer '<' and '>' has to be skipped, e.g.: aap<pippo<noot>::klaas>::a_class

Implements TInterpreter.

Definition at line 4110 of file TCling.cxx.

◆ CheckClassTemplate()

Bool_t TCling::CheckClassTemplate ( const char *  name)
finalvirtual

Return true if there is a class template by the given name ...

Implements TInterpreter.

Definition at line 4282 of file TCling.cxx.

◆ ClassInfo_ClassProperty()

Long_t TCling::ClassInfo_ClassProperty ( ClassInfo_t *  info) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8091 of file TCling.cxx.

◆ ClassInfo_Contains()

Bool_t TCling::ClassInfo_Contains ( ClassInfo_t *  info,
DeclId_t  declid 
) const
finalvirtual

Return true if the entity pointed to by 'declid' is declared in the context described by 'info'.

If info is null, look into the global scope (translation unit scope).

Implements TInterpreter.

Definition at line 8046 of file TCling.cxx.

◆ ClassInfo_Delete() [1/2]

void TCling::ClassInfo_Delete ( ClassInfo_t *  info) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8099 of file TCling.cxx.

◆ ClassInfo_Delete() [2/2]

void TCling::ClassInfo_Delete ( ClassInfo_t *  info,
void *  arena 
) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8106 of file TCling.cxx.

◆ ClassInfo_DeleteArray()

void TCling::ClassInfo_DeleteArray ( ClassInfo_t *  info,
void *  arena,
bool  dtorOnly 
) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8114 of file TCling.cxx.

◆ ClassInfo_Destruct()

void TCling::ClassInfo_Destruct ( ClassInfo_t *  info,
void *  arena 
) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8122 of file TCling.cxx.

◆ ClassInfo_Factory() [1/4]

ClassInfo_t * TCling::ClassInfo_Factory ( Bool_t  all = kTRUE) const
finalvirtual

Implements TInterpreter.

Definition at line 8130 of file TCling.cxx.

◆ ClassInfo_Factory() [2/4]

ClassInfo_t * TCling::ClassInfo_Factory ( ClassInfo_t *  cl) const
finalvirtual

Implements TInterpreter.

Definition at line 8138 of file TCling.cxx.

◆ ClassInfo_Factory() [3/4]

ClassInfo_t * TCling::ClassInfo_Factory ( const char *  name) const
finalvirtual

Implements TInterpreter.

Definition at line 8145 of file TCling.cxx.

◆ ClassInfo_Factory() [4/4]

ClassInfo_t * TCling::ClassInfo_Factory ( DeclId_t  declid) const
finalvirtual

Implements TInterpreter.

Definition at line 8151 of file TCling.cxx.

◆ ClassInfo_FileName()

const char * TCling::ClassInfo_FileName ( ClassInfo_t *  info) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8331 of file TCling.cxx.

◆ ClassInfo_FullName()

const char * TCling::ClassInfo_FullName ( ClassInfo_t *  info) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8339 of file TCling.cxx.

◆ ClassInfo_GetBaseOffset()

Longptr_t TCling::ClassInfo_GetBaseOffset ( ClassInfo_t *  fromDerived,
ClassInfo_t *  toBase,
void *  address,
bool  isDerivedObject 
) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8431 of file TCling.cxx.

◆ ClassInfo_GetMethodNArg()

int TCling::ClassInfo_GetMethodNArg ( ClassInfo_t *  info,
const char *  method,
const char *  proto,
Bool_t  objectIsConst = false,
ROOT::EFunctionMatchMode  mode = ROOT::kConversionMatch 
) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8160 of file TCling.cxx.

◆ ClassInfo_GetUnderlyingType()

EDataType TCling::ClassInfo_GetUnderlyingType ( ClassInfo_t *  info) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8226 of file TCling.cxx.

◆ ClassInfo_HasDefaultConstructor()

bool TCling::ClassInfo_HasDefaultConstructor ( ClassInfo_t *  info,
Bool_t  testio = kFALSE 
) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8168 of file TCling.cxx.

◆ ClassInfo_HasMethod()

bool TCling::ClassInfo_HasMethod ( ClassInfo_t *  info,
const char *  name 
) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8176 of file TCling.cxx.

◆ ClassInfo_Init() [1/2]

void TCling::ClassInfo_Init ( ClassInfo_t *  info,
const char *  funcname 
) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8184 of file TCling.cxx.

◆ ClassInfo_Init() [2/2]

void TCling::ClassInfo_Init ( ClassInfo_t *  info,
int  tagnum 
) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8193 of file TCling.cxx.

◆ ClassInfo_IsBase()

bool TCling::ClassInfo_IsBase ( ClassInfo_t *  info,
const char *  name 
) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8202 of file TCling.cxx.

◆ ClassInfo_IsEnum()

bool TCling::ClassInfo_IsEnum ( const char *  name) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8210 of file TCling.cxx.

◆ ClassInfo_IsLoaded()

bool TCling::ClassInfo_IsLoaded ( ClassInfo_t *  info) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8235 of file TCling.cxx.

◆ ClassInfo_IsScopedEnum()

Bool_t TCling::ClassInfo_IsScopedEnum ( ClassInfo_t *  info) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8217 of file TCling.cxx.

◆ ClassInfo_IsValid()

bool TCling::ClassInfo_IsValid ( ClassInfo_t *  info) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8243 of file TCling.cxx.

◆ ClassInfo_IsValidMethod() [1/2]

bool TCling::ClassInfo_IsValidMethod ( ClassInfo_t *  info,
const char *  method,
const char *  proto,
Bool_t  objectIsConst,
Longptr_t offset,
ROOT::EFunctionMatchMode  mode = ROOT::kConversionMatch 
) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8259 of file TCling.cxx.

◆ ClassInfo_IsValidMethod() [2/2]

bool TCling::ClassInfo_IsValidMethod ( ClassInfo_t *  info,
const char *  method,
const char *  proto,
Longptr_t offset,
ROOT::EFunctionMatchMode  mode = ROOT::kConversionMatch 
) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8251 of file TCling.cxx.

◆ ClassInfo_Name()

const char * TCling::ClassInfo_Name ( ClassInfo_t *  info) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8349 of file TCling.cxx.

◆ ClassInfo_New() [1/4]

void * TCling::ClassInfo_New ( ClassInfo_t *  info) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8275 of file TCling.cxx.

◆ ClassInfo_New() [2/4]

void * TCling::ClassInfo_New ( ClassInfo_t *  info,
int  n 
) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8283 of file TCling.cxx.

◆ ClassInfo_New() [3/4]

void * TCling::ClassInfo_New ( ClassInfo_t *  info,
int  n,
void *  arena 
) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8291 of file TCling.cxx.

◆ ClassInfo_New() [4/4]

void * TCling::ClassInfo_New ( ClassInfo_t *  info,
void *  arena 
) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8299 of file TCling.cxx.

◆ ClassInfo_Next()

int TCling::ClassInfo_Next ( ClassInfo_t *  info) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8267 of file TCling.cxx.

◆ ClassInfo_Property()

Long_t TCling::ClassInfo_Property ( ClassInfo_t *  info) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8307 of file TCling.cxx.

◆ ClassInfo_Size()

int TCling::ClassInfo_Size ( ClassInfo_t *  info) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8315 of file TCling.cxx.

◆ ClassInfo_Tagnum()

Longptr_t TCling::ClassInfo_Tagnum ( ClassInfo_t *  info) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8323 of file TCling.cxx.

◆ ClassInfo_Title()

const char * TCling::ClassInfo_Title ( ClassInfo_t *  info) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8357 of file TCling.cxx.

◆ ClassInfo_TmpltName()

const char * TCling::ClassInfo_TmpltName ( ClassInfo_t *  info) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8365 of file TCling.cxx.

◆ ClearFileBusy()

void TCling::ClearFileBusy ( )
finalvirtual

Reset the interpreter internal state in case a previous action was not correctly terminated.

Implements TInterpreter.

Definition at line 3051 of file TCling.cxx.

◆ ClearStack()

void TCling::ClearStack ( )
finalvirtual

Delete existing temporary values.

Implements TInterpreter.

Definition at line 3059 of file TCling.cxx.

◆ CodeComplete()

void TCling::CodeComplete ( const std::string &  line,
size_t &  cursor,
std::vector< std::string > &  completions 
)
finalvirtual

The call to Cling's tab complition.

Reimplemented from TInterpreter.

Definition at line 7585 of file TCling.cxx.

◆ CreateEnum()

TEnum * TCling::CreateEnum ( void *  VD,
TClass cl 
) const
finalvirtual

Implements TInterpreter.

Definition at line 459 of file TCling.cxx.

◆ CreateListOfBaseClasses()

void TCling::CreateListOfBaseClasses ( TClass cl) const
finalvirtual

Create list of pointers to base class(es) for TClass cl.

Implements TInterpreter.

Definition at line 4302 of file TCling.cxx.

◆ CreateListOfDataMembers()

void TCling::CreateListOfDataMembers ( TClass cl) const
finalvirtual

Create list of pointers to data members for TClass cl.

This is now a nop. The creation and updating is handled in TListOfDataMembers.

Implements TInterpreter.

Definition at line 4420 of file TCling.cxx.

◆ CreateListOfMethodArgs()

void TCling::CreateListOfMethodArgs ( TFunction m) const
finalvirtual

Create list of pointers to method arguments for TMethod m.

Implements TInterpreter.

Definition at line 4454 of file TCling.cxx.

◆ CreateListOfMethods()

void TCling::CreateListOfMethods ( TClass cl) const
finalvirtual

Create list of pointers to methods for TClass cl.

This is now a nop. The creation and updating is handled in TListOfFunctions.

Implements TInterpreter.

Definition at line 4429 of file TCling.cxx.

◆ DataMemberInfo_ArrayDim()

int TCling::DataMemberInfo_ArrayDim ( DataMemberInfo_t *  dminfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8499 of file TCling.cxx.

◆ DataMemberInfo_Delete()

void TCling::DataMemberInfo_Delete ( DataMemberInfo_t *  dminfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8507 of file TCling.cxx.

◆ DataMemberInfo_Factory() [1/2]

DataMemberInfo_t * TCling::DataMemberInfo_Factory ( ClassInfo_t *  clinfo,
TDictionary::EMemberSelection  selection 
) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8514 of file TCling.cxx.

◆ DataMemberInfo_Factory() [2/2]

DataMemberInfo_t * TCling::DataMemberInfo_Factory ( DeclId_t  declid,
ClassInfo_t *  clinfo 
) const
finalvirtual

Implements TInterpreter.

Definition at line 8523 of file TCling.cxx.

◆ DataMemberInfo_FactoryCopy()

DataMemberInfo_t * TCling::DataMemberInfo_FactoryCopy ( DataMemberInfo_t *  dminfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8533 of file TCling.cxx.

◆ DataMemberInfo_IsValid()

bool TCling::DataMemberInfo_IsValid ( DataMemberInfo_t *  dminfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8541 of file TCling.cxx.

◆ DataMemberInfo_MaxIndex()

int TCling::DataMemberInfo_MaxIndex ( DataMemberInfo_t *  dminfo,
Int_t  dim 
) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8549 of file TCling.cxx.

◆ DataMemberInfo_Name()

const char * TCling::DataMemberInfo_Name ( DataMemberInfo_t *  dminfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8613 of file TCling.cxx.

◆ DataMemberInfo_Next()

int TCling::DataMemberInfo_Next ( DataMemberInfo_t *  dminfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8557 of file TCling.cxx.

◆ DataMemberInfo_Offset()

Longptr_t TCling::DataMemberInfo_Offset ( DataMemberInfo_t *  dminfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8565 of file TCling.cxx.

◆ DataMemberInfo_Property()

Long_t TCling::DataMemberInfo_Property ( DataMemberInfo_t *  dminfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8573 of file TCling.cxx.

◆ DataMemberInfo_Title()

const char * TCling::DataMemberInfo_Title ( DataMemberInfo_t *  dminfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8621 of file TCling.cxx.

◆ DataMemberInfo_TypeName()

const char * TCling::DataMemberInfo_TypeName ( DataMemberInfo_t *  dminfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8597 of file TCling.cxx.

◆ DataMemberInfo_TypeProperty()

Long_t TCling::DataMemberInfo_TypeProperty ( DataMemberInfo_t *  dminfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8581 of file TCling.cxx.

◆ DataMemberInfo_TypeSize()

int TCling::DataMemberInfo_TypeSize ( DataMemberInfo_t *  dminfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8589 of file TCling.cxx.

◆ DataMemberInfo_TypeTrueName()

const char * TCling::DataMemberInfo_TypeTrueName ( DataMemberInfo_t *  dminfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8605 of file TCling.cxx.

◆ DataMemberInfo_ValidArrayIndex()

const char * TCling::DataMemberInfo_ValidArrayIndex ( DataMemberInfo_t *  dminfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8629 of file TCling.cxx.

◆ Declare()

bool TCling::Declare ( const char *  code)
finalvirtual

Declare code to the interpreter, without any of the interpreter actions that could trigger a re-interpretation of the code.

I.e. make cling behave like a compiler: no dynamic lookup, no input wrapping for subsequent execution, no automatic provision of declarations but just a plain #include. Returns true on success, false on failure.

Implements TInterpreter.

Definition at line 3072 of file TCling.cxx.

◆ DeepAutoLoadImpl()

Int_t TCling::DeepAutoLoadImpl ( const char *  cls,
std::unordered_set< std::string > &  visited,
bool  nameIsNormalized 
)
staticprivate

Definition at line 6133 of file TCling.cxx.

◆ DeleteGlobal()

Int_t TCling::DeleteGlobal ( void *  obj)
finalvirtual

Delete obj from Cling symbol table so it cannot be accessed anymore.

Returns 1 in case of success and 0 in case object was not in table.

Implements TInterpreter.

Definition at line 3746 of file TCling.cxx.

◆ DeleteVariable()

Int_t TCling::DeleteVariable ( const char *  name)
finalvirtual

Undeclare obj called name.

Returns 1 in case of success, 0 for failure.

Implements TInterpreter.

Definition at line 3761 of file TCling.cxx.

◆ DiagnoseIfInterpreterException()

bool TCling::DiagnoseIfInterpreterException ( const std::exception &  e) const
finalvirtual

Implements TInterpreter.

Definition at line 2461 of file TCling.cxx.

◆ DisplayClass()

int TCling::DisplayClass ( FILE *  fout,
const char *  name,
int  base,
int  start 
) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 7330 of file TCling.cxx.

◆ DisplayIncludePath()

int TCling::DisplayIncludePath ( FILE *  fout) const
finalvirtual

Interface to cling function.

Reimplemented from TInterpreter.

Definition at line 7339 of file TCling.cxx.

◆ EndOfLineAction()

void TCling::EndOfLineAction ( )
finalvirtual

It calls a "fantom" method to synchronize user keyboard input and ROOT prompt line.

Implements TInterpreter.

Definition at line 3095 of file TCling.cxx.

◆ Evaluate()

int TCling::Evaluate ( const char *  code,
TInterpreterValue value 
)
finalvirtual

Get the interpreter value corresponding to the statement.

Reimplemented from TInterpreter.

Definition at line 7593 of file TCling.cxx.

◆ Execute() [1/5]

void TCling::Execute ( const char *  function,
const char *  params,
int error = nullptr 
)
finalvirtual

Execute a global function with arguments params.

FIXME: The cint-based version of this code does not check if the SetFunc() call works, and does not do any real checking for errors from the Exec() call. It did fetch the most recent cint security error and return that in error, but this does not really translate well to cling/clang. We should enhance these interfaces so that we can report compilation and runtime errors properly.

Implements TInterpreter.

Definition at line 5166 of file TCling.cxx.

◆ Execute() [2/5]

void TCling::Execute ( TMethod method,
TObjArray params,
int error = nullptr 
)
inlinefinalprivatevirtual

Execute method on this object with parameters stored in the TObjArray.

The TObjArray should contain an argv vector like:

argv[0] ... argv[n] = the list of TObjString parameters
Collectable string class.
Definition: TObjString.h:28
const Int_t n
Definition: legend1.C:16

Implements TInterpreter.

Definition at line 615 of file TCling.h.

◆ Execute() [3/5]

void TCling::Execute ( TObject obj,
TClass cl,
const char *  method,
const char *  params,
Bool_t  objectIsConst,
int error = nullptr 
)

Execute a method from class cl with arguments params.

FIXME: The cint-based version of this code does not check if the SetFunc() call works, and does not do any real checking for errors from the Exec() call. It did fetch the most recent cint security error and return that in error, but this does not really translate well to cling/clang. We should enhance these interfaces so that we can report compilation and runtime errors properly.

Definition at line 5190 of file TCling.cxx.

◆ Execute() [4/5]

void TCling::Execute ( TObject obj,
TClass cl,
const char *  method,
const char *  params,
int error = nullptr 
)
finalvirtual

Implements TInterpreter.

Definition at line 5210 of file TCling.cxx.

◆ Execute() [5/5]

void TCling::Execute ( TObject obj,
TClass cl,
TMethod method,
TObjArray params,
int error = nullptr 
)
finalvirtual

Execute a method from class cl with the arguments in array params (params[0] ... params[n] = array of TObjString parameters).

Convert the TObjArray array of TObjString parameters to a character string of comma separated parameters. The parameters of type 'char' are enclosed in double quotes and all internal quotes are escaped.

Implements TInterpreter.

Definition at line 5224 of file TCling.cxx.

◆ ExecuteMacro()

Longptr_t TCling::ExecuteMacro ( const char *  filename,
EErrorCode error = nullptr 
)
finalvirtual

Execute a cling macro.

Implements TInterpreter.

Definition at line 5336 of file TCling.cxx.

◆ ExecuteWithArgsAndReturn()

void TCling::ExecuteWithArgsAndReturn ( TMethod method,
void *  address,
const void *  args[] = nullptr,
int  nargs = 0,
void *  ret = nullptr 
) const
finalvirtual

Implements TInterpreter.

Definition at line 5318 of file TCling.cxx.

◆ FindSym()

void * TCling::FindSym ( const char *  entry) const
finalvirtual

Interface to cling function.

Reimplemented from TInterpreter.

Definition at line 7368 of file TCling.cxx.

◆ ForgetMutexState()

void TCling::ForgetMutexState ( )
finalvirtual

Implements TInterpreter.

Definition at line 9441 of file TCling.cxx.

◆ FuncTempInfo_Delete()

void TCling::FuncTempInfo_Delete ( FuncTempInfo_t *  ) const
finalvirtual

Delete the FuncTempInfo_t.

Implements TInterpreter.

Definition at line 8722 of file TCling.cxx.

◆ FuncTempInfo_ExtraProperty()

Long_t TCling::FuncTempInfo_ExtraProperty ( FuncTempInfo_t *  ft_info) const
finalvirtual

Return the property not already defined in Property See TDictionary's EFunctionProperty.

Implements TInterpreter.

Definition at line 8846 of file TCling.cxx.

◆ FuncTempInfo_Factory()

FuncTempInfo_t * TCling::FuncTempInfo_Factory ( DeclId_t  declid) const
finalvirtual

Construct a FuncTempInfo_t.

Implements TInterpreter.

Definition at line 8731 of file TCling.cxx.

◆ FuncTempInfo_FactoryCopy()

FuncTempInfo_t * TCling::FuncTempInfo_FactoryCopy ( FuncTempInfo_t *  ft_info) const
finalvirtual

Construct a FuncTempInfo_t.

Implements TInterpreter.

Definition at line 8742 of file TCling.cxx.

◆ FuncTempInfo_IsValid()

Bool_t TCling::FuncTempInfo_IsValid ( FuncTempInfo_t *  t_info) const
finalvirtual

Check validity of a FuncTempInfo_t.

Implements TInterpreter.

Definition at line 8753 of file TCling.cxx.

◆ FuncTempInfo_Name()

void TCling::FuncTempInfo_Name ( FuncTempInfo_t *  ft_info,
TString name 
) const
finalvirtual

Return the name of this function template.

Implements TInterpreter.

Definition at line 8872 of file TCling.cxx.

◆ FuncTempInfo_Property()

Long_t TCling::FuncTempInfo_Property ( FuncTempInfo_t *  ft_info) const
finalvirtual

Return the property of the function template.

Implements TInterpreter.

Definition at line 8786 of file TCling.cxx.

◆ FuncTempInfo_TemplateMinReqArgs()

UInt_t TCling::FuncTempInfo_TemplateMinReqArgs ( FuncTempInfo_t *  ft_info) const
finalvirtual

Return the number of required template arguments of the function template described by ft_info.

Implements TInterpreter.

Definition at line 8776 of file TCling.cxx.

◆ FuncTempInfo_TemplateNargs()

UInt_t TCling::FuncTempInfo_TemplateNargs ( FuncTempInfo_t *  ft_info) const
finalvirtual

Return the maximum number of template arguments of the function template described by ft_info.

Implements TInterpreter.

Definition at line 8765 of file TCling.cxx.

◆ FuncTempInfo_Title()

void TCling::FuncTempInfo_Title ( FuncTempInfo_t *  ft_info,
TString name 
) const
finalvirtual

Return the comments associates with this function template.

Implements TInterpreter.

Definition at line 8885 of file TCling.cxx.

◆ GenerateDictionary()

Int_t TCling::GenerateDictionary ( const char *  classes,
const char *  includes = "",
const char *  options = nullptr 
)
finalvirtual

Generate the dictionary for the C++ classes listed in the first argument (in a semi-colon separated list).

'includes' contains a semi-colon separated list of file to #include in the dictionary. For example:

gInterpreter->GenerateDictionary("vector<vector<float> >;list<vector<float> >","list;vector");
#define gInterpreter
Definition: TInterpreter.h:564

or

gInterpreter->GenerateDictionary("myclass","myclass.h;myhelper.h");

Implements TInterpreter.

Definition at line 4657 of file TCling.cxx.

◆ GenerateTClass() [1/2]

TClass * TCling::GenerateTClass ( ClassInfo_t *  classinfo,
Bool_t  silent = kFALSE 
)
finalvirtual

Generate a TClass for the given class.

Implements TInterpreter.

Definition at line 4599 of file TCling.cxx.

◆ GenerateTClass() [2/2]

TClass * TCling::GenerateTClass ( const char *  classname,
Bool_t  emulation,
Bool_t  silent = kFALSE 
)
finalvirtual

Generate a TClass for the given class.

Since the caller has already check the ClassInfo, let it give use the result (via the value of emulation) rather than recalculate it.

Implements TInterpreter.

Definition at line 4485 of file TCling.cxx.

◆ GenericError()

void TCling::GenericError ( const char *  error) const
finalvirtual

Let the interpreter issue a generic error, and set its error state.

Reimplemented from TInterpreter.

Definition at line 7376 of file TCling.cxx.

◆ GetAutoLoadCallBack()

void * TCling::GetAutoLoadCallBack ( ) const
inlinefinalvirtual

Reimplemented from TInterpreter.

Definition at line 199 of file TCling.h.

◆ GetClass()

TClass * TCling::GetClass ( const std::type_info &  typeinfo,
Bool_t  load 
) const
finalvirtual

Demangle the name (from the typeinfo) and then request the class via the usual name based interface (TClass::GetClass).

Implements TInterpreter.

Definition at line 6039 of file TCling.cxx.

◆ GetClassSharedLibs()

const char * TCling::GetClassSharedLibs ( const char *  cls)
finalvirtual

Get the list of shared libraries containing the code for class cls.

The first library in the list is the one containing the class, the others are the libraries the first one depends on. Returns 0 in case the library is not found.

Implements TInterpreter.

Definition at line 7022 of file TCling.cxx.

◆ GetCurrentMacroName()

const char * TCling::GetCurrentMacroName ( ) const
finalvirtual

Return the file name of the currently interpreted file, included or not.

Example to illustrate the difference between GetCurrentMacroName() and GetTopLevelMacroName():

void inclfile() {
std::cout << "In inclfile.C" << std::endl;
std::cout << " TCling::GetCurrentMacroName() returns " <<
std::cout << " TCling::GetTopLevelMacroName() returns " <<
}
const char * GetCurrentMacroName() const final
Return the file name of the currently interpreted file, included or not.
Definition: TCling.cxx:5396
const char * GetTopLevelMacroName() const final
Return the file name of the current un-included interpreted file.
Definition: TCling.cxx:5349
void mymacro() {
std::cout << "In mymacro.C" << std::endl;
std::cout << " TCling::GetCurrentMacroName() returns " <<
std::cout << " TCling::GetTopLevelMacroName() returns " <<
std::cout << " Now calling inclfile..." << std::endl;
gInterpreter->ProcessLine(".x inclfile.C");;
}

Running mymacro.C will print:

root [0] .x mymacro.C

In mymacro.C

TCling::GetCurrentMacroName() returns ./mymacro.C
TCling::GetTopLevelMacroName() returns ./mymacro.C
This class defines an interface to the cling C++ interpreter.
Definition: TCling.h:102
static double C[]

Now calling inclfile... In inclfile.h

TCling::GetCurrentMacroName() returns inclfile.C
TCling::GetTopLevelMacroName() returns ./mymacro.C

Reimplemented from TInterpreter.

Definition at line 5396 of file TCling.cxx.

◆ GetDataMember()

TInterpreter::DeclId_t TCling::GetDataMember ( ClassInfo_t *  cl,
const char *  name 
) const
finalvirtual

Return pointer to cling Decl of global/static variable that is located at the address given by addr.

Implements TInterpreter.

Definition at line 4705 of file TCling.cxx.

◆ GetDataMemberAtAddr()

TInterpreter::DeclId_t TCling::GetDataMemberAtAddr ( const void *  addr) const
finalvirtual

Return pointer to cling DeclId for a data member with a given name.

Implements TInterpreter.

Definition at line 4883 of file TCling.cxx.

◆ GetDataMemberWithValue()

TInterpreter::DeclId_t TCling::GetDataMemberWithValue ( const void *  ptrvalue) const
finalvirtual

NOT IMPLEMENTED.

Implements TInterpreter.

Definition at line 4874 of file TCling.cxx.

◆ GetDeclId() [1/7]

TInterpreter::DeclId_t TCling::GetDeclId ( CallFunc_t *  info) const
finalvirtual

Return a unique identifier of the declaration represented by the CallFunc.

Implements TInterpreter.

Definition at line 7703 of file TCling.cxx.

◆ GetDeclId() [2/7]

TInterpreter::DeclId_t TCling::GetDeclId ( ClassInfo_t *  cinfo) const
finalvirtual

Return a (almost) unique identifier of the declaration represented by the ClassInfo.

In ROOT, this identifier can point to more than one TClass when the underlying class is a template instance involving one of the opaque typedef.

Implements TInterpreter.

Definition at line 7715 of file TCling.cxx.

◆ GetDeclId() [3/7]

TInterpreter::DeclId_t TCling::GetDeclId ( const llvm::GlobalValue *  gv) const
private

Return pointer to cling DeclId for a global value.

Definition at line 4805 of file TCling.cxx.

◆ GetDeclId() [4/7]

TInterpreter::DeclId_t TCling::GetDeclId ( DataMemberInfo_t *  info) const
finalvirtual

Return a unique identifier of the declaration represented by the MethodInfo.

Implements TInterpreter.

Definition at line 7725 of file TCling.cxx.

◆ GetDeclId() [5/7]

TInterpreter::DeclId_t TCling::GetDeclId ( FuncTempInfo_t *  info) const
finalvirtual

Return a unique identifier of the declaration represented by the FuncTempInfo.

Implements TInterpreter.

Definition at line 8714 of file TCling.cxx.

◆ GetDeclId() [6/7]

TInterpreter::DeclId_t TCling::GetDeclId ( MethodInfo_t *  info) const
finalvirtual

Return a unique identifier of the declaration represented by the MethodInfo.

Implements TInterpreter.

Definition at line 7735 of file TCling.cxx.

◆ GetDeclId() [7/7]

TInterpreter::DeclId_t TCling::GetDeclId ( TypedefInfo_t *  info) const
finalvirtual

Return a unique identifier of the declaration represented by the TypedefInfo.

Implements TInterpreter.

Definition at line 7745 of file TCling.cxx.

◆ GetEnum()

TInterpreter::DeclId_t TCling::GetEnum ( TClass cl,
const char *  name 
) const
finalvirtual

Return pointer to cling Decl of global/static variable that is located at the address given by addr.

Implements TInterpreter.

Definition at line 4765 of file TCling.cxx.

◆ GetExecByteCode()

Long_t TCling::GetExecByteCode ( ) const
finalvirtual

This routines used to return the address of the internal wrapper function (of the interpreter) that was used to call all the interpreted functions that were bytecode compiled (no longer interpreted line by line).

In Cling, there is no such wrapper function. In practice this routines was use to decipher whether the pointer returns by InterfaceMethod could be used to uniquely represent the function. In Cling if the function is in a useable state (its compiled version is available), this is always the case. See TClass::GetMethod.

Reimplemented from TInterpreter.

Definition at line 7398 of file TCling.cxx.

◆ GetExitCode()

Int_t TCling::GetExitCode ( ) const
inlinefinalvirtual

Implements TInterpreter.

Definition at line 212 of file TCling.h.

◆ GetFunction()

TInterpreter::DeclId_t TCling::GetFunction ( ClassInfo_t *  cl,
const char *  funcname 
)
finalvirtual

Return pointer to cling interface function for a method of a class with a certain name.

Implements TInterpreter.

Definition at line 4962 of file TCling.cxx.

◆ GetFunctionName()

void TCling::GetFunctionName ( const clang::Decl *  decl,
std::string &  name 
) const
virtual

Definition at line 8677 of file TCling.cxx.

◆ GetFunctionOverloads()

void TCling::GetFunctionOverloads ( ClassInfo_t *  cl,
const char *  funcname,
std::vector< DeclId_t > &  res 
) const
finalvirtual

Insert overloads of name in cl to res.

Implements TInterpreter.

Definition at line 4981 of file TCling.cxx.

◆ GetFunctionTemplate()

TInterpreter::DeclId_t TCling::GetFunctionTemplate ( ClassInfo_t *  cl,
const char *  funcname 
)
finalvirtual

Return pointer to cling interface function for a method of a class with a certain name.

Implements TInterpreter.

Definition at line 5110 of file TCling.cxx.

◆ GetFunctionWithPrototype()

TInterpreter::DeclId_t TCling::GetFunctionWithPrototype ( ClassInfo_t *  opaque_cl,
const char *  method,
const char *  proto,
Bool_t  objectIsConst = kFALSE,
ROOT::EFunctionMatchMode  mode = ROOT::kConversionMatch 
)
finalvirtual

Return pointer to cling interface function for a method of a class with a certain prototype, i.e.

"char*,int,float". If the class is 0 the global function list will be searched.

Implements TInterpreter.

Definition at line 5088 of file TCling.cxx.

◆ GetFunctionWithValues()

TInterpreter::DeclId_t TCling::GetFunctionWithValues ( ClassInfo_t *  opaque_cl,
const char *  method,
const char *  params,
Bool_t  objectIsConst = kFALSE 
)
finalvirtual

Return pointer to cling DeclId for a method of a class with a certain prototype, i.e.

"char*,int,float". If the class is 0 the global function list will be searched.

Implements TInterpreter.

Definition at line 5066 of file TCling.cxx.

◆ GetIncludePath()

const char * TCling::GetIncludePath ( )
finalvirtual

Refresh the list of include paths known to the interpreter and return it with -I prepended.

Implements TInterpreter.

Definition at line 7290 of file TCling.cxx.

◆ GetInterfaceMethod()

void * TCling::GetInterfaceMethod ( TClass cl,
const char *  method,
const char *  params,
Bool_t  objectIsConst = kFALSE 
)
finalvirtual

Return pointer to cling interface function for a method of a class with parameters params (params is a string of actual arguments, not formal ones).

If the class is 0 the global function list will be searched.

Implements TInterpreter.

Definition at line 4940 of file TCling.cxx.

◆ GetInterfaceMethodWithPrototype()

void * TCling::GetInterfaceMethodWithPrototype ( TClass cl,
const char *  method,
const char *  proto,
Bool_t  objectIsConst = kFALSE,
ROOT::EFunctionMatchMode  mode = ROOT::kConversionMatch 
)
finalvirtual

Return pointer to cling interface function for a method of a class with a certain prototype, i.e.

"char*,int,float". If the class is 0 the global function list will be searched.

Implements TInterpreter.

Definition at line 5043 of file TCling.cxx.

◆ GetInterpreterImpl()

cling::Interpreter * TCling::GetInterpreterImpl ( ) const
inlineprivate

Definition at line 631 of file TCling.h.

◆ GetInterpreterStateMarker()

unsigned long long TCling::GetInterpreterStateMarker ( ) const
inlinefinalvirtual

Implements TInterpreter.

Definition at line 225 of file TCling.h.

◆ GetInterpreterTypeName()

void TCling::GetInterpreterTypeName ( const char *  name,
std::string &  output,
Bool_t  full = kFALSE 
)
finalvirtual

The 'name' is known to the interpreter, this function returns the internal version of this name (usually just resolving typedefs) This is used in particular to synchronize between the name used by rootcling and by the run-time environment (TClass) Return 0 if the name is not known.

Implements TInterpreter.

Definition at line 5133 of file TCling.cxx.

◆ GetMangledName()

TString TCling::GetMangledName ( TClass cl,
const char *  method,
const char *  params,
Bool_t  objectIsConst = kFALSE 
)
finalvirtual

Return the cling mangled name for a method of a class with parameters params (params is a string of actual arguments, not formal ones).

If the class is 0 the global function list will be searched.

Implements TInterpreter.

Definition at line 4895 of file TCling.cxx.

◆ GetMangledNameWithPrototype()

TString TCling::GetMangledNameWithPrototype ( TClass cl,
const char *  method,
const char *  proto,
Bool_t  objectIsConst = kFALSE,
ROOT::EFunctionMatchMode  mode = ROOT::kConversionMatch 
)
finalvirtual

Return the cling mangled name for a method of a class with a certain prototype, i.e.

"char*,int,float". If the class is 0 the global function list will be searched.

Implements TInterpreter.

Definition at line 4922 of file TCling.cxx.

◆ GetMapfile()

TEnv * TCling::GetMapfile ( ) const
inlinefinalvirtual

Reimplemented from TInterpreter.

Definition at line 213 of file TCling.h.

◆ GetMetaProcessorImpl()

cling::MetaProcessor * TCling::GetMetaProcessorImpl ( ) const
inlineprivate

Definition at line 632 of file TCling.h.

◆ GetModTClasses()

std::set< TClass * > & TCling::GetModTClasses ( )
inline

Definition at line 566 of file TCling.h.

◆ GetMore()

Int_t TCling::GetMore ( ) const
finalvirtual

Return whether we are waiting for more input either because the collected input contains unbalanced braces or last seen token was a \ (backslash-newline)

Implements TInterpreter.

Definition at line 4475 of file TCling.cxx.

◆ GetNormalizedContext()

const ROOT::TMetaUtils::TNormalizedCtxt & TCling::GetNormalizedContext ( ) const
inline

Definition at line 366 of file TCling.h.

◆ GetObjectAddress()

TObject * TCling::GetObjectAddress ( const char *  Name,
void *&  LookupCtx 
)

If the interpreter encounters Name, check whether that is an object ROOT could retrieve.

To not re-read objects from disk, cache the name/object pair for a given LookupCtx.

Definition at line 7629 of file TCling.cxx.

◆ GetPrompt()

char * TCling::GetPrompt ( )
inlinefinalvirtual

Implements TInterpreter.

Definition at line 218 of file TCling.h.

◆ GetRootMapFiles()

TObjArray * TCling::GetRootMapFiles ( ) const
inlinefinalvirtual

Implements TInterpreter.

Definition at line 224 of file TCling.h.

◆ GetSecurityError()

int TCling::GetSecurityError ( ) const
finalvirtual

Interface to cling function.

Reimplemented from TInterpreter.

Definition at line 7406 of file TCling.cxx.

◆ GetSharedLibDeps()

const char * TCling::GetSharedLibDeps ( const char *  lib,
bool  useDyld = false 
)
finalvirtual

Get the list a libraries on which the specified lib depends.

The returned string contains as first element the lib itself. Returns 0 in case the lib does not exist or does not have any dependencies. If useDyld is true, we iterate through all available libraries and try to construct the dependency chain by resolving each symbol.

Implements TInterpreter.

Definition at line 7209 of file TCling.cxx.

◆ GetSharedLibs()

const char * TCling::GetSharedLibs ( )
finalvirtual

Return the list of shared libraries loaded into the process.

Implements TInterpreter.

Definition at line 6919 of file TCling.cxx.

◆ GetSTLIncludePath()

const char * TCling::GetSTLIncludePath ( ) const
finalvirtual

Return the directory containing CINT's stl cintdlls.

Reimplemented from TInterpreter.

Definition at line 7321 of file TCling.cxx.

◆ GetTopLevelMacroName()

const char * TCling::GetTopLevelMacroName ( ) const
finalvirtual

Return the file name of the current un-included interpreted file.

See the documentation for GetCurrentMacroName().

Reimplemented from TInterpreter.

Definition at line 5349 of file TCling.cxx.

◆ GetUsingNamespaces()

std::vector< std::string > TCling::GetUsingNamespaces ( ClassInfo_t *  cl) const
finalvirtual

Get the scopes representing using declarations of namespace.

Implements TInterpreter.

Definition at line 4409 of file TCling.cxx.

◆ HandleNewDecl()

void TCling::HandleNewDecl ( const void *  DV,
bool  isDeserialized,
std::set< TClass * > &  modifiedClasses 
)

Definition at line 486 of file TCling.cxx.

◆ HandleNewTransaction()

Bool_t TCling::HandleNewTransaction ( const cling::Transaction &  T)
private

Helper function to increase the internal Cling count of transactions that change the AST.

Definition at line 3628 of file TCling.cxx.

◆ HasPCMForLibrary()

Bool_t TCling::HasPCMForLibrary ( const char *  libname) const
finalvirtual

Return true if ROOT has cxxmodules pcm for a given library name.

Implements TInterpreter.

Definition at line 3121 of file TCling.cxx.

◆ Initialize()

void TCling::Initialize ( )
finalvirtual

Initialize the interpreter, once TROOT::fInterpreter is set.

Implements TInterpreter.

Definition at line 1661 of file TCling.cxx.

◆ InitRootmapFile()

void TCling::InitRootmapFile ( const char *  name)
private

Create a resource table and read the (possibly) three resource files, i.e.

$ROOTSYS/etc/system<name> (or ROOTETCDIR/system<name>), $HOME/<name> and $PWD/<name>. ROOT always reads ".rootrc" (in TROOT::InitSystem()). You can read additional user defined resource files by creating additional TEnv objects. By setting the shell variable ROOTENV_NO_HOME=1 the reading of the $HOME/<name> resource file will be skipped. This might be useful in case the home directory resides on an automounted remote file system and one wants to avoid the file system from being mounted.

Definition at line 5584 of file TCling.cxx.

◆ InspectMembers()

void TCling::InspectMembers ( TMemberInspector insp,
const void *  obj,
const TClass cl,
Bool_t  isTransient 
)
finalvirtual

Visit all members over members, recursing over base classes.

Implements TInterpreter.

Definition at line 2667 of file TCling.cxx.

◆ InvalidateCachedDecl()

void TCling::InvalidateCachedDecl ( const std::tuple< TListOfDataMembers *, TListOfFunctions *, TListOfFunctionTemplates *, TListOfEnums * > &  Lists,
const clang::Decl *  D 
)
private

Invalidate cached TCling information for the given declaration, and removed it from the appropriate object list.

Parameters
[in]Lists- std::tuple<TListOfDataMembers&, TListOfFunctions&, TListOfFunctionTemplates&, TListOfEnums&> of pointers to the (global/class) object lists.
[in]D- Decl to discard.

Definition at line 6821 of file TCling.cxx.

◆ InvalidateGlobal()

void TCling::InvalidateGlobal ( const clang::Decl *  D)

Invalidate cached TCling information for the given global declaration.

Definition at line 6806 of file TCling.cxx.

◆ IsAutoLoadNamespaceCandidate()

Bool_t TCling::IsAutoLoadNamespaceCandidate ( const clang::NamespaceDecl *  nsDecl)

Definition at line 6560 of file TCling.cxx.

◆ IsAutoParsingSuspended()

Bool_t TCling::IsAutoParsingSuspended ( ) const
inlinefinalvirtual

Implements TInterpreter.

Definition at line 354 of file TCling.h.

◆ IsClassAutoLoadingEnabled()

bool TCling::IsClassAutoLoadingEnabled ( ) const
private

Returns if class AutoLoading is currently enabled.

Definition at line 7471 of file TCling.cxx.

◆ IsErrorMessagesEnabled()

Bool_t TCling::IsErrorMessagesEnabled ( ) const
finalvirtual

If error messages are disabled, the interpreter should suppress its failures and warning messages from stdout.

Implements TInterpreter.

Definition at line 7262 of file TCling.cxx.

◆ IsLibraryLoaded()

Bool_t TCling::IsLibraryLoaded ( const char *  libname) const
finalvirtual

Implements TInterpreter.

Definition at line 3112 of file TCling.cxx.

◆ IsLoaded()

Bool_t TCling::IsLoaded ( const char *  filename) const
finalvirtual

Return true if the file has already been loaded by cint.

We will try in this order: actual filename filename as a path relative to the include path the shared library path

Implements TInterpreter.

Definition at line 3146 of file TCling.cxx.

◆ IsProcessLineLocked()

Bool_t TCling::IsProcessLineLocked ( ) const
inlinefinalvirtual

Implements TInterpreter.

Definition at line 318 of file TCling.h.

◆ LazyFunctionCreatorAutoload()

void * TCling::LazyFunctionCreatorAutoload ( const std::string &  mangled_name)

Autoload a library based on a missing symbol.

Definition at line 6520 of file TCling.cxx.

◆ LibraryLoaded()

void TCling::LibraryLoaded ( const void *  dyLibHandle,
const char *  canonicalName 
)

Definition at line 6904 of file TCling.cxx.

◆ LibraryLoadingFailed()

bool TCling::LibraryLoadingFailed ( const std::string &  errmessage,
const std::string &  libStem,
bool  permanent,
bool  resolved 
)

Definition at line 6497 of file TCling.cxx.

◆ LibraryUnloaded()

void TCling::LibraryUnloaded ( const void *  dyLibHandle,
const char *  canonicalName 
)

Definition at line 6911 of file TCling.cxx.

◆ Load()

Int_t TCling::Load ( const char *  filename,
Bool_t  system = kFALSE 
)
finalvirtual

Load a library file in cling's memory.

if 'system' is true, the library is never unloaded. Return 0 on success, -1 on failure.

Implements TInterpreter.

Definition at line 3478 of file TCling.cxx.

◆ LoadEnums()

void TCling::LoadEnums ( TListOfEnums cl) const
finalvirtual

Create list of pointers to enums for TClass cl.

Implements TInterpreter.

Definition at line 4326 of file TCling.cxx.

◆ LoadFile()

int TCling::LoadFile ( const char *  path) const
finalvirtual

Load a source file or library called path into the interpreter.

Reimplemented from TInterpreter.

Definition at line 7419 of file TCling.cxx.

◆ LoadFunctionTemplates()

void TCling::LoadFunctionTemplates ( TClass cl) const
finalvirtual

Create list of pointers to function templates for TClass cl.

Implements TInterpreter.

Definition at line 4373 of file TCling.cxx.

◆ LoadLibraryMap()

Int_t TCling::LoadLibraryMap ( const char *  rootmapfile = nullptr)
finalvirtual

Load map between class and library.

If rootmapfile is specified a specific rootmap file can be added (typically used by ACLiC). In case of error -1 is returned, 0 otherwise. The interpreter uses this information to automatically load the shared library for a class (autoload mechanism), see the AutoLoad() methods below.

Implements TInterpreter.

Definition at line 5670 of file TCling.cxx.

◆ LoadMacro()

void TCling::LoadMacro ( const char *  filename,
EErrorCode error = nullptr 
)
finalvirtual

Load a macro file in cling's memory.

Implements TInterpreter.

Definition at line 3515 of file TCling.cxx.

◆ LoadPCM()

void TCling::LoadPCM ( std::string  pcmFileNameFullPath)
private

Tries to load a rdict PCM, issues diagnostics if it fails.

Definition at line 1836 of file TCling.cxx.

◆ LoadPCMImpl()

void TCling::LoadPCMImpl ( TFile pcmFile)
private

Tries to load a PCM from TFile; returns true on success.

Definition at line 1721 of file TCling.cxx.

◆ LoadText()

Bool_t TCling::LoadText ( const char *  text) const
finalvirtual

Load the declarations from text into the interpreter.

Note that this cannot be (top level) statements; text must contain top level declarations. Returns true on success, false on failure.

Reimplemented from TInterpreter.

Definition at line 7432 of file TCling.cxx.

◆ MakeInterpreterValue()

std::unique_ptr< TInterpreterValue > TCling::MakeInterpreterValue ( ) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 7578 of file TCling.cxx.

◆ MapCppName()

const char * TCling::MapCppName ( const char *  name) const
finalvirtual

Interface to cling function.

Reimplemented from TInterpreter.

Definition at line 7440 of file TCling.cxx.

◆ MethodArgInfo_DefaultValue()

const char * TCling::MethodArgInfo_DefaultValue ( MethodArgInfo_t *  marginfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 9200 of file TCling.cxx.

◆ MethodArgInfo_Delete()

void TCling::MethodArgInfo_Delete ( MethodArgInfo_t *  marginfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 9145 of file TCling.cxx.

◆ MethodArgInfo_Factory() [1/2]

MethodArgInfo_t * TCling::MethodArgInfo_Factory ( ) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 9152 of file TCling.cxx.

◆ MethodArgInfo_Factory() [2/2]

MethodArgInfo_t * TCling::MethodArgInfo_Factory ( MethodInfo_t *  minfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 9160 of file TCling.cxx.

◆ MethodArgInfo_FactoryCopy()

MethodArgInfo_t * TCling::MethodArgInfo_FactoryCopy ( MethodArgInfo_t *  marginfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 9168 of file TCling.cxx.

◆ MethodArgInfo_IsValid()

bool TCling::MethodArgInfo_IsValid ( MethodArgInfo_t *  marginfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 9176 of file TCling.cxx.

◆ MethodArgInfo_Name()

const char * TCling::MethodArgInfo_Name ( MethodArgInfo_t *  marginfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 9208 of file TCling.cxx.

◆ MethodArgInfo_Next()

int TCling::MethodArgInfo_Next ( MethodArgInfo_t *  marginfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 9184 of file TCling.cxx.

◆ MethodArgInfo_Property()

Long_t TCling::MethodArgInfo_Property ( MethodArgInfo_t *  marginfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 9192 of file TCling.cxx.

◆ MethodArgInfo_TypeName()

const char * TCling::MethodArgInfo_TypeName ( MethodArgInfo_t *  marginfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 9216 of file TCling.cxx.

◆ MethodArgInfo_TypeNormalizedName()

std::string TCling::MethodArgInfo_TypeNormalizedName ( MethodArgInfo_t *  marginfo) const
finalvirtual

Implements TInterpreter.

Definition at line 9224 of file TCling.cxx.

◆ MethodCallReturnType()

auto TCling::MethodCallReturnType ( TFunction func) const
finalvirtual

Implements TInterpreter.

Definition at line 9081 of file TCling.cxx.

◆ MethodInfo_CreateSignature()

void TCling::MethodInfo_CreateSignature ( MethodInfo_t *  minfo,
TString signature 
) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8924 of file TCling.cxx.

◆ MethodInfo_Delete()

void TCling::MethodInfo_Delete ( MethodInfo_t *  minfo) const
finalvirtual

Interface to cling function.

Reimplemented from TInterpreter.

Definition at line 8917 of file TCling.cxx.

◆ MethodInfo_ExtraProperty()

Long_t TCling::MethodInfo_ExtraProperty ( MethodInfo_t *  minfo) const
finalvirtual

Implements TInterpreter.

Definition at line 9012 of file TCling.cxx.

◆ MethodInfo_Factory() [1/3]

MethodInfo_t * TCling::MethodInfo_Factory ( ) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8932 of file TCling.cxx.

◆ MethodInfo_Factory() [2/3]

MethodInfo_t * TCling::MethodInfo_Factory ( ClassInfo_t *  clinfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8940 of file TCling.cxx.

◆ MethodInfo_Factory() [3/3]

MethodInfo_t * TCling::MethodInfo_Factory ( DeclId_t  declid) const
finalvirtual

Implements TInterpreter.

Definition at line 8948 of file TCling.cxx.

◆ MethodInfo_FactoryCopy()

MethodInfo_t * TCling::MethodInfo_FactoryCopy ( MethodInfo_t *  minfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8957 of file TCling.cxx.

◆ MethodInfo_GetMangledName()

const char * TCling::MethodInfo_GetMangledName ( MethodInfo_t *  minfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 9028 of file TCling.cxx.

◆ MethodInfo_GetPrototype()

const char * TCling::MethodInfo_GetPrototype ( MethodInfo_t *  minfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 9038 of file TCling.cxx.

◆ MethodInfo_InterfaceMethod()

void * TCling::MethodInfo_InterfaceMethod ( MethodInfo_t *  minfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8964 of file TCling.cxx.

◆ MethodInfo_IsValid()

bool TCling::MethodInfo_IsValid ( MethodInfo_t *  minfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8972 of file TCling.cxx.

◆ MethodInfo_MethodCallReturnType()

auto TCling::MethodInfo_MethodCallReturnType ( MethodInfo_t *  minfo) const
finalvirtual

Implements TInterpreter.

Definition at line 9092 of file TCling.cxx.

◆ MethodInfo_Name()

const char * TCling::MethodInfo_Name ( MethodInfo_t *  minfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 9046 of file TCling.cxx.

◆ MethodInfo_NArg()

int TCling::MethodInfo_NArg ( MethodInfo_t *  minfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8980 of file TCling.cxx.

◆ MethodInfo_NDefaultArg()

int TCling::MethodInfo_NDefaultArg ( MethodInfo_t *  minfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8988 of file TCling.cxx.

◆ MethodInfo_Next()

int TCling::MethodInfo_Next ( MethodInfo_t *  minfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 8996 of file TCling.cxx.

◆ MethodInfo_Property()

Long_t TCling::MethodInfo_Property ( MethodInfo_t *  minfo) const
finalvirtual

Implements TInterpreter.

Definition at line 9004 of file TCling.cxx.

◆ MethodInfo_Title()

const char * TCling::MethodInfo_Title ( MethodInfo_t *  minfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 9073 of file TCling.cxx.

◆ MethodInfo_Type()

TypeInfo_t * TCling::MethodInfo_Type ( MethodInfo_t *  minfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 9020 of file TCling.cxx.

◆ MethodInfo_TypeName()

const char * TCling::MethodInfo_TypeName ( MethodInfo_t *  minfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 9054 of file TCling.cxx.

◆ MethodInfo_TypeNormalizedName()

std::string TCling::MethodInfo_TypeNormalizedName ( MethodInfo_t *  minfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 9062 of file TCling.cxx.

◆ operator=()

TCling & TCling::operator= ( const TCling )
privatedelete

◆ PrintIntro()

void TCling::PrintIntro ( )
finalvirtual

No-op; see TRint instead.

Implements TInterpreter.

Definition at line 2638 of file TCling.cxx.

◆ ProcessClassesToUpdate()

void TCling::ProcessClassesToUpdate ( )
private

Definition at line 2001 of file TCling.cxx.

◆ ProcessLine()

Longptr_t TCling::ProcessLine ( const char *  line,
EErrorCode error = nullptr 
)
finalvirtual

Implements TInterpreter.

Definition at line 2472 of file TCling.cxx.

◆ ProcessLineAsynch()

Longptr_t TCling::ProcessLineAsynch ( const char *  line,
EErrorCode error = nullptr 
)

Let cling process a command line asynch.

Definition at line 3523 of file TCling.cxx.

◆ ProcessLineSynch()

Longptr_t TCling::ProcessLineSynch ( const char *  line,
EErrorCode error = nullptr 
)
finalvirtual

Let cling process a command line synchronously, i.e we are waiting it will be finished.

Implements TInterpreter.

Definition at line 3532 of file TCling.cxx.

◆ ReadRootmapFile()

int TCling::ReadRootmapFile ( const char *  rootmapfile,
TUniqueString uniqueString = nullptr 
)
private

Read and parse a rootmapfile in its new format, and return 0 in case of success, -1 if the file has already been read, and -3 in case its format is the old one (e.g.

containing "Library.ClassName"), -4 in case of syntax error.

Definition at line 5461 of file TCling.cxx.

◆ RecursiveRemove()

void TCling::RecursiveRemove ( TObject obj)
finalvirtual

Delete object from cling symbol table so it can not be used anymore.

cling objects are always on the heap.

Reimplemented from TObject.

Definition at line 3646 of file TCling.cxx.

◆ RefreshClassInfo()

void TCling::RefreshClassInfo ( TClass cl,
const clang::NamedDecl *  def,
bool  alias 
)

Internal function. Actually do the update of the ClassInfo when seeing.

Definition at line 6568 of file TCling.cxx.

◆ RegisterLoadedSharedLibrary()

void TCling::RegisterLoadedSharedLibrary ( const char *  name)
private

Register a new shared library name with the interpreter; add it to fSharedLibs.

Definition at line 3378 of file TCling.cxx.

◆ RegisterModule()

void TCling::RegisterModule ( const char *  modulename,
const char **  headers,
const char **  includePaths,
const char *  payloadCode,
const char *  fwdDeclsCode,
void(*)()  triggerFunc,
const FwdDeclArgsToKeepCollection_t fwdDeclsArgToSkip,
const char **  classesHeaders,
Bool_t  lateRegistration = false,
Bool_t  hasCxxModule = false 
)
finalvirtual

Inject the module named "modulename" into cling; load all headers.

headers is a 0-terminated array of header files to #include after loading the module. The module is searched for in all $LD_LIBRARY_PATH entries (or PATH% on Windows). This function gets called by the static initialization of dictionary libraries. The payload code is injected "as is" in the interpreter. The value of 'triggerFunc' is used to find the shared library location.

Implements TInterpreter.

Definition at line 2031 of file TCling.cxx.

◆ RegisterPrebuiltModulePath()

bool TCling::RegisterPrebuiltModulePath ( const std::string &  FullPath,
const std::string &  ModuleMapName = "module.modulemap" 
) const
finalvirtual
Returns
true if the module map was loaded, false on error or if the map was already loaded.

Implements TInterpreter.

Definition at line 1925 of file TCling.cxx.

◆ RegisterRdictForLoadPCM()

void TCling::RegisterRdictForLoadPCM ( const std::string &  pcmFileNameFullPath,
llvm::StringRef *  pcmContent 
)
private

Register Rdict data for future loading by LoadPCM;.

Definition at line 1703 of file TCling.cxx.

◆ RegisterTClassUpdate()

void TCling::RegisterTClassUpdate ( TClass oldcl,
DictFuncPtr_t  dict 
)
finalvirtual

Register classes that already existed prior to their dictionary loading and that already had a ClassInfo (and thus would not be refresh via UpdateClassInfo.

Implements TInterpreter.

Definition at line 2403 of file TCling.cxx.

◆ RegisterTemporary() [1/2]

void TCling::RegisterTemporary ( const cling::Value &  value)

Register value as a temporary, extending its lifetime to that of the interpreter.

This is needed for TCling's compatibility interfaces returning long - the address of the temporary objects. As such, "simple" types don't need to be stored; they are returned by value; only pointers / references / objects need to be stored.

Definition at line 7616 of file TCling.cxx.

◆ RegisterTemporary() [2/2]

void TCling::RegisterTemporary ( const TInterpreterValue value)

Definition at line 7602 of file TCling.cxx.

◆ ReloadAllSharedLibraryMaps()

Int_t TCling::ReloadAllSharedLibraryMaps ( )
finalvirtual

Reload the library map entries coming from all the loaded shared libraries, after first unloading the current ones.

In case of error -1 is returned, 0 otherwise.

Implements TInterpreter.

Definition at line 5866 of file TCling.cxx.

◆ RemoveAndInvalidateObject()

template<typename List , typename Object >
static void TCling::RemoveAndInvalidateObject ( List &  L,
Object O 
)
inlinestaticprivate

Definition at line 578 of file TCling.h.

◆ ReportDiagnosticsToErrorHandler()

void TCling::ReportDiagnosticsToErrorHandler ( bool  = true)
finalvirtual

Report diagnostics to the ROOT error handler (see TError.h).

Reimplemented from TInterpreter.

Definition at line 7532 of file TCling.cxx.

◆ RescanLibraryMap()

Int_t TCling::RescanLibraryMap ( )
finalvirtual

Scan again along the dynamic path for library maps.

Entries for the loaded shared libraries are unloaded first. This can be useful after reseting the dynamic path through TSystem::SetDynamicPath() In case of error -1 is returned, 0 otherwise.

Implements TInterpreter.

Definition at line 5854 of file TCling.cxx.

◆ Reset()

void TCling::Reset ( void  )
finalvirtual

Pressing Ctrl+C should forward here.

In the case where we have had continuation requested we must reset it.

Implements TInterpreter.

Definition at line 3671 of file TCling.cxx.

◆ ResetAll()

void TCling::ResetAll ( )
finalvirtual

Reset the Cling state to its initial state.

Implements TInterpreter.

Definition at line 3687 of file TCling.cxx.

◆ ResetGlobals()

void TCling::ResetGlobals ( )
finalvirtual

Reset in Cling the list of global variables to the state saved by the last call to TCling::SaveGlobalsContext().

Note: Right now, all we do is run the global destructors.

Implements TInterpreter.

Definition at line 3703 of file TCling.cxx.

◆ ResetGlobalVar()

void TCling::ResetGlobalVar ( void *  obj)
finalvirtual

Reset the Cling 'user' global objects/variables state to the state saved by the last call to TCling::SaveGlobalsContext().

Implements TInterpreter.

Definition at line 3717 of file TCling.cxx.

◆ RewindDictionary()

void TCling::RewindDictionary ( )
finalvirtual

Rewind Cling dictionary to the point where it was before executing the current macro.

This function is typically called after SEGV or ctlr-C after doing a longjmp back to the prompt.

Implements TInterpreter.

Definition at line 3732 of file TCling.cxx.

◆ RewindInterpreterMutex()

void * TCling::RewindInterpreterMutex ( )

Reset the interpreter lock to the state it had before interpreter-related calls happened.

Definition at line 9487 of file TCling.cxx.

◆ SaveContext()

void TCling::SaveContext ( )
finalvirtual

Save the current Cling state.

Implements TInterpreter.

Definition at line 3822 of file TCling.cxx.

◆ SaveGlobalsContext()

void TCling::SaveGlobalsContext ( )
finalvirtual

Save the current Cling state of global objects.

Implements TInterpreter.

Definition at line 3835 of file TCling.cxx.

◆ SetAlloclockfunc()

void TCling::SetAlloclockfunc ( void(*)()  ) const
finalvirtual

[Place holder for Mutex Lock] Provide the interpreter with a way to acquire a lock used to protect critical section of its code (non-thread safe parts).

Reimplemented from TInterpreter.

Definition at line 7453 of file TCling.cxx.

◆ SetAllocunlockfunc()

void TCling::SetAllocunlockfunc ( void(*)()  ) const
finalvirtual

[Place holder for Mutex Unlock] Provide the interpreter with a way to release a lock used to protect critical section of its code (non-thread safe parts).

Reimplemented from TInterpreter.

Definition at line 7463 of file TCling.cxx.

◆ SetAutoLoadCallBack()

void * TCling::SetAutoLoadCallBack ( void *  cb)
inlinefinalvirtual

Reimplemented from TInterpreter.

Definition at line 200 of file TCling.h.

◆ SetClassAutoLoading()

int TCling::SetClassAutoLoading ( int  autoload) const
finalvirtual

Enable/Disable the AutoLoading of libraries.

Returns the old value, i.e whether it was enabled or not.

Reimplemented from TInterpreter.

Definition at line 7484 of file TCling.cxx.

◆ SetClassAutoparsing()

int TCling::SetClassAutoparsing ( int  autoparse)
finalvirtual

Enable/Disable the Autoparsing of headers.

Returns the old value, i.e whether it was enabled or not.

Reimplemented from TInterpreter.

Definition at line 7502 of file TCling.cxx.

◆ SetClassInfo()

void TCling::SetClassInfo ( TClass cl,
Bool_t  reload = kFALSE 
)
finalvirtual

Set pointer to the TClingClassInfo in TClass.

If 'reload' is true, (attempt to) generate a new ClassInfo even if we already have one.

Implements TInterpreter.

Definition at line 3981 of file TCling.cxx.

◆ SetClassSharedLibs()

Int_t TCling::SetClassSharedLibs ( const char *  cls,
const char *  libs 
)
finalvirtual

Register the AutoLoading information for a class.

libs is a space separated list of libraries.

Implements TInterpreter.

Definition at line 6007 of file TCling.cxx.

◆ SetDeclAttr()

void TCling::SetDeclAttr ( DeclId_t  declId,
const char *  attribute 
)
finalvirtual

Implements TInterpreter.

Definition at line 8640 of file TCling.cxx.

◆ SetErrmsgcallback()

void TCling::SetErrmsgcallback ( void *  p) const
finalvirtual

Set a callback to receive error messages.

Reimplemented from TInterpreter.

Definition at line 7523 of file TCling.cxx.

◆ SetErrorMessages()

Bool_t TCling::SetErrorMessages ( Bool_t  enable = kTRUE)
finalvirtual

If error messages are disabled, the interpreter should suppress its failures and warning messages from stdout.

Return the previous state.

Implements TInterpreter.

Definition at line 7276 of file TCling.cxx.

◆ SetGetline()

void TCling::SetGetline ( const char *(*)(const char *prompt)  getlineFunc,
void(*)(const char *line histaddFunc 
)
finalvirtual

Set a getline function to call when input is needed.

Implements TInterpreter.

Definition at line 3611 of file TCling.cxx.

◆ SetProcessLineLock()

void TCling::SetProcessLineLock ( Bool_t  lock = kTRUE)
inlinefinalvirtual

Implements TInterpreter.

Definition at line 321 of file TCling.h.

◆ SetSuspendAutoParsing()

Bool_t TCling::SetSuspendAutoParsing ( Bool_t  value)
finalprotectedvirtual

Suspend the Autoparsing of headers.

Returns the old value, i.e whether it was suspended or not.

Implements TInterpreter.

Definition at line 7513 of file TCling.cxx.

◆ SetTempLevel()

void TCling::SetTempLevel ( int  val) const
finalvirtual

Create / close a scope for temporaries.

No-op for cling; use cling::Value instead.

Reimplemented from TInterpreter.

Definition at line 7559 of file TCling.cxx.

◆ ShallowAutoLoadImpl()

Int_t TCling::ShallowAutoLoadImpl ( const char *  cls)
staticprivate

Definition at line 6085 of file TCling.cxx.

◆ ShutDown()

void TCling::ShutDown ( )
finalvirtual

Implements TInterpreter.

Definition at line 1680 of file TCling.cxx.

◆ SnapshotMutexState()

void TCling::SnapshotMutexState ( ROOT::TVirtualRWMutex mtx)
finalvirtual

Implements TInterpreter.

Definition at line 9426 of file TCling.cxx.

◆ ToString()

std::string TCling::ToString ( const char *  type,
void *  obj 
)
finalvirtual

Implements TInterpreter.

Definition at line 1030 of file TCling.cxx.

◆ TransactionRollback()

void TCling::TransactionRollback ( const cling::Transaction &  T)

Definition at line 6881 of file TCling.cxx.

◆ TypedefInfo_Delete()

void TCling::TypedefInfo_Delete ( TypedefInfo_t *  tinfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 9330 of file TCling.cxx.

◆ TypedefInfo_Factory() [1/2]

TypedefInfo_t * TCling::TypedefInfo_Factory ( ) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 9337 of file TCling.cxx.

◆ TypedefInfo_Factory() [2/2]

TypedefInfo_t * TCling::TypedefInfo_Factory ( const char *  name) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 9345 of file TCling.cxx.

◆ TypedefInfo_FactoryCopy()

TypedefInfo_t * TCling::TypedefInfo_FactoryCopy ( TypedefInfo_t *  tinfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 9353 of file TCling.cxx.

◆ TypedefInfo_Init()

void TCling::TypedefInfo_Init ( TypedefInfo_t *  tinfo,
const char *  name 
) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 9360 of file TCling.cxx.

◆ TypedefInfo_IsValid()

bool TCling::TypedefInfo_IsValid ( TypedefInfo_t *  tinfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 9370 of file TCling.cxx.

◆ TypedefInfo_Name()

const char * TCling::TypedefInfo_Name ( TypedefInfo_t *  tinfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 9410 of file TCling.cxx.

◆ TypedefInfo_Next()

Int_t TCling::TypedefInfo_Next ( TypedefInfo_t *  tinfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 9378 of file TCling.cxx.

◆ TypedefInfo_Property()

Long_t TCling::TypedefInfo_Property ( TypedefInfo_t *  tinfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 9386 of file TCling.cxx.

◆ TypedefInfo_Size()

int TCling::TypedefInfo_Size ( TypedefInfo_t *  tinfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 9394 of file TCling.cxx.

◆ TypedefInfo_Title()

const char * TCling::TypedefInfo_Title ( TypedefInfo_t *  tinfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 9418 of file TCling.cxx.

◆ TypedefInfo_TrueName()

const char * TCling::TypedefInfo_TrueName ( TypedefInfo_t *  tinfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 9402 of file TCling.cxx.

◆ TypeInfo_Delete()

void TCling::TypeInfo_Delete ( TypeInfo_t *  tinfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 9237 of file TCling.cxx.

◆ TypeInfo_Factory() [1/2]

TypeInfo_t * TCling::TypeInfo_Factory ( ) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 9244 of file TCling.cxx.

◆ TypeInfo_Factory() [2/2]

TypeInfo_t * TCling::TypeInfo_Factory ( const char *  name) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 9252 of file TCling.cxx.

◆ TypeInfo_FactoryCopy()

TypeInfo_t * TCling::TypeInfo_FactoryCopy ( TypeInfo_t *  tinfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 9260 of file TCling.cxx.

◆ TypeInfo_Init()

void TCling::TypeInfo_Init ( TypeInfo_t *  tinfo,
const char *  funcname 
) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 9267 of file TCling.cxx.

◆ TypeInfo_IsValid()

bool TCling::TypeInfo_IsValid ( TypeInfo_t *  tinfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 9276 of file TCling.cxx.

◆ TypeInfo_Name()

const char * TCling::TypeInfo_Name ( TypeInfo_t *  tinfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 9284 of file TCling.cxx.

◆ TypeInfo_Property()

Long_t TCling::TypeInfo_Property ( TypeInfo_t *  tinfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 9292 of file TCling.cxx.

◆ TypeInfo_RefType()

int TCling::TypeInfo_RefType ( TypeInfo_t *  tinfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 9300 of file TCling.cxx.

◆ TypeInfo_Size()

int TCling::TypeInfo_Size ( TypeInfo_t *  tinfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 9308 of file TCling.cxx.

◆ TypeInfo_TrueName()

const char * TCling::TypeInfo_TrueName ( TypeInfo_t *  tinfo) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 9316 of file TCling.cxx.

◆ TypeName()

const char * TCling::TypeName ( const char *  typeDesc)
finalvirtual

Return the absolute type of typeDesc.

E.g.: typeDesc = "class TNamed**", returns "TNamed". You need to use the result immediately before it is being overwritten.

Implements TInterpreter.

Definition at line 5411 of file TCling.cxx.

◆ UnloadAllSharedLibraryMaps()

Int_t TCling::UnloadAllSharedLibraryMaps ( )
finalvirtual

Unload the library map entries coming from all the loaded shared libraries.

Returns 0 if succesful

Implements TInterpreter.

Definition at line 5927 of file TCling.cxx.

◆ UnloadFile()

int TCling::UnloadFile ( const char *  path) const
finalvirtual

Reimplemented from TInterpreter.

Definition at line 7565 of file TCling.cxx.

◆ UnloadLibraryMap()

Int_t TCling::UnloadLibraryMap ( const char *  library)
finalvirtual

Unload library map entries coming from the specified library.

Returns -1 in case no entries for the specified library were found, 0 otherwise.

Implements TInterpreter.

Definition at line 5945 of file TCling.cxx.

◆ UnRegisterTClassUpdate()

void TCling::UnRegisterTClassUpdate ( const TClass oldcl)
finalvirtual

If the dictionary is loaded, we can remove the class from the list (otherwise the class might be loaded twice).

Implements TInterpreter.

Definition at line 2412 of file TCling.cxx.

◆ UpdateAllCanvases()

void TCling::UpdateAllCanvases ( )
static

Update all canvases at end the terminal input command.

Definition at line 6684 of file TCling.cxx.

◆ UpdateClassInfo()

void TCling::UpdateClassInfo ( char *  name,
Long_t  tagnum 
)
static

No op: see TClingCallbacks.

Definition at line 6669 of file TCling.cxx.

◆ UpdateClassInfoWithDecl()

void TCling::UpdateClassInfoWithDecl ( const clang::NamedDecl *  ND)

Internal function. Inform a TClass about its new TagDecl or NamespaceDecl.

Definition at line 6611 of file TCling.cxx.

◆ UpdateClassInfoWork()

void TCling::UpdateClassInfoWork ( const char *  name)
static

Definition at line 6675 of file TCling.cxx.

◆ UpdateEnumConstants()

void TCling::UpdateEnumConstants ( TEnum enumObj,
TClass cl 
) const
finalvirtual

Implements TInterpreter.

Definition at line 411 of file TCling.cxx.

◆ UpdateListOfDataMembers()

void TCling::UpdateListOfDataMembers ( TClass cl) const

Update the list of pointers to data members for TClass cl This is now a nop.

The creation and updating is handled in TListOfDataMembers.

Definition at line 4447 of file TCling.cxx.

◆ UpdateListOfGlobalFunctions()

void TCling::UpdateListOfGlobalFunctions ( )
finalvirtual

No op: see TClingCallbacks (used to update the list of global functions)

Implements TInterpreter.

Definition at line 3855 of file TCling.cxx.

◆ UpdateListOfGlobals()

void TCling::UpdateListOfGlobals ( )
finalvirtual

No op: see TClingCallbacks (used to update the list of globals)

Implements TInterpreter.

Definition at line 3848 of file TCling.cxx.

◆ UpdateListOfLoadedSharedLibraries()

void TCling::UpdateListOfLoadedSharedLibraries ( )
private

Definition at line 3311 of file TCling.cxx.

◆ UpdateListOfMethods()

void TCling::UpdateListOfMethods ( TClass cl) const
finalvirtual

Update the list of pointers to method for TClass cl This is now a nop.

The creation and updating is handled in TListOfFunctions.

Implements TInterpreter.

Definition at line 4438 of file TCling.cxx.

◆ UpdateListOfTypes()

void TCling::UpdateListOfTypes ( )
finalvirtual

No op: see TClingCallbacks (used to update the list of types)

Implements TInterpreter.

Definition at line 3862 of file TCling.cxx.

◆ UpdateListsOnCommitted()

void TCling::UpdateListsOnCommitted ( const cling::Transaction &  T)

Definition at line 6695 of file TCling.cxx.

◆ UpdateListsOnUnloaded()

void TCling::UpdateListsOnUnloaded ( const cling::Transaction &  T)

Invalidate stored TCling state for declarations included in transaction ‘T’.

Definition at line 6779 of file TCling.cxx.

Friends And Related Function Documentation

◆ TCling__GetInterpreter

cling::Interpreter * TCling__GetInterpreter ( )
friend

Definition at line 45 of file rootclingTCling.cxx.

◆ TCling__RegisterRdictForLoadPCM

void TCling__RegisterRdictForLoadPCM ( const std::string &  pcmFileNameFullPath,
llvm::StringRef *  pcmContent 
)
friend

Definition at line 578 of file TCling.cxx.

Member Data Documentation

◆ fAutoLoadCallBack

void* TCling::fAutoLoadCallBack
private

Definition at line 147 of file TCling.h.

◆ fAutoLoadLibStorage

std::vector<std::string> TCling::fAutoLoadLibStorage
private

Definition at line 118 of file TCling.h.

◆ fClassesHeadersMap

std::map<size_t,std::vector<const char*> > TCling::fClassesHeadersMap
private

Definition at line 119 of file TCling.h.

◆ fClassesToUpdate

std::vector<std::pair<TClass*,DictFuncPtr_t> > TCling::fClassesToUpdate
private

Definition at line 146 of file TCling.h.

◆ fClingCallbacks

TClingCallbacks* TCling::fClingCallbacks
private

Definition at line 139 of file TCling.h.

◆ fCurExecutingMacros

std::vector<const char*> TCling::fCurExecutingMacros
private

Definition at line 149 of file TCling.h.

◆ fCxxModulesEnabled

Bool_t TCling::fCxxModulesEnabled
private

Definition at line 128 of file TCling.h.

◆ fExitCode

Int_t TCling::fExitCode
private

Definition at line 109 of file TCling.h.

◆ fGlobalsListSerial

Int_t TCling::fGlobalsListSerial
private

Definition at line 114 of file TCling.h.

◆ fgSetOfSpecials

void * TCling::fgSetOfSpecials = 0
staticprivate

Definition at line 105 of file TCling.h.

◆ fHeaderParsingOnDemand

Bool_t TCling::fHeaderParsingOnDemand
private

Definition at line 181 of file TCling.h.

◆ fIncludePath