This class defines an interface to the cling C++ interpreter.
Cling is a full ANSI compliant C++-11 interpreter based on clang/LLVM technology.
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. | |
virtual | ~TCling () |
Destroy the interpreter interface. | |
virtual void | AddAvailableIndentifiers (TSeqCollection &Idents) |
void | AddIncludePath (const char *path) |
Add a directory to the list of directories in which the interpreter looks for include files. | |
void | ApplyToInterpreterMutex (void *delta) |
Re-apply the lock count delta that TCling__ResetInterpreterMutex() caused. | |
Int_t | AutoLoad (const char *classname, Bool_t knowDictNotLoaded=kFALSE) |
Load library containing the specified class. | |
Int_t | AutoLoad (const std::type_info &typeinfo, Bool_t knowDictNotLoaded=kFALSE) |
Load library containing the specified class. | |
Int_t | AutoParse (const char *cls) |
Parse the headers relative to the class Returns 1 in case of success, 0 in case of failure. | |
virtual ClassInfo_t * | BaseClassInfo_ClassInfo (BaseClassInfo_t *) const |
virtual void | BaseClassInfo_Delete (BaseClassInfo_t *bcinfo) const |
virtual BaseClassInfo_t * | BaseClassInfo_Factory (ClassInfo_t *derived, ClassInfo_t *base) const |
virtual BaseClassInfo_t * | BaseClassInfo_Factory (ClassInfo_t *info) const |
virtual const char * | BaseClassInfo_FullName (BaseClassInfo_t *bcinfo) const |
virtual const char * | BaseClassInfo_Name (BaseClassInfo_t *bcinfo) const |
virtual int | BaseClassInfo_Next (BaseClassInfo_t *bcinfo) const |
virtual int | BaseClassInfo_Next (BaseClassInfo_t *bcinfo, int onlyDirect) const |
virtual Longptr_t | BaseClassInfo_Offset (BaseClassInfo_t *toBaseClassInfo, void *address, bool isDerivedObject) const |
virtual Long_t | BaseClassInfo_Property (BaseClassInfo_t *bcinfo) const |
virtual Longptr_t | BaseClassInfo_Tagnum (BaseClassInfo_t *bcinfo) const |
virtual const char * | BaseClassInfo_TmpltName (BaseClassInfo_t *bcinfo) const |
Longptr_t | Calc (const char *line, EErrorCode *error=0) |
Directly execute an executable statement (e.g. | |
virtual void | CallFunc_Delete (CallFunc_t *func) const |
virtual void | CallFunc_Exec (CallFunc_t *func, void *address) const |
virtual void | CallFunc_Exec (CallFunc_t *func, void *address, TInterpreterValue &val) const |
virtual Double_t | CallFunc_ExecDouble (CallFunc_t *func, void *address) const |
virtual Longptr_t | CallFunc_ExecInt (CallFunc_t *func, void *address) const |
virtual Long64_t | CallFunc_ExecInt64 (CallFunc_t *func, void *address) const |
virtual void | CallFunc_ExecWithArgsAndReturn (CallFunc_t *func, void *address, const void *args[]=0, int nargs=0, void *ret=0) const |
virtual void | CallFunc_ExecWithReturn (CallFunc_t *func, void *address, void *ret) const |
virtual CallFunc_t * | CallFunc_Factory () const |
virtual CallFunc_t * | CallFunc_FactoryCopy (CallFunc_t *func) const |
virtual MethodInfo_t * | CallFunc_FactoryMethod (CallFunc_t *func) const |
virtual std::string | CallFunc_GetWrapperCode (CallFunc_t *func) const |
virtual CallFuncIFacePtr_t | CallFunc_IFacePtr (CallFunc_t *func) const |
virtual void | CallFunc_IgnoreExtraArgs (CallFunc_t *func, bool ignore) const |
virtual void | CallFunc_Init (CallFunc_t *func) const |
virtual bool | CallFunc_IsValid (CallFunc_t *func) const |
virtual void | CallFunc_ResetArg (CallFunc_t *func) const |
virtual void | CallFunc_SetArg (CallFunc_t *func, Double_t param) const |
virtual void | CallFunc_SetArg (CallFunc_t *func, Float_t param) const |
virtual void | CallFunc_SetArg (CallFunc_t *func, Long64_t param) const |
virtual void | CallFunc_SetArg (CallFunc_t *func, Long_t param) const |
virtual void | CallFunc_SetArg (CallFunc_t *func, ULong64_t param) const |
virtual void | CallFunc_SetArg (CallFunc_t *func, ULong_t param) const |
virtual void | CallFunc_SetArgArray (CallFunc_t *func, Longptr_t *paramArr, Int_t nparam) const |
virtual void | CallFunc_SetArgs (CallFunc_t *func, const char *param) const |
virtual void | CallFunc_SetFunc (CallFunc_t *func, ClassInfo_t *info, const char *method, const char *params, bool objectIsConst, Longptr_t *Offset) const |
virtual void | CallFunc_SetFunc (CallFunc_t *func, ClassInfo_t *info, const char *method, const char *params, Longptr_t *Offset) const |
virtual void | CallFunc_SetFunc (CallFunc_t *func, MethodInfo_t *info) const |
virtual 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 |
Interface to cling function. | |
virtual void | CallFunc_SetFuncProto (CallFunc_t *func, ClassInfo_t *info, const char *method, const char *proto, Longptr_t *Offset, ROOT::EFunctionMatchMode mode=ROOT::kConversionMatch) const |
Interface to cling function. | |
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 |
Interface to cling function. | |
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 |
Interface to cling function. | |
ECheckClassInfo | CheckClassInfo (const char *name, Bool_t autoload, Bool_t isClassOrNamespaceOnly=kFALSE) |
Checks if an entity with the specified name is defined in Cling. | |
Bool_t | CheckClassTemplate (const char *name) |
Return true if there is a class template by the given name ... | |
virtual Long_t | ClassInfo_ClassProperty (ClassInfo_t *info) const |
virtual Bool_t | ClassInfo_Contains (ClassInfo_t *info, DeclId_t declid) const |
Return true if the entity pointed to by 'declid' is declared in the context described by 'info'. | |
virtual void | ClassInfo_Delete (ClassInfo_t *info) const |
virtual void | ClassInfo_Delete (ClassInfo_t *info, void *arena) const |
virtual void | ClassInfo_DeleteArray (ClassInfo_t *info, void *arena, bool dtorOnly) const |
virtual void | ClassInfo_Destruct (ClassInfo_t *info, void *arena) const |
virtual ClassInfo_t * | ClassInfo_Factory (Bool_t all=kTRUE) const |
virtual ClassInfo_t * | ClassInfo_Factory (ClassInfo_t *cl) const |
virtual ClassInfo_t * | ClassInfo_Factory (const char *name) const |
virtual ClassInfo_t * | ClassInfo_Factory (DeclId_t declid) const |
virtual const char * | ClassInfo_FileName (ClassInfo_t *info) const |
virtual const char * | ClassInfo_FullName (ClassInfo_t *info) const |
virtual Longptr_t | ClassInfo_GetBaseOffset (ClassInfo_t *fromDerived, ClassInfo_t *toBase, void *address, bool isDerivedObject) const |
virtual int | ClassInfo_GetMethodNArg (ClassInfo_t *info, const char *method, const char *proto, Bool_t objectIsConst=false, ROOT::EFunctionMatchMode mode=ROOT::kConversionMatch) const |
virtual EDataType | ClassInfo_GetUnderlyingType (ClassInfo_t *info) const |
virtual bool | ClassInfo_HasDefaultConstructor (ClassInfo_t *info, Bool_t testio=kFALSE) const |
virtual bool | ClassInfo_HasMethod (ClassInfo_t *info, const char *name) const |
virtual void | ClassInfo_Init (ClassInfo_t *info, const char *funcname) const |
virtual void | ClassInfo_Init (ClassInfo_t *info, int tagnum) const |
virtual bool | ClassInfo_IsBase (ClassInfo_t *info, const char *name) const |
virtual bool | ClassInfo_IsEnum (const char *name) const |
virtual bool | ClassInfo_IsLoaded (ClassInfo_t *info) const |
virtual bool | ClassInfo_IsScopedEnum (ClassInfo_t *info) const |
virtual bool | ClassInfo_IsValid (ClassInfo_t *info) const |
virtual bool | ClassInfo_IsValidMethod (ClassInfo_t *info, const char *method, const char *proto, Bool_t objectIsConst, Longptr_t *offset, ROOT::EFunctionMatchMode=ROOT::kConversionMatch) const |
virtual bool | ClassInfo_IsValidMethod (ClassInfo_t *info, const char *method, const char *proto, Longptr_t *offset, ROOT::EFunctionMatchMode=ROOT::kConversionMatch) const |
virtual const char * | ClassInfo_Name (ClassInfo_t *info) const |
virtual void * | ClassInfo_New (ClassInfo_t *info) const |
virtual void * | ClassInfo_New (ClassInfo_t *info, int n) const |
virtual void * | ClassInfo_New (ClassInfo_t *info, int n, void *arena) const |
virtual void * | ClassInfo_New (ClassInfo_t *info, void *arena) const |
virtual int | ClassInfo_Next (ClassInfo_t *info) const |
virtual Long_t | ClassInfo_Property (ClassInfo_t *info) const |
virtual int | ClassInfo_Size (ClassInfo_t *info) const |
virtual Longptr_t | ClassInfo_Tagnum (ClassInfo_t *info) const |
virtual const char * | ClassInfo_Title (ClassInfo_t *info) const |
virtual const char * | ClassInfo_TmpltName (ClassInfo_t *info) const |
void | ClearFileBusy () |
Reset the interpreter internal state in case a previous action was not correctly terminated. | |
void | ClearStack () |
Delete existing temporary values. | |
void | CodeComplete (const std::string &, size_t &, std::vector< std::string > &) |
The call to Cling's tab complition. | |
virtual TEnum * | CreateEnum (void *VD, TClass *cl) const |
void | CreateListOfBaseClasses (TClass *cl) const |
Create list of pointers to base class(es) for TClass cl. | |
void | CreateListOfDataMembers (TClass *cl) const |
Create list of pointers to data members for TClass cl. | |
void | CreateListOfMethodArgs (TFunction *m) const |
Create list of pointers to method arguments for TMethod m. | |
void | CreateListOfMethods (TClass *cl) const |
Create list of pointers to methods for TClass cl. | |
virtual int | DataMemberInfo_ArrayDim (DataMemberInfo_t *dminfo) const |
virtual void | DataMemberInfo_Delete (DataMemberInfo_t *dminfo) const |
virtual DataMemberInfo_t * | DataMemberInfo_Factory (ClassInfo_t *clinfo, TDictionary::EMemberSelection selection) const |
virtual DataMemberInfo_t * | DataMemberInfo_Factory (DeclId_t declid, ClassInfo_t *clinfo) const |
virtual DataMemberInfo_t * | DataMemberInfo_FactoryCopy (DataMemberInfo_t *dminfo) const |
virtual bool | DataMemberInfo_IsValid (DataMemberInfo_t *dminfo) const |
virtual int | DataMemberInfo_MaxIndex (DataMemberInfo_t *dminfo, Int_t dim) const |
virtual const char * | DataMemberInfo_Name (DataMemberInfo_t *dminfo) const |
virtual int | DataMemberInfo_Next (DataMemberInfo_t *dminfo) const |
virtual Longptr_t | DataMemberInfo_Offset (DataMemberInfo_t *dminfo) const |
virtual Long_t | DataMemberInfo_Property (DataMemberInfo_t *dminfo) const |
virtual const char * | DataMemberInfo_Title (DataMemberInfo_t *dminfo) const |
virtual const char * | DataMemberInfo_TypeName (DataMemberInfo_t *dminfo) const |
virtual Long_t | DataMemberInfo_TypeProperty (DataMemberInfo_t *dminfo) const |
virtual int | DataMemberInfo_TypeSize (DataMemberInfo_t *dminfo) const |
virtual const char * | DataMemberInfo_TypeTrueName (DataMemberInfo_t *dminfo) const |
virtual const char * | DataMemberInfo_ValidArrayIndex (DataMemberInfo_t *dminfo) const |
Bool_t | Declare (const char *code) |
Declare code to the interpreter, without any of the interpreter actions that could trigger a re-interpretation of the code. | |
Int_t | DeleteGlobal (void *obj) |
Delete obj from Cling symbol table so it cannot be accessed anymore. | |
Int_t | DeleteVariable (const char *name) |
Undeclare obj called name. | |
virtual bool | DiagnoseIfInterpreterException (const std::exception &e) const |
virtual int | DisplayClass (FILE *fout, const char *name, int base, int start) const |
virtual int | DisplayIncludePath (FILE *fout) const |
Interface to cling function. | |
void | EndOfLineAction () |
It calls a "fantom" method to synchronize user keyboard input and ROOT prompt line. | |
virtual int | Evaluate (const char *, TInterpreterValue &) |
Get the interpreter value corresponding to the statement. | |
void | Execute (const char *function, const char *params, int *error=0) |
Execute a global function with arguments params. | |
void | Execute (TObject *obj, TClass *cl, const char *method, const char *params, Bool_t objectIsConst, int *error=0) |
Execute a method from class cl with arguments params. | |
void | Execute (TObject *obj, TClass *cl, const char *method, const char *params, int *error=0) |
void | Execute (TObject *obj, TClass *cl, TMethod *method, TObjArray *params, int *error=0) |
Execute a method from class cl with the arguments in array params (params[0] ... params[n] = array of TObjString parameters). | |
Longptr_t | ExecuteMacro (const char *filename, EErrorCode *error=0) |
Execute a cling macro. | |
void | ExecuteWithArgsAndReturn (TMethod *method, void *address, const void *args[]=0, int nargs=0, void *ret=0) const |
virtual void * | FindSym (const char *entry) const |
Interface to cling function. | |
void | ForgetMutexState () |
virtual void | FuncTempInfo_Delete (FuncTempInfo_t *) const |
Delete the FuncTempInfo_t. | |
virtual Long_t | FuncTempInfo_ExtraProperty (FuncTempInfo_t *) const |
Return the property not already defined in Property See TDictionary's EFunctionProperty. | |
virtual FuncTempInfo_t * | FuncTempInfo_Factory (DeclId_t declid) const |
Construct a FuncTempInfo_t. | |
virtual FuncTempInfo_t * | FuncTempInfo_FactoryCopy (FuncTempInfo_t *) const |
Construct a FuncTempInfo_t. | |
virtual Bool_t | FuncTempInfo_IsValid (FuncTempInfo_t *) const |
Check validity of a FuncTempInfo_t. | |
virtual void | FuncTempInfo_Name (FuncTempInfo_t *, TString &name) const |
Return the name of this function template. | |
virtual Long_t | FuncTempInfo_Property (FuncTempInfo_t *) const |
Return the property of the function template. | |
virtual UInt_t | FuncTempInfo_TemplateMinReqArgs (FuncTempInfo_t *) const |
Return the number of required template arguments of the function template described by ft_info. | |
virtual UInt_t | FuncTempInfo_TemplateNargs (FuncTempInfo_t *) const |
Return the maximum number of template arguments of the function template described by ft_info. | |
virtual void | FuncTempInfo_Title (FuncTempInfo_t *, TString &name) const |
Return the comments associates with this function template. | |
Int_t | GenerateDictionary (const char *classes, const char *includes="", const char *options=0) |
Generate the dictionary for the C++ classes listed in the first argument (in a semi-colon separated list). | |
TClass * | GenerateTClass (ClassInfo_t *classinfo, Bool_t silent=kFALSE) |
Generate a TClass for the given class. | |
TClass * | GenerateTClass (const char *classname, Bool_t emulation, Bool_t silent=kFALSE) |
Generate a TClass for the given class. | |
virtual void | GenericError (const char *error) const |
Let the interpreter issue a generic error, and set its error state. | |
void * | GetAutoLoadCallBack () const |
TClass * | GetClass (const std::type_info &typeinfo, Bool_t load) const |
Demangle the name (from the typeinfo) and then request the class via the usual name based interface (TClass::GetClass). | |
const char * | GetClassSharedLibs (const char *cls) |
Get the list of shared libraries containing the code for class cls. | |
virtual const char * | GetCurrentMacroName () const |
Return the file name of the currently interpreted file, included or not. | |
virtual DeclId_t | GetDataMember (ClassInfo_t *cl, const char *name) const |
Return pointer to cling Decl of global/static variable that is located at the address given by addr. | |
virtual DeclId_t | GetDataMemberAtAddr (const void *addr) const |
Return pointer to cling DeclId for a data member with a given name. | |
virtual DeclId_t | GetDataMemberWithValue (const void *ptrvalue) const |
NOT IMPLEMENTED. | |
virtual DeclId_t | GetDeclId (CallFunc_t *info) const |
Return a unique identifier of the declaration represented by the CallFunc. | |
virtual DeclId_t | GetDeclId (ClassInfo_t *info) const |
Return a (almost) unique identifier of the declaration represented by the ClassInfo. | |
virtual DeclId_t | GetDeclId (DataMemberInfo_t *info) const |
Return a unique identifier of the declaration represented by the MethodInfo. | |
virtual DeclId_t | GetDeclId (FuncTempInfo_t *info) const |
Return a unique identifier of the declaration represented by the FuncTempInfo. | |
virtual DeclId_t | GetDeclId (MethodInfo_t *info) const |
Return a unique identifier of the declaration represented by the MethodInfo. | |
virtual DeclId_t | GetDeclId (TypedefInfo_t *info) const |
Return a unique identifier of the declaration represented by the TypedefInfo. | |
virtual DeclId_t | GetEnum (TClass *cl, const char *name) const |
Return pointer to cling Decl of global/static variable that is located at the address given by addr. | |
virtual Long_t | GetExecByteCode () const |
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). | |
Int_t | GetExitCode () const |
DeclId_t | GetFunction (ClassInfo_t *cl, const char *funcname) |
Return pointer to cling interface function for a method of a class with a certain name. | |
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 |
Insert overloads of name in cl to res. | |
DeclId_t | GetFunctionTemplate (ClassInfo_t *cl, const char *funcname) |
Return pointer to cling interface function for a method of a class with a certain name. | |
DeclId_t | GetFunctionWithPrototype (ClassInfo_t *cl, const char *method, const char *proto, Bool_t objectIsConst=kFALSE, ROOT::EFunctionMatchMode mode=ROOT::kConversionMatch) |
Return pointer to cling interface function for a method of a class with a certain prototype, i.e. | |
DeclId_t | GetFunctionWithValues (ClassInfo_t *cl, const char *method, const char *params, Bool_t objectIsConst=kFALSE) |
Return pointer to cling DeclId for a method of a class with a certain prototype, i.e. | |
const char * | GetIncludePath () |
Refresh the list of include paths known to the interpreter and return it with -I prepended. | |
void * | GetInterfaceMethod (TClass *cl, const char *method, const char *params, Bool_t objectIsConst=kFALSE) |
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). | |
void * | GetInterfaceMethodWithPrototype (TClass *cl, const char *method, const char *proto, Bool_t objectIsConst=kFALSE, ROOT::EFunctionMatchMode mode=ROOT::kConversionMatch) |
Return pointer to cling interface function for a method of a class with a certain prototype, i.e. | |
unsigned long long | GetInterpreterStateMarker () const |
void | GetInterpreterTypeName (const char *name, std::string &output, Bool_t full=kFALSE) |
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. | |
TString | GetMangledName (TClass *cl, const char *method, const char *params, Bool_t objectIsConst=kFALSE) |
Return the cling mangled name for a method of a class with parameters params (params is a string of actual arguments, not formal ones). | |
TString | GetMangledNameWithPrototype (TClass *cl, const char *method, const char *proto, Bool_t objectIsConst=kFALSE, ROOT::EFunctionMatchMode mode=ROOT::kConversionMatch) |
Return the cling mangled name for a method of a class with a certain prototype, i.e. | |
TEnv * | GetMapfile () const |
std::set< TClass * > & | GetModTClasses () |
Int_t | GetMore () const |
const ROOT::TMetaUtils::TNormalizedCtxt & | GetNormalizedContext () const |
TObject * | GetObjectAddress (const char *Name, void *&LookupCtx) |
If the interpreter encounters Name, check whether that is an object ROOT could retrieve. | |
char * | GetPrompt () |
TObjArray * | GetRootMapFiles () const |
virtual int | GetSecurityError () const |
Interface to cling function. | |
const char * | GetSharedLibDeps (const char *lib, bool tryDyld=false) |
Get the list a libraries on which the specified lib depends. | |
const char * | GetSharedLibs () |
Return the list of shared libraries loaded into the process. | |
virtual const char * | GetSTLIncludePath () const |
Return the directory containing CINT's stl cintdlls. | |
virtual const char * | GetTopLevelMacroName () const |
Return the file name of the current un-included interpreted file. | |
virtual std::vector< std::string > | GetUsingNamespaces (ClassInfo_t *cl) const |
Get the scopes representing using declarations of namespace. | |
void | HandleNewDecl (const void *DV, bool isDeserialized, std::set< TClass * > &modifiedClasses) |
Bool_t | HasPCMForLibrary (const char *libname) const |
Return true if ROOT has cxxmodules pcm for a given library name. | |
virtual void | Initialize () |
Initialize the interpreter, once TROOT::fInterpreter is set. | |
void | InspectMembers (TMemberInspector &, const void *obj, const TClass *cl, Bool_t isTransient) |
Visit all members over members, recursing over base classes. | |
void | InvalidateGlobal (const clang::Decl *D) |
Invalidate cached TCling information for the given global declaration. | |
Bool_t | IsAutoLoadNamespaceCandidate (const clang::NamespaceDecl *nsDecl) |
Bool_t | IsAutoParsingSuspended () const |
Bool_t | IsErrorMessagesEnabled () const |
If error messages are disabled, the interpreter should suppress its failures and warning messages from stdout. | |
Bool_t | IsLibraryLoaded (const char *libname) const |
Bool_t | IsLoaded (const char *filename) const |
Return true if the file has already been loaded by cint. | |
Bool_t | IsProcessLineLocked () const |
void * | LazyFunctionCreatorAutoload (const std::string &mangled_name) |
Autoload a library based on a missing symbol. | |
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) |
Load a library file in cling's memory. | |
virtual void | LoadEnums (TListOfEnums &cl) const |
Create list of pointers to enums for TClass cl. | |
virtual int | LoadFile (const char *path) const |
Load a source file or library called path into the interpreter. | |
virtual void | LoadFunctionTemplates (TClass *cl) const |
Create list of pointers to function templates for TClass cl. | |
Int_t | LoadLibraryMap (const char *rootmapfile=0) |
Load map between class and library. | |
void | LoadMacro (const char *filename, EErrorCode *error=0) |
Load a macro file in cling's memory. | |
virtual Bool_t | LoadText (const char *text) const |
Load the declarations from text into the interpreter. | |
virtual std::unique_ptr< TInterpreterValue > | MakeInterpreterValue () const |
virtual const char * | MapCppName (const char *) const |
Interface to cling function. | |
virtual const char * | MethodArgInfo_DefaultValue (MethodArgInfo_t *marginfo) const |
virtual void | MethodArgInfo_Delete (MethodArgInfo_t *marginfo) const |
virtual MethodArgInfo_t * | MethodArgInfo_Factory () const |
virtual MethodArgInfo_t * | MethodArgInfo_Factory (MethodInfo_t *minfo) const |
virtual MethodArgInfo_t * | MethodArgInfo_FactoryCopy (MethodArgInfo_t *marginfo) const |
virtual bool | MethodArgInfo_IsValid (MethodArgInfo_t *marginfo) const |
virtual const char * | MethodArgInfo_Name (MethodArgInfo_t *marginfo) const |
virtual int | MethodArgInfo_Next (MethodArgInfo_t *marginfo) const |
virtual Long_t | MethodArgInfo_Property (MethodArgInfo_t *marginfo) const |
virtual const char * | MethodArgInfo_TypeName (MethodArgInfo_t *marginfo) const |
virtual std::string | MethodArgInfo_TypeNormalizedName (MethodArgInfo_t *marginfo) const |
virtual EReturnType | MethodCallReturnType (TFunction *func) const |
virtual void | MethodInfo_CreateSignature (MethodInfo_t *minfo, TString &signature) const |
virtual void | MethodInfo_Delete (MethodInfo_t *minfo) const |
Interface to cling function. | |
virtual Long_t | MethodInfo_ExtraProperty (MethodInfo_t *minfo) const |
virtual MethodInfo_t * | MethodInfo_Factory () const |
virtual MethodInfo_t * | MethodInfo_Factory (ClassInfo_t *clinfo) const |
virtual MethodInfo_t * | MethodInfo_Factory (DeclId_t declid) const |
virtual MethodInfo_t * | MethodInfo_FactoryCopy (MethodInfo_t *minfo) const |
virtual const char * | MethodInfo_GetMangledName (MethodInfo_t *minfo) const |
virtual const char * | MethodInfo_GetPrototype (MethodInfo_t *minfo) const |
virtual void * | MethodInfo_InterfaceMethod (MethodInfo_t *minfo) const |
virtual bool | MethodInfo_IsValid (MethodInfo_t *minfo) const |
virtual EReturnType | MethodInfo_MethodCallReturnType (MethodInfo_t *minfo) const |
virtual const char * | MethodInfo_Name (MethodInfo_t *minfo) const |
virtual int | MethodInfo_NArg (MethodInfo_t *minfo) const |
virtual int | MethodInfo_NDefaultArg (MethodInfo_t *minfo) const |
virtual int | MethodInfo_Next (MethodInfo_t *minfo) const |
virtual Long_t | MethodInfo_Property (MethodInfo_t *minfo) const |
virtual const char * | MethodInfo_Title (MethodInfo_t *minfo) const |
virtual TypeInfo_t * | MethodInfo_Type (MethodInfo_t *minfo) const |
virtual const char * | MethodInfo_TypeName (MethodInfo_t *minfo) const |
virtual std::string | MethodInfo_TypeNormalizedName (MethodInfo_t *minfo) const |
void | PrintIntro () |
No-op; see TRint instead. | |
Longptr_t | ProcessLine (const char *line, EErrorCode *error=0) |
Longptr_t | ProcessLineAsynch (const char *line, EErrorCode *error=0) |
Let cling process a command line asynch. | |
Longptr_t | ProcessLineSynch (const char *line, EErrorCode *error=0) |
Let cling process a command line synchronously, i.e we are waiting it will be finished. | |
void | RecursiveRemove (TObject *obj) |
Delete object from cling symbol table so it can not be used anymore. | |
void | RefreshClassInfo (TClass *cl, const clang::NamedDecl *def, bool alias) |
Internal function. Actually do the update of the ClassInfo when seeing. | |
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) |
Inject the module named "modulename" into cling; load all headers. | |
bool | RegisterPrebuiltModulePath (const std::string &FullPath, const std::string &ModuleMapName="module.modulemap") const |
void | RegisterTClassUpdate (TClass *oldcl, DictFuncPtr_t dict) |
Register classes that already existed prior to their dictionary loading and that already had a ClassInfo (and thus would not be refresh via UpdateClassInfo. | |
void | RegisterTemporary (const cling::Value &value) |
Register value as a temporary, extending its lifetime to that of the interpreter. | |
void | RegisterTemporary (const TInterpreterValue &value) |
Int_t | ReloadAllSharedLibraryMaps () |
Reload the library map entries coming from all the loaded shared libraries, after first unloading the current ones. | |
virtual void | ReportDiagnosticsToErrorHandler (bool enable=true) |
Report diagnostics to the ROOT error handler (see TError.h). | |
Int_t | RescanLibraryMap () |
Scan again along the dynamic path for library maps. | |
void | Reset () |
Pressing Ctrl+C should forward here. | |
void | ResetAll () |
Reset the Cling state to its initial state. | |
void | ResetGlobals () |
Reset in Cling the list of global variables to the state saved by the last call to TCling::SaveGlobalsContext(). | |
void | ResetGlobalVar (void *obj) |
Reset the Cling 'user' global objects/variables state to the state saved by the last call to TCling::SaveGlobalsContext(). | |
void | RewindDictionary () |
Rewind Cling dictionary to the point where it was before executing the current macro. | |
void * | RewindInterpreterMutex () |
Reset the interpreter lock to the state it had before interpreter-related calls happened. | |
void | SaveContext () |
Save the current Cling state. | |
void | SaveGlobalsContext () |
Save the current Cling state of global objects. | |
virtual void | SetAlloclockfunc (void(*)()) const |
[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). | |
virtual void | SetAllocunlockfunc (void(*)()) const |
[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). | |
void * | SetAutoLoadCallBack (void *cb) |
virtual int | SetClassAutoLoading (int) const |
Enable/Disable the AutoLoading of libraries. | |
virtual int | SetClassAutoparsing (int) |
Enable/Disable the Autoparsing of headers. | |
void | SetClassInfo (TClass *cl, Bool_t reload=kFALSE) |
Set pointer to the TClingClassInfo in TClass. | |
Int_t | SetClassSharedLibs (const char *cls, const char *libs) |
Register the AutoLoading information for a class. | |
virtual void | SetDeclAttr (DeclId_t, const char *) |
virtual void | SetErrmsgcallback (void *p) const |
Set a callback to receive error messages. | |
Bool_t | SetErrorMessages (Bool_t enable=kTRUE) |
If error messages are disabled, the interpreter should suppress its failures and warning messages from stdout. | |
void | SetGetline (const char *(*getlineFunc)(const char *prompt), void(*histaddFunc)(const char *line)) |
Set a getline function to call when input is needed. | |
void | SetProcessLineLock (Bool_t lock=kTRUE) |
virtual void | SetTempLevel (int val) const |
Create / close a scope for temporaries. | |
virtual void | ShutDown () |
void | SnapshotMutexState (ROOT::TVirtualRWMutex *mtx) |
virtual std::string | ToString (const char *type, void *obj) |
void | TransactionRollback (const cling::Transaction &T) |
virtual void | TypedefInfo_Delete (TypedefInfo_t *tinfo) const |
virtual TypedefInfo_t * | TypedefInfo_Factory () const |
virtual TypedefInfo_t * | TypedefInfo_Factory (const char *name) const |
virtual TypedefInfo_t * | TypedefInfo_FactoryCopy (TypedefInfo_t *tinfo) const |
virtual void | TypedefInfo_Init (TypedefInfo_t *tinfo, const char *name) const |
virtual bool | TypedefInfo_IsValid (TypedefInfo_t *tinfo) const |
virtual const char * | TypedefInfo_Name (TypedefInfo_t *tinfo) const |
virtual int | TypedefInfo_Next (TypedefInfo_t *tinfo) const |
virtual Long_t | TypedefInfo_Property (TypedefInfo_t *tinfo) const |
virtual int | TypedefInfo_Size (TypedefInfo_t *tinfo) const |
virtual const char * | TypedefInfo_Title (TypedefInfo_t *tinfo) const |
virtual const char * | TypedefInfo_TrueName (TypedefInfo_t *tinfo) const |
virtual void | TypeInfo_Delete (TypeInfo_t *tinfo) const |
virtual TypeInfo_t * | TypeInfo_Factory () const |
virtual TypeInfo_t * | TypeInfo_Factory (const char *name) const |
virtual TypeInfo_t * | TypeInfo_FactoryCopy (TypeInfo_t *) const |
virtual void | TypeInfo_Init (TypeInfo_t *tinfo, const char *funcname) const |
virtual bool | TypeInfo_IsValid (TypeInfo_t *tinfo) const |
virtual const char * | TypeInfo_Name (TypeInfo_t *) const |
virtual Long_t | TypeInfo_Property (TypeInfo_t *tinfo) const |
virtual int | TypeInfo_RefType (TypeInfo_t *) const |
virtual int | TypeInfo_Size (TypeInfo_t *tinfo) const |
virtual const char * | TypeInfo_TrueName (TypeInfo_t *tinfo) const |
const char * | TypeName (const char *typeDesc) |
Return the absolute type of typeDesc. | |
Int_t | UnloadAllSharedLibraryMaps () |
Unload the library map entries coming from all the loaded shared libraries. | |
virtual int | UnloadFile (const char *path) const |
Int_t | UnloadLibraryMap (const char *library) |
Unload library map entries coming from the specified library. | |
void | UnRegisterTClassUpdate (const TClass *oldcl) |
If the dictionary is loaded, we can remove the class from the list (otherwise the class might be loaded twice). | |
void | UpdateClassInfoWithDecl (const clang::NamedDecl *ND) |
Internal function. Inform a TClass about its new TagDecl or NamespaceDecl. | |
virtual void | UpdateEnumConstants (TEnum *enumObj, TClass *cl) const |
void | UpdateListOfDataMembers (TClass *cl) const |
Update the list of pointers to data members for TClass cl This is now a nop. | |
void | UpdateListOfGlobalFunctions () |
No op: see TClingCallbacks (used to update the list of global functions) | |
void | UpdateListOfGlobals () |
No op: see TClingCallbacks (used to update the list of globals) | |
void | UpdateListOfMethods (TClass *cl) const |
Update the list of pointers to method for TClass cl This is now a nop. | |
void | UpdateListOfTypes () |
No op: see TClingCallbacks (used to update the list of types) | |
void | UpdateListsOnCommitted (const cling::Transaction &T) |
void | UpdateListsOnUnloaded (const cling::Transaction &T) |
Invalidate stored TCling state for declarations included in transaction ‘T’. | |
Public Member Functions inherited from TInterpreter | |
TInterpreter () | |
TInterpreter (const char *name, const char *title="Generic Interpreter") | |
TInterpreter ctor only called by derived classes. | |
virtual | ~TInterpreter () |
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) |
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 ¶m) const |
template<typename... T> | |
void | CallFunc_SetArguments (CallFunc_t *func, const T &... args) |
TInterpreterValue * | CreateTemporary () const |
The created temporary must be deleted by the caller. | |
int | SetClassAutoloading (int a) const |
Public Member Functions inherited from TNamed | |
TNamed () | |
TNamed (const char *name, const char *title) | |
TNamed (const TNamed &named) | |
TNamed copy ctor. | |
TNamed (const TString &name, const TString &title) | |
virtual | ~TNamed () |
TNamed destructor. | |
virtual void | Clear (Option_t *option="") |
Set name and title to empty strings (""). | |
virtual TObject * | Clone (const char *newname="") const |
Make a clone of an object using the Streamer facility. | |
virtual Int_t | Compare (const TObject *obj) const |
Compare two TNamed objects. | |
virtual void | Copy (TObject &named) const |
Copy this to obj. | |
virtual void | FillBuffer (char *&buffer) |
Encode TNamed into output buffer. | |
virtual const char * | GetName () const |
Returns name of object. | |
virtual const char * | GetTitle () const |
Returns title of object. | |
virtual ULong_t | Hash () const |
Return hash value for this object. | |
virtual Bool_t | IsSortable () const |
virtual void | ls (Option_t *option="") const |
List TNamed name and title. | |
TNamed & | operator= (const TNamed &rhs) |
TNamed assignment operator. | |
virtual void | Print (Option_t *option="") const |
Print TNamed name and title. | |
virtual void | SetName (const char *name) |
Set the name of the TNamed. | |
virtual void | SetNameTitle (const char *name, const char *title) |
Set all the TNamed parameters (name and title). | |
virtual void | SetTitle (const char *title="") |
Set the title of the TNamed. | |
virtual Int_t | Sizeof () const |
Return size of the TNamed part of the TObject. | |
Public Member Functions inherited from TObject | |
TObject () | |
TObject constructor. | |
TObject (const TObject &object) | |
TObject copy ctor. | |
virtual | ~TObject () |
TObject destructor. | |
void | AbstractMethod (const char *method) const |
Use this method to implement an "abstract" method that you don't want to leave purely abstract. | |
virtual void | AppendPad (Option_t *option="") |
Append graphics object to current pad. | |
virtual void | Browse (TBrowser *b) |
Browse object. May be overridden for another default action. | |
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. | |
virtual const char * | ClassName () const |
Returns name of class to which the object belongs. | |
virtual void | Delete (Option_t *option="") |
Delete this object. | |
virtual Int_t | DistancetoPrimitive (Int_t px, Int_t py) |
Computes distance from point (px,py) to the object. | |
virtual void | Draw (Option_t *option="") |
Default Draw method for all objects. | |
virtual void | DrawClass () const |
Draw class inheritance tree of the class to which this object belongs. | |
virtual TObject * | DrawClone (Option_t *option="") const |
Draw a clone of this object in the current selected pad for instance with: gROOT->SetSelectedPad(gPad) . | |
virtual void | Dump () const |
Dump contents of object on stdout. | |
virtual void | Error (const char *method, const char *msgfmt,...) const |
Issue error message. | |
virtual void | ExecuteEvent (Int_t event, Int_t px, Int_t py) |
Execute action corresponding to an event at (px,py). | |
virtual void | Fatal (const char *method, const char *msgfmt,...) const |
Issue fatal error message. | |
virtual TObject * | FindObject (const char *name) const |
Must be redefined in derived classes. | |
virtual TObject * | FindObject (const TObject *obj) const |
Must be redefined in derived classes. | |
virtual Option_t * | GetDrawOption () const |
Get option used by the graphics system to draw this object. | |
virtual const char * | GetIconName () const |
Returns mime type name of object. | |
virtual char * | GetObjectInfo (Int_t px, Int_t py) const |
Returns string containing info about the object at position (px,py). | |
virtual Option_t * | GetOption () const |
virtual UInt_t | GetUniqueID () const |
Return the unique object id. | |
virtual Bool_t | HandleTimer (TTimer *timer) |
Execute action in response of a timer timing out. | |
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. | |
virtual void | Info (const char *method, const char *msgfmt,...) const |
Issue info message. | |
virtual Bool_t | InheritsFrom (const char *classname) const |
Returns kTRUE if object inherits from class "classname". | |
virtual Bool_t | InheritsFrom (const TClass *cl) const |
Returns kTRUE if object inherits from TClass cl. | |
virtual void | Inspect () const |
Dump contents of this object in a graphics canvas. | |
void | InvertBit (UInt_t f) |
Bool_t | IsDestructed () const |
IsDestructed. | |
virtual Bool_t | IsEqual (const TObject *obj) const |
Default equal comparison (objects are equal if they have the same address in memory). | |
virtual Bool_t | IsFolder () const |
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). | |
R__ALWAYS_INLINE Bool_t | IsOnHeap () const |
R__ALWAYS_INLINE Bool_t | IsZombie () const |
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). | |
virtual Bool_t | Notify () |
This method must be overridden to handle object notification. | |
void | Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const |
Use this method to declare a method obsolete. | |
void | operator delete (void *ptr) |
Operator delete. | |
void | operator delete[] (void *ptr) |
Operator delete []. | |
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) |
TObject & | operator= (const TObject &rhs) |
TObject assignment operator. | |
virtual void | Paint (Option_t *option="") |
This method must be overridden if a class wants to paint itself. | |
virtual void | Pop () |
Pop on object drawn in a pad to the top of the display list. | |
virtual Int_t | Read (const char *name) |
Read contents of object with specified name from the current directory. | |
void | ResetBit (UInt_t f) |
virtual void | SaveAs (const char *filename="", Option_t *option="") const |
Save this object in the file specified by filename. | |
virtual void | SavePrimitive (std::ostream &out, Option_t *option="") |
Save a primitive as a C++ statement(s) on output stream "out". | |
void | SetBit (UInt_t f) |
void | SetBit (UInt_t f, Bool_t set) |
Set or unset the user status bits as specified in f. | |
virtual void | SetDrawOption (Option_t *option="") |
Set drawing option for object. | |
virtual void | SetUniqueID (UInt_t uid) |
Set the unique object id. | |
virtual void | SysError (const char *method, const char *msgfmt,...) const |
Issue system error message. | |
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. | |
virtual void | Warning (const char *method, const char *msgfmt,...) const |
Issue warning message. | |
virtual Int_t | Write (const char *name=0, Int_t option=0, Int_t bufsize=0) |
Write this object to the current directory. | |
virtual Int_t | Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const |
Write this object to the current directory. | |
Static Public Member Functions | |
static void | UpdateAllCanvases () |
Update all canvases at end the terminal input command. | |
static void | UpdateClassInfo (char *name, Long_t tagnum) |
No op: see TClingCallbacks. | |
static void | UpdateClassInfoWork (const char *name) |
Static Public Member Functions inherited from TInterpreter | |
static TInterpreter * | Instance () |
returns gInterpreter global | |
Static Public Member Functions inherited from TObject | |
static Longptr_t | GetDtorOnly () |
Return destructor only flag. | |
static Bool_t | GetObjectStat () |
Get status of object stat flag. | |
static void | SetDtorOnly (void *obj) |
Set destructor only flag. | |
static void | SetObjectStat (Bool_t stat) |
Turn on/off tracking of objects in the TObjectTable. | |
Protected Member Functions | |
Bool_t | SetSuspendAutoParsing (Bool_t value) |
Suspend the Autoparsing of headers. | |
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). | |
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. | |
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. | |
void | Execute (TMethod *, TObjArray *, int *=nullptr) |
Execute method on this object with parameters stored in the TObjArray. | |
DeclId_t | GetDeclId (const llvm::GlobalValue *gv) const |
Return pointer to cling DeclId for a global value. | |
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. | |
void | InitRootmapFile (const char *name) |
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>. | |
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. | |
bool | IsClassAutoLoadingEnabled () const |
Returns if class AutoLoading is currently enabled. | |
void | LoadPCM (std::string pcmFileNameFullPath) |
Tries to load a rdict PCM, issues diagnostics if it fails. | |
void | LoadPCMImpl (TFile &pcmFile) |
Tries to load a PCM from TFile; returns true on success. | |
TCling & | operator= (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. | |
void | RegisterLoadedSharedLibrary (const char *name) |
Register a new shared library name with the interpreter; add it to fSharedLibs. | |
void | RegisterRdictForLoadPCM (const std::string &pcmFileNameFullPath, llvm::StringRef *pcmContent) |
Register Rdict data for future loading by LoadPCM;. | |
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) |
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 = BIT(0) , kOverwrite = BIT(1) , kWriteDelete = BIT(2) } |
enum | EDeprecatedStatusBits { kObjInCanvas = BIT(3) } |
enum | EStatusBits { kCanDelete = BIT(0) , kMustCleanup = BIT(3) , kIsReferenced = BIT(4) , kHasUUID = BIT(5) , kCannotPick = BIT(6) , kNoContextMenu = BIT(8) , kInvalidObject = BIT(13) } |
Protected Types inherited from TObject | |
enum | { kOnlyPrepStep = BIT(3) } |
Protected Attributes inherited from TNamed | |
TString | fName |
TString | fTitle |
|
private |
|
private |
|
virtual |
Destroy the interpreter interface.
Definition at line 1636 of file TCling.cxx.
TCling::TCling | ( | const char * | name, |
const char * | title, | ||
const char *const | argv[] | ||
) |
Initialize the cling interpreter interface.
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 1370 of file TCling.cxx.
|
inline |
|
private |
|
privatedelete |
|
virtual |
Implements TInterpreter.
Definition at line 2372 of file TCling.cxx.
|
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 7762 of file TCling.cxx.
|
virtual |
Add a directory to the list of directories in which the interpreter looks for include files.
[in] | path | The path to the directory. |
-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 2647 of file TCling.cxx.
Re-apply the lock count delta that TCling__ResetInterpreterMutex() caused.
Definition at line 9537 of file TCling.cxx.
Load library containing the specified class.
Returns 0 in case of error and 1 in case if success.
Implements TInterpreter.
Definition at line 6181 of file TCling.cxx.
|
virtual |
Load library containing the specified class.
Returns 0 in case of error and 1 in case if success.
Implements TInterpreter.
Definition at line 6040 of file TCling.cxx.
|
virtual |
Parse the headers relative to the class Returns 1 in case of success, 0 in case of failure.
Implements TInterpreter.
Definition at line 6439 of file TCling.cxx.
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 6297 of file TCling.cxx.
|
virtual |
Implements TInterpreter.
Definition at line 8532 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8460 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8476 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8467 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8548 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8558 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8487 of file TCling.cxx.
Reimplemented from TInterpreter.
Definition at line 8495 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8503 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8524 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8540 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8566 of file TCling.cxx.
|
virtual |
Directly execute an executable statement (e.g.
"func()", "3+5", etc. however not declarations, like "Int_t x;").
Implements TInterpreter.
Definition at line 3543 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 7838 of file TCling.cxx.
Reimplemented from TInterpreter.
Definition at line 7845 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 7853 of file TCling.cxx.
Reimplemented from TInterpreter.
Definition at line 7896 of file TCling.cxx.
Reimplemented from TInterpreter.
Definition at line 7880 of file TCling.cxx.
Reimplemented from TInterpreter.
Definition at line 7888 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 7869 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 7861 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 7904 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 7912 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 7919 of file TCling.cxx.
|
virtual |
Implements TInterpreter.
Definition at line 8107 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 7953 of file TCling.cxx.
Reimplemented from TInterpreter.
Definition at line 7927 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 7935 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 7944 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 7961 of file TCling.cxx.
Implements TInterpreter.
Definition at line 7993 of file TCling.cxx.
Implements TInterpreter.
Definition at line 7985 of file TCling.cxx.
Implements TInterpreter.
Definition at line 8001 of file TCling.cxx.
Implements TInterpreter.
Definition at line 7969 of file TCling.cxx.
Implements TInterpreter.
Definition at line 8009 of file TCling.cxx.
Implements TInterpreter.
Definition at line 7977 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8017 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8025 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8042 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8033 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8050 of file TCling.cxx.
|
virtual |
Interface to cling function.
Reimplemented from TInterpreter.
Definition at line 8070 of file TCling.cxx.
|
virtual |
Interface to cling function.
Reimplemented from TInterpreter.
Definition at line 8060 of file TCling.cxx.
|
virtual |
|
virtual |
|
virtual |
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 4105 of file TCling.cxx.
|
virtual |
Return true if there is a class template by the given name ...
Implements TInterpreter.
Definition at line 4277 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8171 of file TCling.cxx.
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 8126 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8179 of file TCling.cxx.
Reimplemented from TInterpreter.
Definition at line 8186 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8194 of file TCling.cxx.
Reimplemented from TInterpreter.
Definition at line 8202 of file TCling.cxx.
Implements TInterpreter.
Definition at line 8210 of file TCling.cxx.
|
virtual |
Implements TInterpreter.
Definition at line 8218 of file TCling.cxx.
|
virtual |
Implements TInterpreter.
Definition at line 8225 of file TCling.cxx.
|
virtual |
Implements TInterpreter.
Definition at line 8231 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8411 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8419 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8511 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8240 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8306 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8248 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8256 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8264 of file TCling.cxx.
Reimplemented from TInterpreter.
Definition at line 8273 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8282 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8290 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8315 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8297 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8323 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8339 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8331 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8429 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8355 of file TCling.cxx.
Reimplemented from TInterpreter.
Definition at line 8363 of file TCling.cxx.
Reimplemented from TInterpreter.
Definition at line 8371 of file TCling.cxx.
Reimplemented from TInterpreter.
Definition at line 8379 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8347 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8387 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8395 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8403 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8437 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8445 of file TCling.cxx.
|
virtual |
Reset the interpreter internal state in case a previous action was not correctly terminated.
Implements TInterpreter.
Definition at line 3046 of file TCling.cxx.
|
virtual |
Delete existing temporary values.
Implements TInterpreter.
Definition at line 3054 of file TCling.cxx.
|
virtual |
The call to Cling's tab complition.
Reimplemented from TInterpreter.
Definition at line 7665 of file TCling.cxx.
Implements TInterpreter.
Definition at line 459 of file TCling.cxx.
Create list of pointers to base class(es) for TClass cl.
Implements TInterpreter.
Definition at line 4297 of file TCling.cxx.
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 4415 of file TCling.cxx.
Create list of pointers to method arguments for TMethod m.
Implements TInterpreter.
Definition at line 4449 of file TCling.cxx.
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 4424 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8579 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8587 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8594 of file TCling.cxx.
|
virtual |
Implements TInterpreter.
Definition at line 8603 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8613 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8621 of file TCling.cxx.
Reimplemented from TInterpreter.
Definition at line 8629 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8693 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8637 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8645 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8653 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8701 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8677 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8661 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8669 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8685 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 8709 of file TCling.cxx.
|
virtual |
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 3067 of file TCling.cxx.
|
staticprivate |
Definition at line 6120 of file TCling.cxx.
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 3741 of file TCling.cxx.
|
virtual |
Undeclare obj called name.
Returns 1 in case of success, 0 for failure.
Implements TInterpreter.
Definition at line 3756 of file TCling.cxx.
|
virtual |
Implements TInterpreter.
Definition at line 2456 of file TCling.cxx.
Reimplemented from TInterpreter.
Definition at line 7410 of file TCling.cxx.
|
virtual |
Interface to cling function.
Reimplemented from TInterpreter.
Definition at line 7419 of file TCling.cxx.
|
virtual |
It calls a "fantom" method to synchronize user keyboard input and ROOT prompt line.
Implements TInterpreter.
Definition at line 3090 of file TCling.cxx.
|
virtual |
Get the interpreter value corresponding to the statement.
Reimplemented from TInterpreter.
Definition at line 7673 of file TCling.cxx.
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 5153 of file TCling.cxx.
|
inlineprivatevirtual |
Execute method on this object with parameters stored in the TObjArray.
The TObjArray should contain an argv vector like:
Implements TInterpreter.
void TCling::Execute | ( | TObject * | obj, |
TClass * | cl, | ||
const char * | method, | ||
const char * | params, | ||
Bool_t | objectIsConst, | ||
int * | error = 0 |
||
) |
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 5177 of file TCling.cxx.
|
virtual |
Implements TInterpreter.
Definition at line 5197 of file TCling.cxx.
|
virtual |
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 5211 of file TCling.cxx.
|
virtual |
|
virtual |
Implements TInterpreter.
Definition at line 5305 of file TCling.cxx.
|
virtual |
Interface to cling function.
Reimplemented from TInterpreter.
Definition at line 7448 of file TCling.cxx.
|
virtual |
Implements TInterpreter.
Definition at line 9521 of file TCling.cxx.
|
virtual |
|
virtual |
Return the property not already defined in Property See TDictionary's EFunctionProperty.
Implements TInterpreter.
Definition at line 8926 of file TCling.cxx.
|
virtual |
|
virtual |
|
virtual |
Check validity of a FuncTempInfo_t.
Implements TInterpreter.
Definition at line 8833 of file TCling.cxx.
Return the name of this function template.
Implements TInterpreter.
Definition at line 8952 of file TCling.cxx.
|
virtual |
Return the property of the function template.
Implements TInterpreter.
Definition at line 8866 of file TCling.cxx.
|
virtual |
Return the number of required template arguments of the function template described by ft_info.
Implements TInterpreter.
Definition at line 8856 of file TCling.cxx.
|
virtual |
Return the maximum number of template arguments of the function template described by ft_info.
Implements TInterpreter.
Definition at line 8845 of file TCling.cxx.
Return the comments associates with this function template.
Implements TInterpreter.
Definition at line 8965 of file TCling.cxx.
|
virtual |
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:
or
Implements TInterpreter.
Definition at line 4644 of file TCling.cxx.
Generate a TClass for the given class.
Implements TInterpreter.
Definition at line 4586 of file TCling.cxx.
|
virtual |
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 4472 of file TCling.cxx.
|
virtual |
Let the interpreter issue a generic error, and set its error state.
Reimplemented from TInterpreter.
Definition at line 7456 of file TCling.cxx.
|
inlinevirtual |
Reimplemented from TInterpreter.
Demangle the name (from the typeinfo) and then request the class via the usual name based interface (TClass::GetClass).
Implements TInterpreter.
Definition at line 6026 of file TCling.cxx.
|
virtual |
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 7102 of file TCling.cxx.
|
virtual |
Return the file name of the currently interpreted file, included or not.
Example to illustrate the difference between GetCurrentMacroName() and GetTopLevelMacroName():
Running mymacro.C will print:
In mymacro.C
Now calling inclfile... In inclfile.h
Reimplemented from TInterpreter.
Definition at line 5383 of file TCling.cxx.
|
virtual |
Return pointer to cling Decl of global/static variable that is located at the address given by addr.
Implements TInterpreter.
Definition at line 4692 of file TCling.cxx.
|
virtual |
Return pointer to cling DeclId for a data member with a given name.
Implements TInterpreter.
Definition at line 4870 of file TCling.cxx.
|
virtual |
|
virtual |
Return a unique identifier of the declaration represented by the CallFunc.
Implements TInterpreter.
Definition at line 7783 of file TCling.cxx.
|
virtual |
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 7795 of file TCling.cxx.
|
private |
Return pointer to cling DeclId for a global value.
Definition at line 4792 of file TCling.cxx.
|
virtual |
Return a unique identifier of the declaration represented by the MethodInfo.
Implements TInterpreter.
Definition at line 7805 of file TCling.cxx.
|
virtual |
Return a unique identifier of the declaration represented by the FuncTempInfo.
Implements TInterpreter.
Definition at line 8794 of file TCling.cxx.
|
virtual |
Return a unique identifier of the declaration represented by the MethodInfo.
Implements TInterpreter.
Definition at line 7815 of file TCling.cxx.
|
virtual |
Return a unique identifier of the declaration represented by the TypedefInfo.
Implements TInterpreter.
Definition at line 7825 of file TCling.cxx.
|
virtual |
Return pointer to cling Decl of global/static variable that is located at the address given by addr.
Implements TInterpreter.
Definition at line 4752 of file TCling.cxx.
|
virtual |
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 7478 of file TCling.cxx.
|
inlinevirtual |
Implements TInterpreter.
|
virtual |
Return pointer to cling interface function for a method of a class with a certain name.
Implements TInterpreter.
Definition at line 4949 of file TCling.cxx.
|
virtual |
Definition at line 8757 of file TCling.cxx.
|
virtual |
Insert overloads of name in cl to res.
Implements TInterpreter.
Definition at line 4968 of file TCling.cxx.
|
virtual |
Return pointer to cling interface function for a method of a class with a certain name.
Implements TInterpreter.
Definition at line 5097 of file TCling.cxx.
|
virtual |
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 5075 of file TCling.cxx.
|
virtual |
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 5053 of file TCling.cxx.
|
virtual |
Refresh the list of include paths known to the interpreter and return it with -I prepended.
Implements TInterpreter.
Definition at line 7370 of file TCling.cxx.
|
virtual |
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 4927 of file TCling.cxx.
|
virtual |
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 5030 of file TCling.cxx.
|
inlineprivate |
Implements TInterpreter.
|
virtual |
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 5120 of file TCling.cxx.
|
virtual |
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 4882 of file TCling.cxx.
|
virtual |
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 4909 of file TCling.cxx.
|
inlinevirtual |
Reimplemented from TInterpreter.
|
inlineprivate |
|
inlinevirtual |
Implements TInterpreter.
|
inline |
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 7709 of file TCling.cxx.
|
inlinevirtual |
Implements TInterpreter.
|
inlinevirtual |
Implements TInterpreter.
|
virtual |
Interface to cling function.
Reimplemented from TInterpreter.
Definition at line 7486 of file TCling.cxx.
|
virtual |
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 7289 of file TCling.cxx.
|
virtual |
Return the list of shared libraries loaded into the process.
Implements TInterpreter.
Definition at line 6999 of file TCling.cxx.
|
virtual |
Return the directory containing CINT's stl cintdlls.
Reimplemented from TInterpreter.
Definition at line 7401 of file TCling.cxx.
|
virtual |
Return the file name of the current un-included interpreted file.
See the documentation for GetCurrentMacroName().
Reimplemented from TInterpreter.
Definition at line 5336 of file TCling.cxx.
|
virtual |
Get the scopes representing using declarations of namespace.
Implements TInterpreter.
Definition at line 4404 of file TCling.cxx.
void TCling::HandleNewDecl | ( | const void * | DV, |
bool | isDeserialized, | ||
std::set< TClass * > & | modifiedClasses | ||
) |
Definition at line 486 of file TCling.cxx.
|
private |
Helper function to increase the internal Cling count of transactions that change the AST.
Definition at line 3623 of file TCling.cxx.
|
virtual |
Return true if ROOT has cxxmodules pcm for a given library name.
Implements TInterpreter.
Definition at line 3116 of file TCling.cxx.
|
virtual |
Initialize the interpreter, once TROOT::fInterpreter is set.
Implements TInterpreter.
Definition at line 1654 of file TCling.cxx.
|
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 5571 of file TCling.cxx.
|
virtual |
Visit all members over members, recursing over base classes.
Implements TInterpreter.
Definition at line 2662 of file TCling.cxx.
|
private |
Invalidate cached TCling information for the given declaration, and removed it from the appropriate object list.
[in] | Lists | - std::tuple<TListOfDataMembers&, TListOfFunctions&, TListOfFunctionTemplates&, TListOfEnums&> of pointers to the (global/class) object lists. |
[in] | D | - Decl to discard. |
Definition at line 6901 of file TCling.cxx.
void TCling::InvalidateGlobal | ( | const clang::Decl * | D | ) |
Invalidate cached TCling information for the given global declaration.
Definition at line 6886 of file TCling.cxx.
Bool_t TCling::IsAutoLoadNamespaceCandidate | ( | const clang::NamespaceDecl * | nsDecl | ) |
Definition at line 6640 of file TCling.cxx.
|
inlinevirtual |
Implements TInterpreter.
|
private |
Returns if class AutoLoading is currently enabled.
Definition at line 7551 of file TCling.cxx.
|
virtual |
If error messages are disabled, the interpreter should suppress its failures and warning messages from stdout.
Implements TInterpreter.
Definition at line 7342 of file TCling.cxx.
|
virtual |
Implements TInterpreter.
Definition at line 3107 of file TCling.cxx.
|
virtual |
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 3141 of file TCling.cxx.
|
inlinevirtual |
Implements TInterpreter.
void * TCling::LazyFunctionCreatorAutoload | ( | const std::string & | mangled_name | ) |
Autoload a library based on a missing symbol.
Definition at line 6545 of file TCling.cxx.
Definition at line 6984 of file TCling.cxx.
bool TCling::LibraryLoadingFailed | ( | const std::string & | errmessage, |
const std::string & | libStem, | ||
bool | permanent, | ||
bool | resolved | ||
) |
Definition at line 6484 of file TCling.cxx.
Definition at line 6991 of file TCling.cxx.
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 3473 of file TCling.cxx.
|
virtual |
Create list of pointers to enums for TClass cl.
Implements TInterpreter.
Definition at line 4321 of file TCling.cxx.
|
virtual |
Load a source file or library called path into the interpreter.
Reimplemented from TInterpreter.
Definition at line 7499 of file TCling.cxx.
Create list of pointers to function templates for TClass cl.
Implements TInterpreter.
Definition at line 4368 of file TCling.cxx.
|
virtual |
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 5657 of file TCling.cxx.
|
virtual |
Load a macro file in cling's memory.
Implements TInterpreter.
Definition at line 3510 of file TCling.cxx.
|
private |
Tries to load a rdict PCM, issues diagnostics if it fails.
Definition at line 1829 of file TCling.cxx.
Tries to load a PCM from TFile; returns true on success.
Definition at line 1714 of file TCling.cxx.
|
virtual |
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 7512 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 7658 of file TCling.cxx.
|
virtual |
Interface to cling function.
Reimplemented from TInterpreter.
Definition at line 7520 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9280 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9225 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9232 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9240 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9248 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9256 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9288 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9264 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9272 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9296 of file TCling.cxx.
|
virtual |
Implements TInterpreter.
Definition at line 9304 of file TCling.cxx.
|
virtual |
Implements TInterpreter.
Definition at line 9161 of file TCling.cxx.
Reimplemented from TInterpreter.
Definition at line 9004 of file TCling.cxx.
|
virtual |
Interface to cling function.
Reimplemented from TInterpreter.
Definition at line 8997 of file TCling.cxx.
|
virtual |
Implements TInterpreter.
Definition at line 9092 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9012 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9020 of file TCling.cxx.
|
virtual |
Implements TInterpreter.
Definition at line 9028 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9037 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9108 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9118 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9044 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9052 of file TCling.cxx.
|
virtual |
Implements TInterpreter.
Definition at line 9172 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9126 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9060 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9068 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9076 of file TCling.cxx.
|
virtual |
Implements TInterpreter.
Definition at line 9084 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9153 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9100 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9134 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9142 of file TCling.cxx.
|
virtual |
|
private |
Definition at line 1994 of file TCling.cxx.
|
virtual |
Implements TInterpreter.
Definition at line 2467 of file TCling.cxx.
Longptr_t TCling::ProcessLineAsynch | ( | const char * | line, |
EErrorCode * | error = 0 |
||
) |
Let cling process a command line asynch.
Definition at line 3518 of file TCling.cxx.
|
virtual |
Let cling process a command line synchronously, i.e we are waiting it will be finished.
Implements TInterpreter.
Definition at line 3527 of file TCling.cxx.
|
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 5448 of file TCling.cxx.
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 3641 of file TCling.cxx.
Internal function. Actually do the update of the ClassInfo when seeing.
Definition at line 6648 of file TCling.cxx.
|
private |
Register a new shared library name with the interpreter; add it to fSharedLibs.
Definition at line 3373 of file TCling.cxx.
|
virtual |
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 2024 of file TCling.cxx.
|
virtual |
Implements TInterpreter.
Definition at line 1918 of file TCling.cxx.
|
private |
Register Rdict data for future loading by LoadPCM;.
Definition at line 1696 of file TCling.cxx.
|
virtual |
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 2398 of file TCling.cxx.
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 7696 of file TCling.cxx.
void TCling::RegisterTemporary | ( | const TInterpreterValue & | value | ) |
Definition at line 7682 of file TCling.cxx.
|
virtual |
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 5853 of file TCling.cxx.
Report diagnostics to the ROOT error handler (see TError.h).
Reimplemented from TInterpreter.
Definition at line 7612 of file TCling.cxx.
|
virtual |
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 5841 of file TCling.cxx.
|
virtual |
Pressing Ctrl+C should forward here.
In the case where we have had continuation requested we must reset it.
Implements TInterpreter.
Definition at line 3666 of file TCling.cxx.
|
virtual |
Reset the Cling state to its initial state.
Implements TInterpreter.
Definition at line 3682 of file TCling.cxx.
|
virtual |
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 3698 of file TCling.cxx.
Reset the Cling 'user' global objects/variables state to the state saved by the last call to TCling::SaveGlobalsContext().
Implements TInterpreter.
Definition at line 3712 of file TCling.cxx.
|
virtual |
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 3727 of file TCling.cxx.
void * TCling::RewindInterpreterMutex | ( | ) |
Reset the interpreter lock to the state it had before interpreter-related calls happened.
Definition at line 9567 of file TCling.cxx.
|
virtual |
|
virtual |
Save the current Cling state of global objects.
Implements TInterpreter.
Definition at line 3830 of file TCling.cxx.
[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 7533 of file TCling.cxx.
[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 7543 of file TCling.cxx.
Reimplemented from TInterpreter.
Enable/Disable the AutoLoading of libraries.
Returns the old value, i.e whether it was enabled or not.
Reimplemented from TInterpreter.
Definition at line 7564 of file TCling.cxx.
Enable/Disable the Autoparsing of headers.
Returns the old value, i.e whether it was enabled or not.
Reimplemented from TInterpreter.
Definition at line 7582 of file TCling.cxx.
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 3976 of file TCling.cxx.
|
virtual |
Register the AutoLoading information for a class.
libs is a space separated list of libraries.
Implements TInterpreter.
Definition at line 5994 of file TCling.cxx.
Implements TInterpreter.
Definition at line 8720 of file TCling.cxx.
Set a callback to receive error messages.
Reimplemented from TInterpreter.
Definition at line 7603 of file TCling.cxx.
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 7356 of file TCling.cxx.
|
virtual |
Set a getline function to call when input is needed.
Implements TInterpreter.
Definition at line 3606 of file TCling.cxx.
Implements TInterpreter.
Suspend the Autoparsing of headers.
Returns the old value, i.e whether it was suspended or not.
Implements TInterpreter.
Definition at line 7593 of file TCling.cxx.
Create / close a scope for temporaries.
No-op for cling; use cling::Value instead.
Reimplemented from TInterpreter.
Definition at line 7639 of file TCling.cxx.
|
staticprivate |
Definition at line 6072 of file TCling.cxx.
|
virtual |
Implements TInterpreter.
Definition at line 1673 of file TCling.cxx.
|
virtual |
Implements TInterpreter.
Definition at line 9506 of file TCling.cxx.
|
virtual |
Implements TInterpreter.
Definition at line 1030 of file TCling.cxx.
void TCling::TransactionRollback | ( | const cling::Transaction & | T | ) |
Definition at line 6961 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9410 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9417 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9425 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9433 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9440 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9450 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9490 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9458 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9466 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9474 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9498 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9482 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9317 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9324 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9332 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9340 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9347 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9356 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9364 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9372 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9380 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9388 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 9396 of file TCling.cxx.
|
virtual |
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 5398 of file TCling.cxx.
|
virtual |
Unload the library map entries coming from all the loaded shared libraries.
Returns 0 if succesful
Implements TInterpreter.
Definition at line 5914 of file TCling.cxx.
|
virtual |
Reimplemented from TInterpreter.
Definition at line 7645 of file TCling.cxx.
|
virtual |
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 5932 of file TCling.cxx.
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 2407 of file TCling.cxx.
|
static |
Update all canvases at end the terminal input command.
Definition at line 6764 of file TCling.cxx.
No op: see TClingCallbacks.
Definition at line 6749 of file TCling.cxx.
void TCling::UpdateClassInfoWithDecl | ( | const clang::NamedDecl * | ND | ) |
Internal function. Inform a TClass about its new TagDecl or NamespaceDecl.
Definition at line 6691 of file TCling.cxx.
|
static |
Definition at line 6755 of file TCling.cxx.
Implements TInterpreter.
Definition at line 411 of file TCling.cxx.
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 4442 of file TCling.cxx.
|
virtual |
No op: see TClingCallbacks (used to update the list of global functions)
Implements TInterpreter.
Definition at line 3850 of file TCling.cxx.
|
virtual |
No op: see TClingCallbacks (used to update the list of globals)
Implements TInterpreter.
Definition at line 3843 of file TCling.cxx.
|
private |
Definition at line 3306 of file TCling.cxx.
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 4433 of file TCling.cxx.
|
virtual |
No op: see TClingCallbacks (used to update the list of types)
Implements TInterpreter.
Definition at line 3857 of file TCling.cxx.
void TCling::UpdateListsOnCommitted | ( | const cling::Transaction & | T | ) |
Definition at line 6775 of file TCling.cxx.
void TCling::UpdateListsOnUnloaded | ( | const cling::Transaction & | T | ) |
Invalidate stored TCling state for declarations included in transaction ‘T’.
Definition at line 6859 of file TCling.cxx.
|
friend |
Definition at line 45 of file rootclingTCling.cxx.
|
friend |
Definition at line 578 of file TCling.cxx.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
staticconstexprprivate |