Logo ROOT  
Reference Guide
TCling.h
Go to the documentation of this file.
1 // @(#)root/meta:$Id$
2 // Author: Axel Naumann, 2011-10-19
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2019, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 
13 #ifndef ROOT_TCling
14 #define ROOT_TCling
15 
16 //////////////////////////////////////////////////////////////////////////
17 // //
18 // TCling //
19 // //
20 // This class defines an interface to the cling C++ interpreter. //
21 // //
22 // Cling is a full ANSI compliant C++ interpreter based on //
23 // clang/LLVM technology. //
24 // //
25 //////////////////////////////////////////////////////////////////////////
26 
27 #include "TInterpreter.h"
28 
29 #include <map>
30 #include <memory>
31 #include <set>
32 #include <tuple>
33 #include <unordered_map>
34 #include <unordered_set>
35 #include <vector>
36 #include <string>
37 #include <utility>
38 
39 #ifndef WIN32
40 #define TWin32SendClass char
41 #endif
42 
43 namespace llvm {
44  class GlobalValue;
45  class StringRef;
46 }
47 
48 namespace clang {
49  class CXXRecordDecl;
50  class Decl;
51  class DeclContext;
52  class EnumDecl;
53  class FunctionDecl;
54  class NamedDecl;
55  class NamespaceDecl;
56  class TagDecl;
57  class Type;
58  class QualType;
59 }
60 namespace cling {
61  class Interpreter;
62  class MetaProcessor;
63  class Transaction;
64  class Value;
65 }
66 
67 class TClingCallbacks;
68 class TEnv;
69 class TFile;
70 class THashTable;
71 class TInterpreterValue;
72 class TMethod;
73 class TObjArray;
74 class TListOfDataMembers;
75 class TListOfFunctions;
77 class TListOfEnums;
78 
79 namespace ROOT {
80  namespace TMetaUtils {
81  class TNormalizedCtxt;
82  class TClingLookupHelper;
83  }
84 }
85 
86 extern "C" {
87  void TCling__UpdateListsOnCommitted(const cling::Transaction&,
88  cling::Interpreter*);
89  void TCling__UpdateListsOnUnloaded(const cling::Transaction&);
90  void TCling__InvalidateGlobal(const clang::Decl*);
91  void TCling__TransactionRollback(const cling::Transaction&);
92  TObject* TCling__GetObjectAddress(const char *Name, void *&LookupCtx);
93  const clang::Decl* TCling__GetObjectDecl(TObject *obj);
94  void TCling__LibraryLoaded(const void* dyLibHandle,
95  const char* canonicalName);
96  void TCling__LibraryUnloaded(const void* dyLibHandle,
97  const char* canonicalName);
98  void TCling__RegisterRdictForLoadPCM(const std::string &pcmFileNameFullPath, llvm::StringRef *pcmContent);
99 }
100 
101 class TCling final : public TInterpreter {
102 private: // Static Data Members
103 
104  static void* fgSetOfSpecials; // set of TObjects used in CINT variables
105 
106 private: // Data Members
107 
108  Int_t fMore; // The brace indent level for the cint command line processor.
109  Int_t fExitCode; // Value passed to exit() in interpreter.
110  char fPrompt[64]; // Command line prompt string.
111  //cling::DictPosition fDictPos; // dictionary context after initialization is complete.
112  //cling::DictPosition fDictPosGlobals; // dictionary context after ResetGlobals().
113  TString fSharedLibs; // Shared libraries loaded by G__loadfile().
114  Int_t fGlobalsListSerial;// Last time we refreshed the ROOT list of globals.
115  TString fIncludePath; // Interpreter include path.
116  TString fRootmapLoadPath; // Dynamic load path for rootmap files.
117  TEnv* fMapfile; // Association of classes to libraries.
118  std::vector<std::string> fAutoLoadLibStorage; // A storage to return a const char* from GetClassSharedLibsForModule.
119  std::map<size_t,std::vector<const char*>> fClassesHeadersMap; // Map of classes hashes and headers associated
120  std::map<const cling::Transaction*,size_t> fTransactionHeadersMap; // Map which transaction contains which autoparse.
121  std::set<size_t> fLookedUpClasses; // Set of classes for which headers were looked up already
122  std::set<size_t> fPayloads; // Set of payloads
123  std::set<const char*> fParsedPayloadsAddresses; // Set of payloads which were parsed
124  std::hash<std::string> fStringHashFunction; // A simple hashing function
125  std::unordered_set<const clang::NamespaceDecl*> fNSFromRootmaps; // Collection of namespaces fwd declared in the rootmaps
126  TObjArray* fRootmapFiles; // Loaded rootmap files.
127  Bool_t fLockProcessLine; // True if ProcessLine should lock gInterpreterMutex.
128  Bool_t fCxxModulesEnabled;// True if C++ modules was enabled
129 
130  std::unique_ptr<cling::Interpreter> fInterpreter; // The interpreter.
131  std::unique_ptr<cling::MetaProcessor> fMetaProcessor; // The metaprocessor.
132 
133  std::vector<cling::Value> *fTemporaries; // Stack of temporaries
134  ROOT::TMetaUtils::TNormalizedCtxt *fNormalizedCtxt; // Which typedef to avoid stripping.
135  ROOT::TMetaUtils::TClingLookupHelper *fLookupHelper; // lookup helper used by TClassEdit
136 
137  void* fPrevLoadedDynLibInfo; // Internal info to mark the last loaded libray.
138  std::vector<void*> fRegisterModuleDyLibs; // Stack of libraries currently running RegisterModule
139  TClingCallbacks* fClingCallbacks; // cling::Interpreter owns it.
140  struct CharPtrCmp_t {
141  bool operator()(const char* a, const char *b) const {
142  return strcmp(a, b) < 0;
143  }
144  };
145  std::set<TClass*> fModTClasses;
146  std::vector<std::pair<TClass*,DictFuncPtr_t> > fClassesToUpdate;
148  ULong64_t fTransactionCount; // Cling counter for commited or unloaded transactions which changed the AST.
149  std::vector<const char*> fCurExecutingMacros;
150 
152  typedef std::unordered_map<std::string, TObject*> SpecialObjectMap_t;
153  std::map<SpecialObjectLookupCtx_t, SpecialObjectMap_t> fSpecialObjectMaps;
154 
156  /// State of gCoreMutex when the first interpreter-related function was invoked.
157  std::unique_ptr<ROOT::TVirtualRWMutex::State> fState;
158 
159  /// Interpreter-related functions will push the "entry" lock state to *this.
160  /// Recursive calls will do that, too - but we must only forget about the lock
161  /// state once this recursion count went to 0.
163 
164  operator bool() const { return (bool)fState; }
165  };
166 
167  std::vector<MutexStateAndRecurseCount> fInitialMutex{1};
168 
169  DeclId_t GetDeclId(const llvm::GlobalValue *gv) const;
170 
171  static Int_t DeepAutoLoadImpl(const char *cls);
172  static Int_t ShallowAutoLoadImpl(const char *cls);
173 
176 
177  UInt_t AutoParseImplRecurse(const char *cls, bool topLevel);
178  constexpr static const char* kNullArgv[] = {nullptr};
179 
180  bool fIsShuttingDown = false;
181 
182 protected:
184 
185 public: // Public Interface
186 
187  virtual ~TCling();
188  TCling(const char* name, const char* title, const char* const argv[]);
189  TCling(const char* name, const char* title): TCling(name, title, kNullArgv) {}
190 
191  void AddIncludePath(const char* path);
192  void *GetAutoLoadCallBack() const { return fAutoLoadCallBack; }
193  void *SetAutoLoadCallBack(void* cb) { void* prev = fAutoLoadCallBack; fAutoLoadCallBack = cb; return prev; }
194  Int_t AutoLoad(const char *classname, Bool_t knowDictNotLoaded = kFALSE);
195  Int_t AutoLoad(const std::type_info& typeinfo, Bool_t knowDictNotLoaded = kFALSE);
196  Int_t AutoParse(const char* cls);
197  void* LazyFunctionCreatorAutoload(const std::string& mangled_name);
198  bool LibraryLoadingFailed(const std::string&, const std::string&, bool, bool);
199  Bool_t IsAutoLoadNamespaceCandidate(const clang::NamespaceDecl* nsDecl);
200  void ClearFileBusy();
201  void ClearStack(); // Delete existing temporary values
202  Bool_t Declare(const char* code);
203  void EndOfLineAction();
204  TClass *GetClass(const std::type_info& typeinfo, Bool_t load) const;
205  Int_t GetExitCode() const { return fExitCode; }
206  TEnv* GetMapfile() const { return fMapfile; }
207  Int_t GetMore() const { return fMore; }
208  TClass *GenerateTClass(const char *classname, Bool_t emulation, Bool_t silent = kFALSE);
209  TClass *GenerateTClass(ClassInfo_t *classinfo, Bool_t silent = kFALSE);
210  Int_t GenerateDictionary(const char* classes, const char* includes = "", const char* options = 0);
211  char* GetPrompt() { return fPrompt; }
212  const char* GetSharedLibs();
213  const char* GetClassSharedLibs(const char* cls);
214  const char* GetSharedLibDeps(const char* lib, bool tryDyld = false);
215  const char* GetIncludePath();
216  virtual const char* GetSTLIncludePath() const;
218  unsigned long long GetInterpreterStateMarker() const { return fTransactionCount;}
219  virtual void Initialize();
220  virtual void ShutDown();
221  void InspectMembers(TMemberInspector&, const void* obj, const TClass* cl, Bool_t isTransient);
222  Bool_t IsLoaded(const char* filename) const;
223  Bool_t IsLibraryLoaded(const char* libname) const;
224  Bool_t HasPCMForLibrary(const char *libname) const;
225  Int_t Load(const char* filenam, Bool_t system = kFALSE);
226  void LoadMacro(const char* filename, EErrorCode* error = 0);
227  Int_t LoadLibraryMap(const char* rootmapfile = 0);
231  Int_t UnloadLibraryMap(const char* library);
232  Long_t ProcessLine(const char* line, EErrorCode* error = 0);
233  Long_t ProcessLineAsynch(const char* line, EErrorCode* error = 0);
234  Long_t ProcessLineSynch(const char* line, EErrorCode* error = 0);
235  void PrintIntro();
236  bool RegisterPrebuiltModulePath(const std::string& FullPath,
237  const std::string& ModuleMapName = "module.modulemap") const;
238  void RegisterModule(const char* modulename,
239  const char** headers,
240  const char** includePaths,
241  const char* payloadCode,
242  const char* fwdDeclsCode,
243  void (*triggerFunc)(),
244  const FwdDeclArgsToKeepCollection_t& fwdDeclsArgToSkip,
245  const char** classesHeaders,
246  Bool_t lateRegistration = false,
247  Bool_t hasCxxModule = false);
248  void RegisterTClassUpdate(TClass *oldcl,DictFuncPtr_t dict);
249  void UnRegisterTClassUpdate(const TClass *oldcl);
250 
251  Int_t SetClassSharedLibs(const char *cls, const char *libs);
252  void SetGetline(const char * (*getlineFunc)(const char* prompt),
253  void (*histaddFunc)(const char* line));
254  void Reset();
255  void ResetAll();
256  void ResetGlobals();
257  void ResetGlobalVar(void* obj);
258  void RewindDictionary();
259  Int_t DeleteGlobal(void* obj);
260  Int_t DeleteVariable(const char *name);
261  void SaveContext();
262  void SaveGlobalsContext();
263  void UpdateListOfGlobals();
265  void UpdateListOfTypes();
266  void SetClassInfo(TClass* cl, Bool_t reload = kFALSE);
267 
268  ECheckClassInfo CheckClassInfo(const char *name, Bool_t autoload, Bool_t isClassOrNamespaceOnly = kFALSE);
269 
270  Bool_t CheckClassTemplate(const char *name);
271  Long_t Calc(const char* line, EErrorCode* error = 0);
272  void CreateListOfBaseClasses(TClass* cl) const;
273  void CreateListOfDataMembers(TClass* cl) const;
274  void CreateListOfMethods(TClass* cl) const;
275  void CreateListOfMethodArgs(TFunction* m) const;
276  void UpdateListOfMethods(TClass* cl) const;
277  void UpdateListOfDataMembers(TClass* cl) const;
278 
279  virtual DeclId_t GetDataMember(ClassInfo_t *cl, const char *name) const;
280  virtual DeclId_t GetDataMemberAtAddr(const void *addr) const;
281  virtual DeclId_t GetDataMemberWithValue(const void *ptrvalue) const;
282  virtual DeclId_t GetEnum(TClass *cl, const char *name) const;
283  virtual TEnum* CreateEnum(void *VD, TClass *cl) const;
284  virtual void UpdateEnumConstants(TEnum* enumObj, TClass* cl) const;
285  virtual void LoadEnums(TListOfEnums& cl) const;
286  virtual std::string ToString(const char* type, void *obj);
287  TString GetMangledName(TClass* cl, const char* method, const char* params, Bool_t objectIsConst = kFALSE);
288  TString GetMangledNameWithPrototype(TClass* cl, const char* method, const char* proto, Bool_t objectIsConst = kFALSE, ROOT::EFunctionMatchMode mode = ROOT::kConversionMatch);
289  void* GetInterfaceMethod(TClass* cl, const char* method, const char* params, Bool_t objectIsConst = kFALSE);
290  void* GetInterfaceMethodWithPrototype(TClass* cl, const char* method, const char* proto, Bool_t objectIsConst = kFALSE, ROOT::EFunctionMatchMode mode = ROOT::kConversionMatch);
291  DeclId_t GetFunction(ClassInfo_t *cl, const char *funcname);
292  DeclId_t GetFunctionWithPrototype(ClassInfo_t *cl, const char* method, const char* proto, Bool_t objectIsConst = kFALSE, ROOT::EFunctionMatchMode mode = ROOT::kConversionMatch);
293  DeclId_t GetFunctionWithValues(ClassInfo_t *cl, const char* method, const char* params, Bool_t objectIsConst = kFALSE);
294  DeclId_t GetFunctionTemplate(ClassInfo_t *cl, const char *funcname);
295  void GetFunctionOverloads(ClassInfo_t *cl, const char *funcname, std::vector<DeclId_t>& res) const;
296  virtual void LoadFunctionTemplates(TClass* cl) const;
297 
298  virtual std::vector<std::string> GetUsingNamespaces(ClassInfo_t *cl) const;
299 
300  void GetInterpreterTypeName(const char* name, std::string &output, Bool_t full = kFALSE);
301  void Execute(const char* function, const char* params, int* error = 0);
302  void Execute(TObject* obj, TClass* cl, const char* method, const char* params, int* error = 0);
303  void Execute(TObject* obj, TClass* cl, const char* method, const char* params, Bool_t objectIsConst, int* error = 0);
304  void Execute(TObject* obj, TClass* cl, TMethod* method, TObjArray* params, int* error = 0);
305  void ExecuteWithArgsAndReturn(TMethod* method, void* address, const void* args[] = 0, int nargs = 0, void* ret= 0) const;
306  Long_t ExecuteMacro(const char* filename, EErrorCode* error = 0);
307  void RecursiveRemove(TObject* obj);
311  return fLockProcessLine;
312  }
314  fLockProcessLine = lock;
315  }
316  const char* TypeName(const char* typeDesc);
317 
319  void ForgetMutexState();
320 
321  void ApplyToInterpreterMutex(void* delta);
322  void *RewindInterpreterMutex();
323 
324  static void UpdateClassInfo(char* name, Long_t tagnum);
325  static void UpdateClassInfoWork(const char* name);
326  void RefreshClassInfo(TClass *cl, const clang::NamedDecl *def, bool alias);
327  void UpdateClassInfoWithDecl(const clang::NamedDecl* ND);
328  static void UpdateAllCanvases();
329 
330  // Misc
331  virtual int DisplayClass(FILE* fout, const char* name, int base, int start) const;
332  virtual int DisplayIncludePath(FILE* fout) const;
333  virtual void* FindSym(const char* entry) const;
334  virtual void GenericError(const char* error) const;
335  virtual Long_t GetExecByteCode() const;
336  virtual const char* GetTopLevelMacroName() const;
337  virtual const char* GetCurrentMacroName() const;
338  virtual int GetSecurityError() const;
339  virtual int LoadFile(const char* path) const;
340  virtual Bool_t LoadText(const char* text) const;
341  virtual const char* MapCppName(const char*) const;
342  virtual void SetAlloclockfunc(void (*)()) const;
343  virtual void SetAllocunlockfunc(void (*)()) const;
344  virtual int SetClassAutoLoading(int) const;
345  virtual int SetClassAutoparsing(int) ;
347  virtual void SetErrmsgcallback(void* p) const;
348  virtual void SetTempLevel(int val) const;
349  virtual int UnloadFile(const char* path) const;
350 
351  void CodeComplete(const std::string&, size_t&,
352  std::vector<std::string>&);
353  virtual int Evaluate(const char*, TInterpreterValue&);
354  virtual std::unique_ptr<TInterpreterValue> MakeInterpreterValue() const;
355  void RegisterTemporary(const TInterpreterValue& value);
356  void RegisterTemporary(const cling::Value& value);
358  TObject* GetObjectAddress(const char *Name, void *&LookupCtx);
359 
360 
361  // core/meta helper functions.
362  virtual EReturnType MethodCallReturnType(TFunction *func) const;
363  virtual void GetFunctionName(const clang::FunctionDecl *decl, std::string &name) const;
364  virtual bool DiagnoseIfInterpreterException(const std::exception &e) const;
365 
366  // CallFunc interface
367  virtual DeclId_t GetDeclId(CallFunc_t *info) const;
368  virtual void CallFunc_Delete(CallFunc_t* func) const;
369  virtual void CallFunc_Exec(CallFunc_t* func, void* address) const;
370  virtual void CallFunc_Exec(CallFunc_t* func, void* address, TInterpreterValue& val) const;
371  virtual void CallFunc_ExecWithReturn(CallFunc_t* func, void* address, void* ret) const;
372  virtual void CallFunc_ExecWithArgsAndReturn(CallFunc_t* func, void* address, const void* args[] = 0, int nargs = 0, void* ret = 0) const;
373  virtual Long_t CallFunc_ExecInt(CallFunc_t* func, void* address) const;
374  virtual Long64_t CallFunc_ExecInt64(CallFunc_t* func, void* address) const;
375  virtual Double_t CallFunc_ExecDouble(CallFunc_t* func, void* address) const;
376  virtual CallFunc_t* CallFunc_Factory() const;
377  virtual CallFunc_t* CallFunc_FactoryCopy(CallFunc_t* func) const;
378  virtual MethodInfo_t* CallFunc_FactoryMethod(CallFunc_t* func) const;
379  virtual void CallFunc_IgnoreExtraArgs(CallFunc_t* func, bool ignore) const;
380  virtual void CallFunc_Init(CallFunc_t* func) const;
381  virtual bool CallFunc_IsValid(CallFunc_t* func) const;
382  virtual CallFuncIFacePtr_t CallFunc_IFacePtr(CallFunc_t * func) const;
383  virtual void CallFunc_ResetArg(CallFunc_t* func) const;
384  virtual void CallFunc_SetArg(CallFunc_t* func, Long_t param) const;
385  virtual void CallFunc_SetArg(CallFunc_t* func, ULong_t param) const;
386  virtual void CallFunc_SetArg(CallFunc_t* func, Float_t param) const;
387  virtual void CallFunc_SetArg(CallFunc_t* func, Double_t param) const;
388  virtual void CallFunc_SetArg(CallFunc_t* func, Long64_t param) const;
389  virtual void CallFunc_SetArg(CallFunc_t* func, ULong64_t param) const;
390  virtual void CallFunc_SetArgArray(CallFunc_t* func, Long_t* paramArr, Int_t nparam) const;
391  virtual void CallFunc_SetArgs(CallFunc_t* func, const char* param) const;
392  virtual void CallFunc_SetFunc(CallFunc_t* func, ClassInfo_t* info, const char* method, const char* params, Long_t* Offset) const;
393  virtual void CallFunc_SetFunc(CallFunc_t* func, ClassInfo_t* info, const char* method, const char* params, bool objectIsConst, Long_t* Offset) const;
394  virtual void CallFunc_SetFunc(CallFunc_t* func, MethodInfo_t* info) const;
395  virtual void CallFunc_SetFuncProto(CallFunc_t* func, ClassInfo_t* info, const char* method, const char* proto, Long_t* Offset, ROOT::EFunctionMatchMode mode = ROOT::kConversionMatch) const;
396  virtual void CallFunc_SetFuncProto(CallFunc_t* func, ClassInfo_t* info, const char* method, const char* proto, bool objectIsConst, Long_t* Offset, ROOT::EFunctionMatchMode mode = ROOT::kConversionMatch) const;
397  virtual void CallFunc_SetFuncProto(CallFunc_t* func, ClassInfo_t* info, const char* method, const std::vector<TypeInfo_t*> &proto, Long_t* Offset, ROOT::EFunctionMatchMode mode = ROOT::kConversionMatch) const;
398  virtual void CallFunc_SetFuncProto(CallFunc_t* func, ClassInfo_t* info, const char* method, const std::vector<TypeInfo_t*> &proto, bool objectIsConst, Long_t* Offset, ROOT::EFunctionMatchMode mode = ROOT::kConversionMatch) const;
399 
400  virtual std::string CallFunc_GetWrapperCode(CallFunc_t *func) const;
401 
402  // ClassInfo interface
403  virtual DeclId_t GetDeclId(ClassInfo_t *info) const;
404  virtual Bool_t ClassInfo_Contains(ClassInfo_t *info, DeclId_t declid) const;
405  virtual Long_t ClassInfo_ClassProperty(ClassInfo_t* info) const;
406  virtual void ClassInfo_Delete(ClassInfo_t* info) const;
407  virtual void ClassInfo_Delete(ClassInfo_t* info, void* arena) const;
408  virtual void ClassInfo_DeleteArray(ClassInfo_t* info, void* arena, bool dtorOnly) const;
409  virtual void ClassInfo_Destruct(ClassInfo_t* info, void* arena) const;
410  virtual ClassInfo_t* ClassInfo_Factory(Bool_t all = kTRUE) const;
411  virtual ClassInfo_t* ClassInfo_Factory(ClassInfo_t* cl) const;
412  virtual ClassInfo_t* ClassInfo_Factory(const char* name) const;
413  virtual ClassInfo_t* ClassInfo_Factory(DeclId_t declid) const;
414  virtual Long_t ClassInfo_GetBaseOffset(ClassInfo_t* fromDerived, ClassInfo_t* toBase, void * address, bool isDerivedObject) const;
415  virtual int ClassInfo_GetMethodNArg(ClassInfo_t* info, const char* method, const char* proto, Bool_t objectIsConst = false, ROOT::EFunctionMatchMode mode = ROOT::kConversionMatch) const;
416  virtual bool ClassInfo_HasDefaultConstructor(ClassInfo_t* info, Bool_t testio = kFALSE) const;
417  virtual bool ClassInfo_HasMethod(ClassInfo_t* info, const char* name) const;
418  virtual void ClassInfo_Init(ClassInfo_t* info, const char* funcname) const;
419  virtual void ClassInfo_Init(ClassInfo_t* info, int tagnum) const;
420  virtual bool ClassInfo_IsBase(ClassInfo_t* info, const char* name) const;
421  virtual bool ClassInfo_IsEnum(const char* name) const;
422  virtual bool ClassInfo_IsScopedEnum(ClassInfo_t* info) const;
423  virtual EDataType ClassInfo_GetUnderlyingType(ClassInfo_t* info) const;
424  virtual bool ClassInfo_IsLoaded(ClassInfo_t* info) const;
425  virtual bool ClassInfo_IsValid(ClassInfo_t* info) const;
426  virtual bool ClassInfo_IsValidMethod(ClassInfo_t* info, const char* method, const char* proto, Long_t* offset, ROOT::EFunctionMatchMode /* mode */ = ROOT::kConversionMatch) const;
427  virtual bool ClassInfo_IsValidMethod(ClassInfo_t* info, const char* method, const char* proto, Bool_t objectIsConst, Long_t* offset, ROOT::EFunctionMatchMode /* mode */ = ROOT::kConversionMatch) const;
428  virtual int ClassInfo_Next(ClassInfo_t* info) const;
429  virtual void* ClassInfo_New(ClassInfo_t* info) const;
430  virtual void* ClassInfo_New(ClassInfo_t* info, int n) const;
431  virtual void* ClassInfo_New(ClassInfo_t* info, int n, void* arena) const;
432  virtual void* ClassInfo_New(ClassInfo_t* info, void* arena) const;
433  virtual Long_t ClassInfo_Property(ClassInfo_t* info) const;
434  virtual int ClassInfo_Size(ClassInfo_t* info) const;
435  virtual Long_t ClassInfo_Tagnum(ClassInfo_t* info) const;
436  virtual const char* ClassInfo_FileName(ClassInfo_t* info) const;
437  virtual const char* ClassInfo_FullName(ClassInfo_t* info) const;
438  virtual const char* ClassInfo_Name(ClassInfo_t* info) const;
439  virtual const char* ClassInfo_Title(ClassInfo_t* info) const;
440  virtual const char* ClassInfo_TmpltName(ClassInfo_t* info) const;
441 
442  // BaseClassInfo interface
443  virtual void BaseClassInfo_Delete(BaseClassInfo_t* bcinfo) const;
444  virtual BaseClassInfo_t* BaseClassInfo_Factory(ClassInfo_t* info) const;
445  virtual BaseClassInfo_t* BaseClassInfo_Factory(ClassInfo_t* derived,
446  ClassInfo_t* base) const;
447  virtual int BaseClassInfo_Next(BaseClassInfo_t* bcinfo) const;
448  virtual int BaseClassInfo_Next(BaseClassInfo_t* bcinfo, int onlyDirect) const;
449  virtual Long_t BaseClassInfo_Offset(BaseClassInfo_t* toBaseClassInfo, void * address, bool isDerivedObject) const;
450  virtual Long_t BaseClassInfo_Property(BaseClassInfo_t* bcinfo) const;
451  virtual Long_t BaseClassInfo_Tagnum(BaseClassInfo_t* bcinfo) const;
452  virtual ClassInfo_t*BaseClassInfo_ClassInfo(BaseClassInfo_t * /* bcinfo */) const;
453  virtual const char* BaseClassInfo_FullName(BaseClassInfo_t* bcinfo) const;
454  virtual const char* BaseClassInfo_Name(BaseClassInfo_t* bcinfo) const;
455  virtual const char* BaseClassInfo_TmpltName(BaseClassInfo_t* bcinfo) const;
456 
457  // DataMemberInfo interface
458  virtual DeclId_t GetDeclId(DataMemberInfo_t *info) const;
459  virtual int DataMemberInfo_ArrayDim(DataMemberInfo_t* dminfo) const;
460  virtual void DataMemberInfo_Delete(DataMemberInfo_t* dminfo) const;
461  virtual DataMemberInfo_t* DataMemberInfo_Factory(ClassInfo_t* clinfo = 0) const;
462  virtual DataMemberInfo_t *DataMemberInfo_Factory(DeclId_t declid, ClassInfo_t* clinfo) const;
463  virtual DataMemberInfo_t* DataMemberInfo_FactoryCopy(DataMemberInfo_t* dminfo) const;
464  virtual bool DataMemberInfo_IsValid(DataMemberInfo_t* dminfo) const;
465  virtual int DataMemberInfo_MaxIndex(DataMemberInfo_t* dminfo, Int_t dim) const;
466  virtual int DataMemberInfo_Next(DataMemberInfo_t* dminfo) const;
467  virtual Long_t DataMemberInfo_Offset(DataMemberInfo_t* dminfo) const;
468  virtual Long_t DataMemberInfo_Property(DataMemberInfo_t* dminfo) const;
469  virtual Long_t DataMemberInfo_TypeProperty(DataMemberInfo_t* dminfo) const;
470  virtual int DataMemberInfo_TypeSize(DataMemberInfo_t* dminfo) const;
471  virtual const char* DataMemberInfo_TypeName(DataMemberInfo_t* dminfo) const;
472  virtual const char* DataMemberInfo_TypeTrueName(DataMemberInfo_t* dminfo) const;
473  virtual const char* DataMemberInfo_Name(DataMemberInfo_t* dminfo) const;
474  virtual const char* DataMemberInfo_Title(DataMemberInfo_t* dminfo) const;
475  virtual const char* DataMemberInfo_ValidArrayIndex(DataMemberInfo_t* dminfo) const;
476  virtual void SetDeclAttr(DeclId_t, const char* /* attribute */);
477 
478 
479  // Function Template interface
480  virtual DeclId_t GetDeclId(FuncTempInfo_t *info) const;
481  virtual void FuncTempInfo_Delete(FuncTempInfo_t * /* ft_info */) const;
482  virtual FuncTempInfo_t *FuncTempInfo_Factory(DeclId_t declid) const;
483  virtual FuncTempInfo_t *FuncTempInfo_FactoryCopy(FuncTempInfo_t * /* ft_info */) const;
484  virtual Bool_t FuncTempInfo_IsValid(FuncTempInfo_t * /* ft_info */) const;
485  virtual UInt_t FuncTempInfo_TemplateNargs(FuncTempInfo_t * /* ft_info */) const;
486  virtual UInt_t FuncTempInfo_TemplateMinReqArgs(FuncTempInfo_t * /* ft_info */) const;
487  virtual Long_t FuncTempInfo_Property(FuncTempInfo_t * /* ft_info */) const;
488  virtual Long_t FuncTempInfo_ExtraProperty(FuncTempInfo_t * /* ft_info */) const;
489  virtual void FuncTempInfo_Name(FuncTempInfo_t * /* ft_info */, TString& name) const;
490  virtual void FuncTempInfo_Title(FuncTempInfo_t * /* ft_info */, TString& name) const;
491 
492  // MethodInfo interface
493  virtual DeclId_t GetDeclId(MethodInfo_t *info) const;
494  virtual void MethodInfo_CreateSignature(MethodInfo_t* minfo, TString& signature) const;
495  virtual void MethodInfo_Delete(MethodInfo_t* minfo) const;
496  virtual MethodInfo_t* MethodInfo_Factory() const;
497  virtual MethodInfo_t* MethodInfo_Factory(ClassInfo_t *clinfo) const;
498  virtual MethodInfo_t *MethodInfo_Factory(DeclId_t declid) const;
499  virtual MethodInfo_t* MethodInfo_FactoryCopy(MethodInfo_t* minfo) const;
500  virtual void* MethodInfo_InterfaceMethod(MethodInfo_t* minfo) const;
501  virtual bool MethodInfo_IsValid(MethodInfo_t* minfo) const;
502  virtual int MethodInfo_NArg(MethodInfo_t* minfo) const;
503  virtual int MethodInfo_NDefaultArg(MethodInfo_t* minfo) const;
504  virtual int MethodInfo_Next(MethodInfo_t* minfo) const;
505  virtual Long_t MethodInfo_Property(MethodInfo_t* minfo) const;
506  virtual Long_t MethodInfo_ExtraProperty(MethodInfo_t* minfo) const;
507  virtual TypeInfo_t* MethodInfo_Type(MethodInfo_t* minfo) const;
508  virtual EReturnType MethodInfo_MethodCallReturnType(MethodInfo_t* minfo) const;
509  virtual const char* MethodInfo_GetMangledName(MethodInfo_t* minfo) const;
510  virtual const char* MethodInfo_GetPrototype(MethodInfo_t* minfo) const;
511  virtual const char* MethodInfo_Name(MethodInfo_t* minfo) const;
512  virtual const char* MethodInfo_TypeName(MethodInfo_t* minfo) const;
513  virtual std::string MethodInfo_TypeNormalizedName(MethodInfo_t* minfo) const;
514  virtual const char* MethodInfo_Title(MethodInfo_t* minfo) const;
515 
516  // MethodArgInfo interface
517  virtual void MethodArgInfo_Delete(MethodArgInfo_t* marginfo) const;
518  virtual MethodArgInfo_t* MethodArgInfo_Factory() const;
519  virtual MethodArgInfo_t* MethodArgInfo_Factory(MethodInfo_t *minfo) const;
520  virtual MethodArgInfo_t* MethodArgInfo_FactoryCopy(MethodArgInfo_t* marginfo) const;
521  virtual bool MethodArgInfo_IsValid(MethodArgInfo_t* marginfo) const;
522  virtual int MethodArgInfo_Next(MethodArgInfo_t* marginfo) const;
523  virtual Long_t MethodArgInfo_Property(MethodArgInfo_t* marginfo) const;
524  virtual const char* MethodArgInfo_DefaultValue(MethodArgInfo_t* marginfo) const;
525  virtual const char* MethodArgInfo_Name(MethodArgInfo_t* marginfo) const;
526  virtual const char* MethodArgInfo_TypeName(MethodArgInfo_t* marginfo) const;
527  virtual std::string MethodArgInfo_TypeNormalizedName(MethodArgInfo_t *marginfo) const;
528 
529  // TypeInfo interface
530  virtual void TypeInfo_Delete(TypeInfo_t* tinfo) const;
531  virtual TypeInfo_t* TypeInfo_Factory() const;
532  virtual TypeInfo_t *TypeInfo_Factory(const char* name) const;
533  virtual TypeInfo_t* TypeInfo_FactoryCopy(TypeInfo_t* /* tinfo */) const;
534  virtual void TypeInfo_Init(TypeInfo_t* tinfo, const char* funcname) const;
535  virtual bool TypeInfo_IsValid(TypeInfo_t* tinfo) const;
536  virtual const char* TypeInfo_Name(TypeInfo_t* /* info */) const;
537  virtual Long_t TypeInfo_Property(TypeInfo_t* tinfo) const;
538  virtual int TypeInfo_RefType(TypeInfo_t* /* tinfo */) const;
539  virtual int TypeInfo_Size(TypeInfo_t* tinfo) const;
540  virtual const char* TypeInfo_TrueName(TypeInfo_t* tinfo) const;
541 
542  // TypedefInfo interface
543  virtual DeclId_t GetDeclId(TypedefInfo_t *info) const;
544  virtual void TypedefInfo_Delete(TypedefInfo_t* tinfo) const;
545  virtual TypedefInfo_t* TypedefInfo_Factory() const;
546  virtual TypedefInfo_t* TypedefInfo_Factory(const char* name) const;
547  virtual TypedefInfo_t* TypedefInfo_FactoryCopy(TypedefInfo_t* tinfo) const;
548  virtual void TypedefInfo_Init(TypedefInfo_t* tinfo, const char* name) const;
549  virtual bool TypedefInfo_IsValid(TypedefInfo_t* tinfo) const;
550  virtual int TypedefInfo_Next(TypedefInfo_t* tinfo) const;
551  virtual Long_t TypedefInfo_Property(TypedefInfo_t* tinfo) const;
552  virtual int TypedefInfo_Size(TypedefInfo_t* tinfo) const;
553  virtual const char* TypedefInfo_TrueName(TypedefInfo_t* tinfo) const;
554  virtual const char* TypedefInfo_Name(TypedefInfo_t* tinfo) const;
555  virtual const char* TypedefInfo_Title(TypedefInfo_t* tinfo) const;
556 
557  std::set<TClass*>& GetModTClasses() { return fModTClasses; }
558 
559  void HandleNewDecl(const void* DV, bool isDeserialized, std::set<TClass*>& modifiedClasses);
560  void UpdateListsOnCommitted(const cling::Transaction &T);
561  void UpdateListsOnUnloaded(const cling::Transaction &T);
562  void InvalidateGlobal(const clang::Decl *D);
563  void TransactionRollback(const cling::Transaction &T);
564  void LibraryLoaded(const void* dyLibHandle, const char* canonicalName);
565  void LibraryUnloaded(const void* dyLibHandle, const char* canonicalName);
566 
567 private: // Private Utility Functions and Classes
568  template <typename List, typename Object>
569  static void RemoveAndInvalidateObject(List &L, Object *O) {
570  // Invalidate stored information by setting the `xxxInfo_t' to nullptr.
571  if (O && O->IsValid())
572  L.Unload(O), O->Update(nullptr);
573  }
574 
575  void InvalidateCachedDecl(const std::tuple<TListOfDataMembers*,
578  TListOfEnums*> &Lists, const clang::Decl *D);
579 
581  TCling *fTCling = nullptr;
582  bool fOldValue;
583 
584  public:
587  };
588 
590  public:
591  TUniqueString() = delete;
592  TUniqueString(const TUniqueString &) = delete;
593  TUniqueString(Long64_t size);
594  const char *Data();
595  bool Append(const std::string &str);
596  private:
597  std::string fContent;
598  std::set<size_t> fLinesHashSet;
599  std::hash<std::string> fHashFunc;
600  };
601 
602  TCling();
603  TCling(const TCling&); // NOT IMPLEMENTED
604  TCling& operator=(const TCling&); // NOT IMPLEMENTED
605 
606  void Execute(TMethod*, TObjArray*, int* /*error*/ = 0)
607  {
608  }
609 
611  void RegisterLoadedSharedLibrary(const char* name);
612  void AddFriendToClass(clang::FunctionDecl*, clang::CXXRecordDecl*) const;
613 
614  std::map<std::string, llvm::StringRef> fPendingRdicts;
615  void RegisterRdictForLoadPCM(const std::string &pcmFileNameFullPath, llvm::StringRef *pcmContent);
616  void LoadPCM(std::string pcmFileNameFullPath);
617  void LoadPCMImpl(TFile &pcmFile);
618 
619  void InitRootmapFile(const char *name);
620  int ReadRootmapFile(const char *rootmapfile, TUniqueString* uniqueString = nullptr);
621  Bool_t HandleNewTransaction(const cling::Transaction &T);
622  bool IsClassAutoLoadingEnabled() const;
623  void ProcessClassesToUpdate();
624  cling::Interpreter *GetInterpreterImpl() const { return fInterpreter.get(); }
625  cling::MetaProcessor *GetMetaProcessorImpl() const { return fMetaProcessor.get(); }
626 
627  friend void TCling__RegisterRdictForLoadPCM(const std::string &pcmFileNameFullPath, llvm::StringRef *pcmContent);
628  friend cling::Interpreter* TCling__GetInterpreter();
629 };
630 
631 #endif
TCling::GetSTLIncludePath
virtual const char * GetSTLIncludePath() const
Return the directory containing CINT's stl cintdlls.
Definition: TCling.cxx:7207
TCling::ClassInfo_IsBase
virtual bool ClassInfo_IsBase(ClassInfo_t *info, const char *name) const
Definition: TCling.cxx:8043
Object
void Object()
Definition: Object.C:6
TCling::MethodArgInfo_Name
virtual const char * MethodArgInfo_Name(MethodArgInfo_t *marginfo) const
Definition: TCling.cxx:9037
TCling::UpdateListOfGlobalFunctions
void UpdateListOfGlobalFunctions()
No op: see TClingCallbacks (used to update the list of global functions)
Definition: TCling.cxx:3697
TCling::HasPCMForLibrary
Bool_t HasPCMForLibrary(const char *libname) const
Return true if ROOT has cxxmodules pcm for a given library name.
Definition: TCling.cxx:3045
TCling::SaveGlobalsContext
void SaveGlobalsContext()
Save the current Cling state of global objects.
Definition: TCling.cxx:3677
TCling::HandleNewDecl
void HandleNewDecl(const void *DV, bool isDeserialized, std::set< TClass * > &modifiedClasses)
Definition: TCling.cxx:477
m
auto * m
Definition: textangle.C:8
TCling::TypeInfo_Property
virtual Long_t TypeInfo_Property(TypeInfo_t *tinfo) const
Definition: TCling.cxx:9121
TCling::SuspendAutoLoadingRAII::fTCling
TCling * fTCling
Definition: TCling.h:581
TCling::SetClassSharedLibs
Int_t SetClassSharedLibs(const char *cls, const char *libs)
Register the AutoLoading information for a class.
Definition: TCling.cxx:5808
n
const Int_t n
Definition: legend1.C:16
TCling::AddFriendToClass
void AddFriendToClass(clang::FunctionDecl *, clang::CXXRecordDecl *) const
Inject function as a friend into klass.
Definition: TCling.cxx:7546
TCling::CallFunc_FactoryCopy
virtual CallFunc_t * CallFunc_FactoryCopy(CallFunc_t *func) const
Definition: TCling.cxx:7696
TCling::IsAutoLoadNamespaceCandidate
Bool_t IsAutoLoadNamespaceCandidate(const clang::NamespaceDecl *nsDecl)
Definition: TCling.cxx:6448
TCling::ClassInfo_Factory
virtual ClassInfo_t * ClassInfo_Factory(Bool_t all=kTRUE) const
Definition: TCling.cxx:7971
TCling::RefreshClassInfo
void RefreshClassInfo(TClass *cl, const clang::NamedDecl *def, bool alias)
Internal function. Actually do the update of the ClassInfo when seeing.
Definition: TCling.cxx:6456
TMemberInspector
Definition: TMemberInspector.h:31
TCling::GetUsingNamespaces
virtual std::vector< std::string > GetUsingNamespaces(ClassInfo_t *cl) const
Get the scopes representing using declarations of namespace.
Definition: TCling.cxx:4234
llvm
Definition: TString.h:850
TCling::ClassInfo_Destruct
virtual void ClassInfo_Destruct(ClassInfo_t *info, void *arena) const
Definition: TCling.cxx:7963
TCling::fRegisterModuleDyLibs
std::vector< void * > fRegisterModuleDyLibs
Definition: TCling.h:138
TCling::ProcessClassesToUpdate
void ProcessClassesToUpdate()
Definition: TCling.cxx:1955
TCling::FindSym
virtual void * FindSym(const char *entry) const
Interface to cling function.
Definition: TCling.cxx:7254
TCling::ClassInfo_Property
virtual Long_t ClassInfo_Property(ClassInfo_t *info) const
Definition: TCling.cxx:8148
TListOfFunctions
Definition: TListOfFunctions.h:34
TCling::UpdateClassInfoWork
static void UpdateClassInfoWork(const char *name)
Definition: TCling.cxx:6563
kTRUE
const Bool_t kTRUE
Definition: RtypesCore.h:91
TCling::ExecuteMacro
Long_t ExecuteMacro(const char *filename, EErrorCode *error=0)
Execute a cling macro.
Definition: TCling.cxx:5146
TCling::Initialize
virtual void Initialize()
Initialize the interpreter, once TROOT::fInterpreter is set.
Definition: TCling.cxx:1613
e
#define e(i)
Definition: RSha256.hxx:121
TCling::fClassesToUpdate
std::vector< std::pair< TClass *, DictFuncPtr_t > > fClassesToUpdate
Definition: TCling.h:146
TCling::CallFunc_SetArgArray
virtual void CallFunc_SetArgArray(CallFunc_t *func, Long_t *paramArr, Int_t nparam) const
Definition: TCling.cxx:7801
TListOfFunctionTemplates
Definition: TListOfFunctionTemplates.h:34
TCling::ForgetMutexState
void ForgetMutexState()
Definition: TCling.cxx:9270
TCling::CallFunc_SetFunc
virtual void CallFunc_SetFunc(CallFunc_t *func, ClassInfo_t *info, const char *method, const char *params, Long_t *Offset) const
Definition: TCling.cxx:7817
TCling__LibraryLoaded
void TCling__LibraryLoaded(const void *dyLibHandle, const char *canonicalName)
TObjArray
Definition: TObjArray.h:37
TCling::ClassInfo_HasDefaultConstructor
virtual bool ClassInfo_HasDefaultConstructor(ClassInfo_t *info, Bool_t testio=kFALSE) const
Definition: TCling.cxx:8009
TCling::GetFunctionName
virtual void GetFunctionName(const clang::FunctionDecl *decl, std::string &name) const
Definition: TCling.cxx:8518
TCling::ClassInfo_HasMethod
virtual bool ClassInfo_HasMethod(ClassInfo_t *info, const char *name) const
Definition: TCling.cxx:8017
TCling::UpdateEnumConstants
virtual void UpdateEnumConstants(TEnum *enumObj, TClass *cl) const
Definition: TCling.cxx:402
TCling::SuspendAutoLoadingRAII::SuspendAutoLoadingRAII
SuspendAutoLoadingRAII(TCling *tcling)
Definition: TCling.h:585
TCling::DataMemberInfo_IsValid
virtual bool DataMemberInfo_IsValid(DataMemberInfo_t *dminfo) const
Definition: TCling.cxx:8382
TCling::FuncTempInfo_Property
virtual Long_t FuncTempInfo_Property(FuncTempInfo_t *) const
Return the property of the function template.
Definition: TCling.cxx:8614
TCling::EndOfLineAction
void EndOfLineAction()
It calls a "fantom" method to synchronize user keyboard input and ROOT prompt line.
Definition: TCling.cxx:3019
TCling::BaseClassInfo_Offset
virtual Long_t BaseClassInfo_Offset(BaseClassInfo_t *toBaseClassInfo, void *address, bool isDerivedObject) const
Definition: TCling.cxx:8264
TCling::CallFunc_Factory
virtual CallFunc_t * CallFunc_Factory() const
Definition: TCling.cxx:7688
TCling__LibraryUnloaded
void TCling__LibraryUnloaded(const void *dyLibHandle, const char *canonicalName)
TCling__UpdateListsOnCommitted
void TCling__UpdateListsOnCommitted(const cling::Transaction &, cling::Interpreter *)
Definition: TCling.cxx:545
TCling::AddIncludePath
void AddIncludePath(const char *path)
Add the given path to the list of directories in which the interpreter looks for include files.
Definition: TCling.cxx:2577
TCling::ShallowAutoLoadImpl
static Int_t ShallowAutoLoadImpl(const char *cls)
Definition: TCling.cxx:5886
ROOT::kConversionMatch
@ kConversionMatch
Definition: TDictionary.h:157
TCling::MethodInfo_GetPrototype
virtual const char * MethodInfo_GetPrototype(MethodInfo_t *minfo) const
Definition: TCling.cxx:8867
TCling::RegisterPrebuiltModulePath
bool RegisterPrebuiltModulePath(const std::string &FullPath, const std::string &ModuleMapName="module.modulemap") const
Definition: TCling.cxx:1877
TCling::GetSharedLibs
const char * GetSharedLibs()
Return the list of shared libraries loaded into the process.
Definition: TCling.cxx:6806
TCling::DataMemberInfo_Property
virtual Long_t DataMemberInfo_Property(DataMemberInfo_t *dminfo) const
Definition: TCling.cxx:8414
TCling::LoadPCMImpl
void LoadPCMImpl(TFile &pcmFile)
Tries to load a PCM from TFile; returns true on success.
Definition: TCling.cxx:1673
TCling::GetModTClasses
std::set< TClass * > & GetModTClasses()
Definition: TCling.h:557
TCling::TypeInfo_RefType
virtual int TypeInfo_RefType(TypeInfo_t *) const
Definition: TCling.cxx:9129
TCling::UpdateAllCanvases
static void UpdateAllCanvases()
Update all canvases at end the terminal input command.
Definition: TCling.cxx:6572
TCling::kNullArgv
constexpr static const char * kNullArgv[]
Definition: TCling.h:178
TCling::MethodInfo_Factory
virtual MethodInfo_t * MethodInfo_Factory() const
Definition: TCling.cxx:8760
TCling::TUniqueString::fContent
std::string fContent
Definition: TCling.h:597
TCling::SetDeclAttr
virtual void SetDeclAttr(DeclId_t, const char *)
Definition: TCling.cxx:8481
TCling::TypedefInfo_Delete
virtual void TypedefInfo_Delete(TypedefInfo_t *tinfo) const
Definition: TCling.cxx:9159
TCling::DisplayIncludePath
virtual int DisplayIncludePath(FILE *fout) const
Interface to cling function.
Definition: TCling.cxx:7225
ROOT::TMetaUtils::TClingLookupHelper
Definition: TClingUtils.h:160
TCling::ProcessLineSynch
Long_t ProcessLineSynch(const char *line, EErrorCode *error=0)
Let cling process a command line synchronously, i.e we are waiting it will be finished.
Definition: TCling.cxx:3384
TCling::LoadFile
virtual int LoadFile(const char *path) const
Load a source file or library called path into the interpreter.
Definition: TCling.cxx:7305
TCling::MethodInfo_Next
virtual int MethodInfo_Next(MethodInfo_t *minfo) const
Definition: TCling.cxx:8825
TCling::CheckClassTemplate
Bool_t CheckClassTemplate(const char *name)
Return true if there is a class template by the given name ...
Definition: TCling.cxx:4107
TCling::MethodArgInfo_Delete
virtual void MethodArgInfo_Delete(MethodArgInfo_t *marginfo) const
Definition: TCling.cxx:8974
TCling::TypeInfo_Size
virtual int TypeInfo_Size(TypeInfo_t *tinfo) const
Definition: TCling.cxx:9137
TCling::TypedefInfo_Init
virtual void TypedefInfo_Init(TypedefInfo_t *tinfo, const char *name) const
Definition: TCling.cxx:9189
TCling::RegisterTClassUpdate
void RegisterTClassUpdate(TClass *oldcl, DictFuncPtr_t dict)
Register classes that already existed prior to their dictionary loading and that already had a ClassI...
Definition: TCling.cxx:2335
TCling::CallFunc_ExecInt64
virtual Long64_t CallFunc_ExecInt64(CallFunc_t *func, void *address) const
Definition: TCling.cxx:7672
TCling::GetIncludePath
const char * GetIncludePath()
Refresh the list of include paths known to the interpreter and return it with -I prepended.
Definition: TCling.cxx:7176
TCling::DeleteGlobal
Int_t DeleteGlobal(void *obj)
Delete obj from Cling symbol table so it cannot be accessed anymore.
Definition: TCling.cxx:3588
TCling::ClassInfo_GetBaseOffset
virtual Long_t ClassInfo_GetBaseOffset(ClassInfo_t *fromDerived, ClassInfo_t *toBase, void *address, bool isDerivedObject) const
Definition: TCling.cxx:8272
TCling::LoadFunctionTemplates
virtual void LoadFunctionTemplates(TClass *cl) const
Create list of pointers to function templates for TClass cl.
Definition: TCling.cxx:4198
TCling::SetErrmsgcallback
virtual void SetErrmsgcallback(void *p) const
Set a callback to receive error messages.
Definition: TCling.cxx:7409
TCling::Calc
Long_t Calc(const char *line, EErrorCode *error=0)
Directly execute an executable statement (e.g.
Definition: TCling.cxx:3400
TCling::ShutDown
virtual void ShutDown()
Definition: TCling.cxx:1632
TCling::GetDataMember
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.
Definition: TCling.cxx:4522
TCling::fLookupHelper
ROOT::TMetaUtils::TClingLookupHelper * fLookupHelper
Definition: TCling.h:135
TCling::ReadRootmapFile
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 a...
Definition: TCling.cxx:5279
TCling::fSharedLibs
TString fSharedLibs
Definition: TCling.h:113
Long64_t
long long Long64_t
Definition: RtypesCore.h:73
TCling::BaseClassInfo_Name
virtual const char * BaseClassInfo_Name(BaseClassInfo_t *bcinfo) const
Definition: TCling.cxx:8319
TCling::fModTClasses
std::set< TClass * > fModTClasses
Definition: TCling.h:145
output
static void output(int code)
Definition: gifencode.c:226
TCling::ClassInfo_Delete
virtual void ClassInfo_Delete(ClassInfo_t *info) const
Definition: TCling.cxx:7940
TCling::TUniqueString
Definition: TCling.h:589
TCling::ClassInfo_TmpltName
virtual const char * ClassInfo_TmpltName(ClassInfo_t *info) const
Definition: TCling.cxx:8206
TCling::TransactionRollback
void TransactionRollback(const cling::Transaction &T)
Definition: TCling.cxx:6769
TCling::TCling__GetInterpreter
friend cling::Interpreter * TCling__GetInterpreter()
Definition: rootclingTCling.cxx:45
TCling__GetObjectAddress
TObject * TCling__GetObjectAddress(const char *Name, void *&LookupCtx)
Definition: TCling.cxx:581
TCling::CallFunc_IFacePtr
virtual CallFuncIFacePtr_t CallFunc_IFacePtr(CallFunc_t *func) const
Definition: TCling.cxx:7737
Float_t
float Float_t
Definition: RtypesCore.h:57
TCling::SetProcessLineLock
void SetProcessLineLock(Bool_t lock=kTRUE)
Definition: TCling.h:313
Int_t
int Int_t
Definition: RtypesCore.h:45
TCling::MethodInfo_ExtraProperty
virtual Long_t MethodInfo_ExtraProperty(MethodInfo_t *minfo) const
Definition: TCling.cxx:8841
TCling::GetNormalizedContext
const ROOT::TMetaUtils::TNormalizedCtxt & GetNormalizedContext() const
Definition: TCling.h:357
RooFit::Offset
RooCmdArg Offset(Bool_t flag=kTRUE)
Definition: RooGlobalFunc.cxx:212
TCling::TypedefInfo_Property
virtual Long_t TypedefInfo_Property(TypedefInfo_t *tinfo) const
Definition: TCling.cxx:9215
TCling::FuncTempInfo_Title
virtual void FuncTempInfo_Title(FuncTempInfo_t *, TString &name) const
Return the comments associates with this function template.
Definition: TCling.cxx:8713
TCling::TypeInfo_Init
virtual void TypeInfo_Init(TypeInfo_t *tinfo, const char *funcname) const
Definition: TCling.cxx:9096
TCling::fTransactionCount
ULong64_t fTransactionCount
Definition: TCling.h:148
TCling::TypedefInfo_Name
virtual const char * TypedefInfo_Name(TypedefInfo_t *tinfo) const
Definition: TCling.cxx:9239
TCling::CallFunc_SetArgs
virtual void CallFunc_SetArgs(CallFunc_t *func, const char *param) const
Definition: TCling.cxx:7809
TCling::AutoLoad
Int_t AutoLoad(const char *classname, Bool_t knowDictNotLoaded=kFALSE)
Load library containing the specified class.
Definition: TCling.cxx:5993
TInterpreter::DeclId_t
TDictionary::DeclId_t DeclId_t
Definition: TInterpreter.h:286
TCling::MakeInterpreterValue
virtual std::unique_ptr< TInterpreterValue > MakeInterpreterValue() const
Definition: TCling.cxx:7442
TCling::SuspendAutoLoadingRAII::~SuspendAutoLoadingRAII
~SuspendAutoLoadingRAII()
Definition: TCling.h:586
TCling::fIncludePath
TString fIncludePath
Definition: TCling.h:115
TCling::CreateListOfMethods
void CreateListOfMethods(TClass *cl) const
Create list of pointers to methods for TClass cl.
Definition: TCling.cxx:4254
TCling::HandleNewTransaction
Bool_t HandleNewTransaction(const cling::Transaction &T)
Helper function to increase the internal Cling count of transactions that change the AST.
Definition: TCling.cxx:3470
TCling::DiagnoseIfInterpreterException
virtual bool DiagnoseIfInterpreterException(const std::exception &e) const
Definition: TCling.cxx:2393
TCling::ClassInfo_New
virtual void * ClassInfo_New(ClassInfo_t *info) const
Definition: TCling.cxx:8116
TCling::DataMemberInfo_Name
virtual const char * DataMemberInfo_Name(DataMemberInfo_t *dminfo) const
Definition: TCling.cxx:8454
TInterpreter::EErrorCode
EErrorCode
Definition: TInterpreter.h:75
TCling::MethodCallReturnType
virtual EReturnType MethodCallReturnType(TFunction *func) const
Definition: TCling.cxx:8910
TCling::InitRootmapFile
void InitRootmapFile(const char *name)
Create a resource table and read the (possibly) three resource files, i.e $ROOTSYS/etc/system<name> (...
Definition: TCling.cxx:5400
TCling::TCling__RegisterRdictForLoadPCM
friend void TCling__RegisterRdictForLoadPCM(const std::string &pcmFileNameFullPath, llvm::StringRef *pcmContent)
Definition: TCling.cxx:569
TCling::TUniqueString::fHashFunc
std::hash< std::string > fHashFunc
Definition: TCling.h:599
TCling::SetSuspendAutoParsing
Bool_t SetSuspendAutoParsing(Bool_t value)
Suspend the Autoparsing of headers.
Definition: TCling.cxx:7399
TCling::Reset
void Reset()
Pressing Ctrl+C should forward here.
Definition: TCling.cxx:3513
TCling::CallFunc_Exec
virtual void CallFunc_Exec(CallFunc_t *func, void *address) const
Definition: TCling.cxx:7629
TCling
Definition: TCling.h:101
TCling::fClingCallbacks
TClingCallbacks * fClingCallbacks
Definition: TCling.h:139
TCling::fIsAutoParsingSuspended
Bool_t fIsAutoParsingSuspended
Definition: TCling.h:175
TString
Definition: TString.h:136
TCling::ClassInfo_Name
virtual const char * ClassInfo_Name(ClassInfo_t *info) const
Definition: TCling.cxx:8190
Bool_t
bool Bool_t
Definition: RtypesCore.h:63
TCling::GetRootMapFiles
TObjArray * GetRootMapFiles() const
Definition: TCling.h:217
TCling::GetTopLevelMacroName
virtual const char * GetTopLevelMacroName() const
Return the file name of the current un-included interpreted file.
Definition: TCling.cxx:5159
TCling::RegisterModule
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.
Definition: TCling.cxx:1985
ROOT::Math::IntegrationOneDim::Type
Type
enumeration specifying the integration types.
Definition: AllIntegrationTypes.h:60
TCling::BaseClassInfo_TmpltName
virtual const char * BaseClassInfo_TmpltName(BaseClassInfo_t *bcinfo) const
Definition: TCling.cxx:8327
TCling::ClassInfo_ClassProperty
virtual Long_t ClassInfo_ClassProperty(ClassInfo_t *info) const
Definition: TCling.cxx:7932
text
TText * text
Definition: entrylist_figure1.C:10
b
#define b(i)
Definition: RSha256.hxx:118
TCling::MethodInfo_GetMangledName
virtual const char * MethodInfo_GetMangledName(MethodInfo_t *minfo) const
Definition: TCling.cxx:8857
TCling::fMore
Int_t fMore
Definition: TCling.h:108
TCling::GetMangledName
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 a...
Definition: TCling.cxx:4712
TCling::BaseClassInfo_Next
virtual int BaseClassInfo_Next(BaseClassInfo_t *bcinfo) const
Definition: TCling.cxx:8248
TCling::GetMore
Int_t GetMore() const
Definition: TCling.h:207
bool
TCling::CallFunc_Init
virtual void CallFunc_Init(CallFunc_t *func) const
Definition: TCling.cxx:7719
TCling::ClassInfo_FileName
virtual const char * ClassInfo_FileName(ClassInfo_t *info) const
Definition: TCling.cxx:8172
TCling::SetErrorMessages
Bool_t SetErrorMessages(Bool_t enable=kTRUE)
If error messages are disabled, the interpreter should suppress its failures and warning messages fro...
Definition: TCling.cxx:7162
TCling::DataMemberInfo_TypeProperty
virtual Long_t DataMemberInfo_TypeProperty(DataMemberInfo_t *dminfo) const
Definition: TCling.cxx:8422
TCling::RewindInterpreterMutex
void * RewindInterpreterMutex()
Reset the interpreter lock to the state it had before interpreter-related calls happened.
Definition: TCling.cxx:9303
TCling::MethodInfo_IsValid
virtual bool MethodInfo_IsValid(MethodInfo_t *minfo) const
Definition: TCling.cxx:8801
TCling::MethodInfo_Name
virtual const char * MethodInfo_Name(MethodInfo_t *minfo) const
Definition: TCling.cxx:8875
TCling::GetInterpreterImpl
cling::Interpreter * GetInterpreterImpl() const
Definition: TCling.h:624
TCling::fStringHashFunction
std::hash< std::string > fStringHashFunction
Definition: TCling.h:124
TCling::fInitialMutex
std::vector< MutexStateAndRecurseCount > fInitialMutex
Definition: TCling.h:167
TCling::MethodInfo_Delete
virtual void MethodInfo_Delete(MethodInfo_t *minfo) const
Interface to cling function.
Definition: TCling.cxx:8745
TCling::DeleteVariable
Int_t DeleteVariable(const char *name)
Undeclare obj called name.
Definition: TCling.cxx:3603
TCling::SetClassAutoparsing
virtual int SetClassAutoparsing(int)
Enable/Disable the Autoparsing of headers.
Definition: TCling.cxx:7388
TCling::Evaluate
virtual int Evaluate(const char *, TInterpreterValue &)
Get the interpreter value corresponding to the statement.
Definition: TCling.cxx:7457
TCling::GetMapfile
TEnv * GetMapfile() const
Definition: TCling.h:206
TCling::ProcessLineAsynch
Long_t ProcessLineAsynch(const char *line, EErrorCode *error=0)
Let cling process a command line asynch.
Definition: TCling.cxx:3375
TCling::LoadPCM
void LoadPCM(std::string pcmFileNameFullPath)
Tries to load a rdict PCM, issues diagnostics if it fails.
Definition: TCling.cxx:1788
TCling::MapCppName
virtual const char * MapCppName(const char *) const
Interface to cling function.
Definition: TCling.cxx:7326
TCling::MethodInfo_Title
virtual const char * MethodInfo_Title(MethodInfo_t *minfo) const
Definition: TCling.cxx:8902
TCling::CreateListOfMethodArgs
void CreateListOfMethodArgs(TFunction *m) const
Create list of pointers to method arguments for TMethod m.
Definition: TCling.cxx:4279
TCling::MethodInfo_TypeName
virtual const char * MethodInfo_TypeName(MethodInfo_t *minfo) const
Definition: TCling.cxx:8883
TCling::MethodInfo_NArg
virtual int MethodInfo_NArg(MethodInfo_t *minfo) const
Definition: TCling.cxx:8809
TCling::~TCling
virtual ~TCling()
Destroy the interpreter interface.
Definition: TCling.cxx:1595
TCling::TypedefInfo_Size
virtual int TypedefInfo_Size(TypedefInfo_t *tinfo) const
Definition: TCling.cxx:9223
TGeant4Unit::L
static constexpr double L
Definition: TGeant4SystemOfUnits.h:123
TCling::fHeaderParsingOnDemand
Bool_t fHeaderParsingOnDemand
Definition: TCling.h:174
TCling::SetAlloclockfunc
virtual void SetAlloclockfunc(void(*)()) const
[Place holder for Mutex Lock] Provide the interpreter with a way to acquire a lock used to protect cr...
Definition: TCling.cxx:7339
TCling::CallFunc_ExecWithArgsAndReturn
virtual void CallFunc_ExecWithArgsAndReturn(CallFunc_t *func, void *address, const void *args[]=0, int nargs=0, void *ret=0) const
Definition: TCling.cxx:7653
TInterpreter::FwdDeclArgsToKeepCollection_t
std::vector< std::pair< std::string, int > > FwdDeclArgsToKeepCollection_t
Definition: TInterpreter.h:136
TCling::MutexStateAndRecurseCount::fState
std::unique_ptr< ROOT::TVirtualRWMutex::State > fState
State of gCoreMutex when the first interpreter-related function was invoked.
Definition: TCling.h:157
TCling__RegisterRdictForLoadPCM
void TCling__RegisterRdictForLoadPCM(const std::string &pcmFileNameFullPath, llvm::StringRef *pcmContent)
Definition: TCling.cxx:569
TCling::UpdateListOfLoadedSharedLibraries
void UpdateListOfLoadedSharedLibraries()
Definition: TCling.cxx:3171
TCling::TUniqueString::Append
bool Append(const std::string &str)
Append string to the storage if not added already.
Definition: TCling.cxx:1011
TCling::GenericError
virtual void GenericError(const char *error) const
Let the interpreter issue a generic error, and set its error state.
Definition: TCling.cxx:7262
TCling::ClassInfo_Title
virtual const char * ClassInfo_Title(ClassInfo_t *info) const
Definition: TCling.cxx:8198
ROOT::TVirtualRWMutex
Definition: TVirtualRWMutex.h:45
TCling::TypedefInfo_IsValid
virtual bool TypedefInfo_IsValid(TypedefInfo_t *tinfo) const
Definition: TCling.cxx:9199
TCling::FuncTempInfo_Name
virtual void FuncTempInfo_Name(FuncTempInfo_t *, TString &name) const
Return the name of this function template.
Definition: TCling.cxx:8700
TCling::IsAutoParsingSuspended
Bool_t IsAutoParsingSuspended() const
Definition: TCling.h:346
TCling::IsLibraryLoaded
Bool_t IsLibraryLoaded(const char *libname) const
Definition: TCling.cxx:3036
TCling::fNSFromRootmaps
std::unordered_set< const clang::NamespaceDecl * > fNSFromRootmaps
Definition: TCling.h:125
TCling::MethodInfo_Type
virtual TypeInfo_t * MethodInfo_Type(MethodInfo_t *minfo) const
Definition: TCling.cxx:8849
TCling::LoadMacro
void LoadMacro(const char *filename, EErrorCode *error=0)
Load a macro file in cling's memory.
Definition: TCling.cxx:3367
TCling::MethodArgInfo_Next
virtual int MethodArgInfo_Next(MethodArgInfo_t *marginfo) const
Definition: TCling.cxx:9013
TListOfDataMembers
Definition: TListOfDataMembers.h:32
TCling::SetClassAutoLoading
virtual int SetClassAutoLoading(int) const
Enable/Disable the AutoLoading of libraries.
Definition: TCling.cxx:7370
TCling::LazyFunctionCreatorAutoload
void * LazyFunctionCreatorAutoload(const std::string &mangled_name)
Autoload a library based on a missing symbol.
Definition: TCling.cxx:6353
TCling::RewindDictionary
void RewindDictionary()
Rewind Cling dictionary to the point where it was before executing the current macro.
Definition: TCling.cxx:3574
TCling::IsClassAutoLoadingEnabled
bool IsClassAutoLoadingEnabled() const
Returns if class AutoLoading is currently enabled.
Definition: TCling.cxx:7357
TCling::DataMemberInfo_Delete
virtual void DataMemberInfo_Delete(DataMemberInfo_t *dminfo) const
Definition: TCling.cxx:8348
TCling::ClassInfo_FullName
virtual const char * ClassInfo_FullName(ClassInfo_t *info) const
Definition: TCling.cxx:8180
TCling::ClearStack
void ClearStack()
Delete existing temporary values.
Definition: TCling.cxx:2983
TCling::BaseClassInfo_Factory
virtual BaseClassInfo_t * BaseClassInfo_Factory(ClassInfo_t *info) const
Definition: TCling.cxx:8228
TCling::CallFunc_ExecWithReturn
virtual void CallFunc_ExecWithReturn(CallFunc_t *func, void *address, void *ret) const
Definition: TCling.cxx:7645
TCling::CallFunc_IsValid
virtual bool CallFunc_IsValid(CallFunc_t *func) const
Definition: TCling.cxx:7728
TCling::TypeInfo_Factory
virtual TypeInfo_t * TypeInfo_Factory() const
Definition: TCling.cxx:9073
TCling::GetEnum
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.
Definition: TCling.cxx:4582
TCling::CreateListOfDataMembers
void CreateListOfDataMembers(TClass *cl) const
Create list of pointers to data members for TClass cl.
Definition: TCling.cxx:4245
TCling::MethodArgInfo_IsValid
virtual bool MethodArgInfo_IsValid(MethodArgInfo_t *marginfo) const
Definition: TCling.cxx:9005
TCling::UpdateListsOnUnloaded
void UpdateListsOnUnloaded(const cling::Transaction &T)
Invalidate stored TCling state for declarations included in transaction ‘T’.
Definition: TCling.cxx:6667
TCling::DataMemberInfo_ValidArrayIndex
virtual const char * DataMemberInfo_ValidArrayIndex(DataMemberInfo_t *dminfo) const
Definition: TCling.cxx:8470
TCling::LibraryLoaded
void LibraryLoaded(const void *dyLibHandle, const char *canonicalName)
Definition: TCling.cxx:6792
THashTable
Definition: THashTable.h:35
TCling::BaseClassInfo_Delete
virtual void BaseClassInfo_Delete(BaseClassInfo_t *bcinfo) const
Definition: TCling.cxx:8221
TCling::Execute
void Execute(const char *function, const char *params, int *error=0)
Execute a global function with arguments params.
Definition: TCling.cxx:4976
TCling::fClassesHeadersMap
std::map< size_t, std::vector< const char * > > fClassesHeadersMap
Definition: TCling.h:119
TCling::TUniqueString::fLinesHashSet
std::set< size_t > fLinesHashSet
Definition: TCling.h:598
TCling::TypeName
const char * TypeName(const char *typeDesc)
Return the absolute type of typeDesc.
Definition: TCling.cxx:5221
xmlio::Value
const char * Value
Definition: TXMLSetup.cxx:79
TCling::SetAllocunlockfunc
virtual void SetAllocunlockfunc(void(*)()) const
[Place holder for Mutex Unlock] Provide the interpreter with a way to release a lock used to protect ...
Definition: TCling.cxx:7349
TCling::SuspendAutoLoadingRAII::fOldValue
bool fOldValue
Definition: TCling.h:582
TCling::operator=
TCling & operator=(const TCling &)
TCling::ResetGlobalVar
void ResetGlobalVar(void *obj)
Reset the Cling 'user' global objects/variables state to the state saved by the last call to TCling::...
Definition: TCling.cxx:3559
TEnum
Definition: TEnum.h:33
TCling::ResetGlobals
void ResetGlobals()
Reset in Cling the list of global variables to the state saved by the last call to TCling::SaveGlobal...
Definition: TCling.cxx:3545
TCling::GetFunctionWithValues
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....
Definition: TCling.cxx:4876
TCling::InvalidateGlobal
void InvalidateGlobal(const clang::Decl *D)
Invalidate cached TCling information for the given global declaration.
Definition: TCling.cxx:6694
TCling::GetMetaProcessorImpl
cling::MetaProcessor * GetMetaProcessorImpl() const
Definition: TCling.h:625
a
auto * a
Definition: textangle.C:12
TCling::fParsedPayloadsAddresses
std::set< const char * > fParsedPayloadsAddresses
Definition: TCling.h:123
TCling::MutexStateAndRecurseCount::fRecurseCount
Int_t fRecurseCount
Interpreter-related functions will push the "entry" lock state to *this.
Definition: TCling.h:162
TCling::SuspendAutoLoadingRAII
Definition: TCling.h:580
TCling::UpdateListsOnCommitted
void UpdateListsOnCommitted(const cling::Transaction &T)
Definition: TCling.cxx:6583
kFALSE
const Bool_t kFALSE
Definition: RtypesCore.h:92
TCling::MethodArgInfo_FactoryCopy
virtual MethodArgInfo_t * MethodArgInfo_FactoryCopy(MethodArgInfo_t *marginfo) const
Definition: TCling.cxx:8997
TCling::GetDataMemberAtAddr
virtual DeclId_t GetDataMemberAtAddr(const void *addr) const
Return pointer to cling DeclId for a data member with a given name.
Definition: TCling.cxx:4700
TCling::RemoveAndInvalidateObject
static void RemoveAndInvalidateObject(List &L, Object *O)
Definition: TCling.h:569
TCling::BaseClassInfo_Tagnum
virtual Long_t BaseClassInfo_Tagnum(BaseClassInfo_t *bcinfo) const
Definition: TCling.cxx:8301
TCling::SetGetline
void SetGetline(const char *(*getlineFunc)(const char *prompt), void(*histaddFunc)(const char *line))
Set a getline function to call when input is needed.
Definition: TCling.cxx:3453
TCling::CallFunc_ExecDouble
virtual Double_t CallFunc_ExecDouble(CallFunc_t *func, void *address) const
Definition: TCling.cxx:7680
TMethod
Definition: TMethod.h:38
Long_t
long Long_t
Definition: RtypesCore.h:54
TCling::fPrompt
char fPrompt[64]
Definition: TCling.h:110
TCling::MethodInfo_InterfaceMethod
virtual void * MethodInfo_InterfaceMethod(MethodInfo_t *minfo) const
Definition: TCling.cxx:8793
TCling::SpecialObjectMap_t
std::unordered_map< std::string, TObject * > SpecialObjectMap_t
Definition: TCling.h:152
TCling::GetFunctionOverloads
void GetFunctionOverloads(ClassInfo_t *cl, const char *funcname, std::vector< DeclId_t > &res) const
Insert overloads of name in cl to res.
Definition: TCling.cxx:4798
TCling::BaseClassInfo_FullName
virtual const char * BaseClassInfo_FullName(BaseClassInfo_t *bcinfo) const
Definition: TCling.cxx:8309
TCling::GetFunctionTemplate
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.
Definition: TCling.cxx:4920
TCling::BaseClassInfo_ClassInfo
virtual ClassInfo_t * BaseClassInfo_ClassInfo(BaseClassInfo_t *) const
Definition: TCling.cxx:8293
TCling::FuncTempInfo_TemplateMinReqArgs
virtual UInt_t FuncTempInfo_TemplateMinReqArgs(FuncTempInfo_t *) const
Return the number of required template arguments of the function template described by ft_info.
Definition: TCling.cxx:8604
TCling::fRootmapFiles
TObjArray * fRootmapFiles
Definition: TCling.h:126
TCling::UpdateClassInfo
static void UpdateClassInfo(char *name, Long_t tagnum)
No op: see TClingCallbacks.
Definition: TCling.cxx:6557
TCling::LoadEnums
virtual void LoadEnums(TListOfEnums &cl) const
Create list of pointers to enums for TClass cl.
Definition: TCling.cxx:4151
TCling::CreateListOfBaseClasses
void CreateListOfBaseClasses(TClass *cl) const
Create list of pointers to base class(es) for TClass cl.
Definition: TCling.cxx:4127
Value
Definition: functioncalls.h:15
TCling::RegisterTemporary
void RegisterTemporary(const TInterpreterValue &value)
Definition: TCling.cxx:7466
TCling::FuncTempInfo_FactoryCopy
virtual FuncTempInfo_t * FuncTempInfo_FactoryCopy(FuncTempInfo_t *) const
Construct a FuncTempInfo_t.
Definition: TCling.cxx:8570
TCling::CallFunc_ResetArg
virtual void CallFunc_ResetArg(CallFunc_t *func) const
Definition: TCling.cxx:7745
TCling::TypeInfo_Name
virtual const char * TypeInfo_Name(TypeInfo_t *) const
Definition: TCling.cxx:9113
TCling::FuncTempInfo_IsValid
virtual Bool_t FuncTempInfo_IsValid(FuncTempInfo_t *) const
Check validity of a FuncTempInfo_t.
Definition: TCling.cxx:8581
TCling::UnloadAllSharedLibraryMaps
Int_t UnloadAllSharedLibraryMaps()
Unload the library map entries coming from all the loaded shared libraries.
Definition: TCling.cxx:5728
TCling::FuncTempInfo_ExtraProperty
virtual Long_t FuncTempInfo_ExtraProperty(FuncTempInfo_t *) const
Return the property not already defined in Property See TDictionary's EFunctionProperty.
Definition: TCling.cxx:8674
TCling::SnapshotMutexState
void SnapshotMutexState(ROOT::TVirtualRWMutex *mtx)
Definition: TCling.cxx:9255
TCling::DataMemberInfo_ArrayDim
virtual int DataMemberInfo_ArrayDim(DataMemberInfo_t *dminfo) const
Definition: TCling.cxx:8340
TInterpreter::ECheckClassInfo
ECheckClassInfo
Definition: TInterpreter.h:213
TCling::SaveContext
void SaveContext()
Save the current Cling state.
Definition: TCling.cxx:3664
TCling::ClassInfo_IsValid
virtual bool ClassInfo_IsValid(ClassInfo_t *info) const
Definition: TCling.cxx:8084
UInt_t
unsigned int UInt_t
Definition: RtypesCore.h:46
TCling::fMapfile
TEnv * fMapfile
Definition: TCling.h:117
TCling::fSpecialObjectMaps
std::map< SpecialObjectLookupCtx_t, SpecialObjectMap_t > fSpecialObjectMaps
Definition: TCling.h:153
TCling::TUniqueString::TUniqueString
TUniqueString()=delete
TCling::GetInterfaceMethod
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 ...
Definition: TCling.cxx:4757
ULong_t
unsigned long ULong_t
Definition: RtypesCore.h:55
TCling::MethodArgInfo_DefaultValue
virtual const char * MethodArgInfo_DefaultValue(MethodArgInfo_t *marginfo) const
Definition: TCling.cxx:9029
TCling::fPendingRdicts
std::map< std::string, llvm::StringRef > fPendingRdicts
Definition: TCling.h:614
TCling::ReloadAllSharedLibraryMaps
Int_t ReloadAllSharedLibraryMaps()
Reload the library map entries coming from all the loaded shared libraries, after first unloading the...
Definition: TCling.cxx:5667
TCling::ClassInfo_IsScopedEnum
virtual bool ClassInfo_IsScopedEnum(ClassInfo_t *info) const
Definition: TCling.cxx:8058
TCling::SpecialObjectLookupCtx_t
void * SpecialObjectLookupCtx_t
Definition: TCling.h:151
TCling::Load
Int_t Load(const char *filenam, Bool_t system=kFALSE)
Load a library file in cling's memory.
Definition: TCling.cxx:3330
TCling::PrintIntro
void PrintIntro()
No-op; see TRint instead.
Definition: TCling.cxx:2568
TCling::fNormalizedCtxt
ROOT::TMetaUtils::TNormalizedCtxt * fNormalizedCtxt
Definition: TCling.h:134
TCling::DataMemberInfo_TypeTrueName
virtual const char * DataMemberInfo_TypeTrueName(DataMemberInfo_t *dminfo) const
Definition: TCling.cxx:8446
TCling::GenerateTClass
TClass * GenerateTClass(const char *classname, Bool_t emulation, Bool_t silent=kFALSE)
Generate a TClass for the given class.
Definition: TCling.cxx:4302
line
TLine * line
Definition: entrylistblock_figure1.C:235
TCling::GetClass
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 (...
Definition: TCling.cxx:5840
TCling::UpdateListOfTypes
void UpdateListOfTypes()
No op: see TClingCallbacks (used to update the list of types)
Definition: TCling.cxx:3704
TCling::fgSetOfSpecials
static void * fgSetOfSpecials
Definition: TCling.h:104
TCling::MethodInfo_MethodCallReturnType
virtual EReturnType MethodInfo_MethodCallReturnType(MethodInfo_t *minfo) const
Definition: TCling.cxx:8921
TCling::ToString
virtual std::string ToString(const char *type, void *obj)
Definition: TCling.cxx:1020
TFile
Definition: TFile.h:54
TCling__InvalidateGlobal
void TCling__InvalidateGlobal(const clang::Decl *)
Definition: TCling.cxx:555
TCling::FuncTempInfo_Factory
virtual FuncTempInfo_t * FuncTempInfo_Factory(DeclId_t declid) const
Construct a FuncTempInfo_t.
Definition: TCling.cxx:8559
TCling::FuncTempInfo_TemplateNargs
virtual UInt_t FuncTempInfo_TemplateNargs(FuncTempInfo_t *) const
Return the maximum number of template arguments of the function template described by ft_info.
Definition: TCling.cxx:8593
TCling::ClassInfo_IsValidMethod
virtual bool ClassInfo_IsValidMethod(ClassInfo_t *info, const char *method, const char *proto, Long_t *offset, ROOT::EFunctionMatchMode=ROOT::kConversionMatch) const
Definition: TCling.cxx:8092
unsigned int
TCling::LoadText
virtual Bool_t LoadText(const char *text) const
Load the declarations from text into the interpreter.
Definition: TCling.cxx:7318
TCling::ApplyToInterpreterMutex
void ApplyToInterpreterMutex(void *delta)
Re-apply the lock count delta that TCling__ResetInterpreterMutex() caused.
Definition: TCling.cxx:9286
TCling::fAutoLoadLibStorage
std::vector< std::string > fAutoLoadLibStorage
Definition: TCling.h:118
TCling::TypedefInfo_Next
virtual int TypedefInfo_Next(TypedefInfo_t *tinfo) const
Definition: TCling.cxx:9207
TCling::CallFunc_Delete
virtual void CallFunc_Delete(CallFunc_t *func) const
Definition: TCling.cxx:7622
TCling::MethodArgInfo_TypeNormalizedName
virtual std::string MethodArgInfo_TypeNormalizedName(MethodArgInfo_t *marginfo) const
Definition: TCling.cxx:9053
TCling::UpdateListOfGlobals
void UpdateListOfGlobals()
No op: see TClingCallbacks (used to update the list of globals)
Definition: TCling.cxx:3690
ROOT::TMetaUtils::TNormalizedCtxt
Definition: TClingUtils.h:138
TCling::fTemporaries
std::vector< cling::Value > * fTemporaries
Definition: TCling.h:133
TCling::InvalidateCachedDecl
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 o...
Definition: TCling.cxx:6709
TCling::FuncTempInfo_Delete
virtual void FuncTempInfo_Delete(FuncTempInfo_t *) const
Delete the FuncTempInfo_t.
Definition: TCling.cxx:8550
ROOT::EFunctionMatchMode
EFunctionMatchMode
Definition: TDictionary.h:155
TCling::ClassInfo_Next
virtual int ClassInfo_Next(ClassInfo_t *info) const
Definition: TCling.cxx:8108
TCling::ClassInfo_Init
virtual void ClassInfo_Init(ClassInfo_t *info, const char *funcname) const
Definition: TCling.cxx:8025
TCling::GetClassSharedLibs
const char * GetClassSharedLibs(const char *cls)
Get the list of shared libraries containing the code for class cls.
Definition: TCling.cxx:6908
TCling::SetAutoLoadCallBack
void * SetAutoLoadCallBack(void *cb)
Definition: TCling.h:193
TCling::TCling
TCling(const char *name, const char *title)
Definition: TCling.h:189
TCling::fExitCode
Int_t fExitCode
Definition: TCling.h:109
TCling::CodeComplete
void CodeComplete(const std::string &, size_t &, std::vector< std::string > &)
The call to Cling's tab complition.
Definition: TCling.cxx:7449
TListOfEnums
Definition: TListOfEnums.h:32
TCling::IsErrorMessagesEnabled
Bool_t IsErrorMessagesEnabled() const
If error messages are disabled, the interpreter should suppress its failures and warning messages fro...
Definition: TCling.cxx:7148
ULong64_t
unsigned long long ULong64_t
Definition: RtypesCore.h:74
xmlio::Name
const char * Name
Definition: TXMLSetup.cxx:73
TCling::SetTempLevel
virtual void SetTempLevel(int val) const
Create / close a scope for temporaries.
Definition: TCling.cxx:7423
proto
const char * proto
Definition: civetweb.c:16604
TInterpreterValue
Definition: TInterpreterValue.h:32
TCling::TypedefInfo_TrueName
virtual const char * TypedefInfo_TrueName(TypedefInfo_t *tinfo) const
Definition: TCling.cxx:9231
TCling::AutoParseImplRecurse
UInt_t AutoParseImplRecurse(const char *cls, bool topLevel)
Helper routine for TCling::AutoParse implementing the actual call to the parser and looping over temp...
Definition: TCling.cxx:6105
TCling::fIsShuttingDown
bool fIsShuttingDown
Definition: TCling.h:180
TCling::ClassInfo_Contains
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'.
Definition: TCling.cxx:7910
TCling::AutoParse
Int_t AutoParse(const char *cls)
Parse the headers relative to the class Returns 1 in case of success, 0 in case of failure.
Definition: TCling.cxx:6247
Double_t
double Double_t
Definition: RtypesCore.h:59
TCling::MethodArgInfo_TypeName
virtual const char * MethodArgInfo_TypeName(MethodArgInfo_t *marginfo) const
Definition: TCling.cxx:9045
TCling::GetMangledNameWithPrototype
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....
Definition: TCling.cxx:4739
TCling::MethodInfo_FactoryCopy
virtual MethodInfo_t * MethodInfo_FactoryCopy(MethodInfo_t *minfo) const
Definition: TCling.cxx:8786
TCling__UpdateListsOnUnloaded
void TCling__UpdateListsOnUnloaded(const cling::Transaction &)
Definition: TCling.cxx:550
TCling::CallFunc_FactoryMethod
virtual MethodInfo_t * CallFunc_FactoryMethod(CallFunc_t *func) const
Definition: TCling.cxx:7703
TCling::GetPrompt
char * GetPrompt()
Definition: TCling.h:211
TCling::fCurExecutingMacros
std::vector< const char * > fCurExecutingMacros
Definition: TCling.h:149
TCling::fPrevLoadedDynLibInfo
void * fPrevLoadedDynLibInfo
Definition: TCling.h:137
TCling::RescanLibraryMap
Int_t RescanLibraryMap()
Scan again along the dynamic path for library maps.
Definition: TCling.cxx:5655
TCling::DeepAutoLoadImpl
static Int_t DeepAutoLoadImpl(const char *cls)
Definition: TCling.cxx:5932
TInterpreter.h
TClass
Definition: TClass.h:80
TEnv
Definition: TEnv.h:125
TCling::CharPtrCmp_t
Definition: TCling.h:140
TCling::MethodInfo_NDefaultArg
virtual int MethodInfo_NDefaultArg(MethodInfo_t *minfo) const
Definition: TCling.cxx:8817
EDataType
EDataType
Definition: TDataType.h:28
clang
Definition: BaseSelectionRule.h:29
TCling::fPayloads
std::set< size_t > fPayloads
Definition: TCling.h:122
TCling::LibraryUnloaded
void LibraryUnloaded(const void *dyLibHandle, const char *canonicalName)
Definition: TCling.cxx:6798
TObject
Definition: TObject.h:37
TCling::DataMemberInfo_Title
virtual const char * DataMemberInfo_Title(DataMemberInfo_t *dminfo) const
Definition: TCling.cxx:8462
TCling::MethodArgInfo_Property
virtual Long_t MethodArgInfo_Property(MethodArgInfo_t *marginfo) const
Definition: TCling.cxx:9021
TCling::GetInterpreterTypeName
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 (usua...
Definition: TCling.cxx:4943
TCling::TypeInfo_Delete
virtual void TypeInfo_Delete(TypeInfo_t *tinfo) const
Definition: TCling.cxx:9066
TCling::GetFunctionWithPrototype
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,...
Definition: TCling.cxx:4898
TCling::fLockProcessLine
Bool_t fLockProcessLine
Definition: TCling.h:127
name
char name[80]
Definition: TGX11.cxx:110
TCling::IsLoaded
Bool_t IsLoaded(const char *filename) const
Return true if the file has already been loaded by cint.
Definition: TCling.cxx:3070
TCling::GetObjectAddress
TObject * GetObjectAddress(const char *Name, void *&LookupCtx)
If the interpreter encounters Name, check whether that is an object ROOT could retrieve.
Definition: TCling.cxx:7493
TCling::BaseClassInfo_Property
virtual Long_t BaseClassInfo_Property(BaseClassInfo_t *bcinfo) const
Definition: TCling.cxx:8285
TCling::MethodInfo_CreateSignature
virtual void MethodInfo_CreateSignature(MethodInfo_t *minfo, TString &signature) const
Definition: TCling.cxx:8752
ROOT::Math::Chebyshev::T
double T(double x)
Definition: ChebyshevPol.h:52
TCling::DataMemberInfo_TypeSize
virtual int DataMemberInfo_TypeSize(DataMemberInfo_t *dminfo) const
Definition: TCling.cxx:8430
TCling::TypedefInfo_FactoryCopy
virtual TypedefInfo_t * TypedefInfo_FactoryCopy(TypedefInfo_t *tinfo) const
Definition: TCling.cxx:9182
TCling::TypeInfo_TrueName
virtual const char * TypeInfo_TrueName(TypeInfo_t *tinfo) const
Definition: TCling.cxx:9145
TCling::CharPtrCmp_t::operator()
bool operator()(const char *a, const char *b) const
Definition: TCling.h:141
TCling::CheckClassInfo
ECheckClassInfo CheckClassInfo(const char *name, Bool_t autoload, Bool_t isClassOrNamespaceOnly=kFALSE)
Checks if an entity with the specified name is defined in Cling.
Definition: TCling.cxx:3952
TCling__GetObjectDecl
const clang::Decl * TCling__GetObjectDecl(TObject *obj)
Definition: TCling.cxx:585
TCling::ExecuteWithArgsAndReturn
void ExecuteWithArgsAndReturn(TMethod *method, void *address, const void *args[]=0, int nargs=0, void *ret=0) const
Definition: TCling.cxx:5128
TCling::MethodInfo_Property
virtual Long_t MethodInfo_Property(MethodInfo_t *minfo) const
Definition: TCling.cxx:8833
TCling::ClassInfo_GetUnderlyingType
virtual EDataType ClassInfo_GetUnderlyingType(ClassInfo_t *info) const
Definition: TCling.cxx:8067
TCling::DataMemberInfo_MaxIndex
virtual int DataMemberInfo_MaxIndex(DataMemberInfo_t *dminfo, Int_t dim) const
Definition: TCling.cxx:8390
TCling::ClassInfo_Size
virtual int ClassInfo_Size(ClassInfo_t *info) const
Definition: TCling.cxx:8156
TCling::fLookedUpClasses
std::set< size_t > fLookedUpClasses
Definition: TCling.h:121
TCling__TransactionRollback
void TCling__TransactionRollback(const cling::Transaction &)
Definition: TCling.cxx:560
TCling::TypedefInfo_Title
virtual const char * TypedefInfo_Title(TypedefInfo_t *tinfo) const
Definition: TCling.cxx:9247
TCling::ClearFileBusy
void ClearFileBusy()
Reset the interpreter internal state in case a previous action was not correctly terminated.
Definition: TCling.cxx:2975
TCling::CreateEnum
virtual TEnum * CreateEnum(void *VD, TClass *cl) const
Definition: TCling.cxx:450
TCling::TypeInfo_IsValid
virtual bool TypeInfo_IsValid(TypeInfo_t *tinfo) const
Definition: TCling.cxx:9105
TCling::MethodInfo_TypeNormalizedName
virtual std::string MethodInfo_TypeNormalizedName(MethodInfo_t *minfo) const
Definition: TCling.cxx:8891
TCling::GetDeclId
DeclId_t GetDeclId(const llvm::GlobalValue *gv) const
Return pointer to cling DeclId for a global value.
Definition: TCling.cxx:4622
TCling::DataMemberInfo_Offset
virtual Long_t DataMemberInfo_Offset(DataMemberInfo_t *dminfo) const
Definition: TCling.cxx:8406
TCling::GetExecByteCode
virtual Long_t GetExecByteCode() const
This routines used to return the address of the internal wrapper function (of the interpreter) that w...
Definition: TCling.cxx:7284
TCling::ClassInfo_IsLoaded
virtual bool ClassInfo_IsLoaded(ClassInfo_t *info) const
Definition: TCling.cxx:8076
TCling::ClassInfo_Tagnum
virtual Long_t ClassInfo_Tagnum(ClassInfo_t *info) const
Definition: TCling.cxx:8164
TCling::CallFunc_ExecInt
virtual Long_t CallFunc_ExecInt(CallFunc_t *func, void *address) const
Definition: TCling.cxx:7664
TCling::UpdateListOfDataMembers
void UpdateListOfDataMembers(TClass *cl) const
Update the list of pointers to data members for TClass cl This is now a nop.
Definition: TCling.cxx:4272
TCling::fInterpreter
std::unique_ptr< cling::Interpreter > fInterpreter
Definition: TCling.h:130
DictFuncPtr_t
TClass *(* DictFuncPtr_t)()
Definition: Rtypes.h:80
TClingCallbacks
Definition: TClingCallbacks.h:40
TInterpreter
Definition: TInterpreter.h:63
TCling::DataMemberInfo_FactoryCopy
virtual DataMemberInfo_t * DataMemberInfo_FactoryCopy(DataMemberInfo_t *dminfo) const
Definition: TCling.cxx:8374
TCling::SetClassInfo
void SetClassInfo(TClass *cl, Bool_t reload=kFALSE)
Set pointer to the TClingClassInfo in TClass.
Definition: TCling.cxx:3823
type
int type
Definition: TGX11.cxx:121
TCling::UnloadLibraryMap
Int_t UnloadLibraryMap(const char *library)
Unload library map entries coming from the specified library.
Definition: TCling.cxx:5746
TCling::Execute
void Execute(TMethod *, TObjArray *, int *=0)
Execute method on this object with parameters stored in the TObjArray.
Definition: TCling.h:606
TCling::fMetaProcessor
std::unique_ptr< cling::MetaProcessor > fMetaProcessor
Definition: TCling.h:131
TCling::GetFunction
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.
Definition: TCling.cxx:4779
TCling::fAutoLoadCallBack
void * fAutoLoadCallBack
Definition: TCling.h:147
TCling::ResetAll
void ResetAll()
Reset the Cling state to its initial state.
Definition: TCling.cxx:3529
TCling::GetExitCode
Int_t GetExitCode() const
Definition: TCling.h:205
TCling::ProcessLine
Long_t ProcessLine(const char *line, EErrorCode *error=0)
Definition: TCling.cxx:2404
TCling::GetInterpreterStateMarker
unsigned long long GetInterpreterStateMarker() const
Definition: TCling.h:218
TCling::DataMemberInfo_TypeName
virtual const char * DataMemberInfo_TypeName(DataMemberInfo_t *dminfo) const
Definition: TCling.cxx:8438
TCling::CallFunc_GetWrapperCode
virtual std::string CallFunc_GetWrapperCode(CallFunc_t *func) const
Definition: TCling.cxx:7891
TCling::CallFunc_IgnoreExtraArgs
virtual void CallFunc_IgnoreExtraArgs(CallFunc_t *func, bool ignore) const
Definition: TCling.cxx:7711
TCling::GenerateDictionary
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 l...
Definition: TCling.cxx:4474
TCling::DataMemberInfo_Factory
virtual DataMemberInfo_t * DataMemberInfo_Factory(ClassInfo_t *clinfo=0) const
Definition: TCling.cxx:8355
TCling::Declare
Bool_t Declare(const char *code)
Declare code to the interpreter, without any of the interpreter actions that could trigger a re-inter...
Definition: TCling.cxx:2996
TCling::LibraryLoadingFailed
bool LibraryLoadingFailed(const std::string &, const std::string &, bool, bool)
Definition: TCling.cxx:6292
TCling::ClassInfo_IsEnum
virtual bool ClassInfo_IsEnum(const char *name) const
Definition: TCling.cxx:8051
TCling::fTransactionHeadersMap
std::map< const cling::Transaction *, size_t > fTransactionHeadersMap
Definition: TCling.h:120
TCling::UpdateClassInfoWithDecl
void UpdateClassInfoWithDecl(const clang::NamedDecl *ND)
Internal function. Inform a TClass about its new TagDecl or NamespaceDecl.
Definition: TCling.cxx:6499
TInterpreter::EReturnType
EReturnType
Definition: TInterpreter.h:83
TCling::CallFunc_SetFuncProto
virtual void CallFunc_SetFuncProto(CallFunc_t *func, ClassInfo_t *info, const char *method, const char *proto, Long_t *Offset, ROOT::EFunctionMatchMode mode=ROOT::kConversionMatch) const
Interface to cling function.
Definition: TCling.cxx:7844
TCling::ClassInfo_GetMethodNArg
virtual int ClassInfo_GetMethodNArg(ClassInfo_t *info, const char *method, const char *proto, Bool_t objectIsConst=false, ROOT::EFunctionMatchMode mode=ROOT::kConversionMatch) const
Definition: TCling.cxx:8001
TCling::UnloadFile
virtual int UnloadFile(const char *path) const
Definition: TCling.cxx:7429
TCling::DisplayClass
virtual int DisplayClass(FILE *fout, const char *name, int base, int start) const
Definition: TCling.cxx:7216
TCling::GetInterfaceMethodWithPrototype
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,...
Definition: TCling.cxx:4853
TCling::RecursiveRemove
void RecursiveRemove(TObject *obj)
Delete object from cling symbol table so it can not be used anymore.
Definition: TCling.cxx:3488
ROOT
VSD Structures.
Definition: StringConv.hxx:21
TCling::RegisterLoadedSharedLibrary
void RegisterLoadedSharedLibrary(const char *name)
Register a new shared library name with the interpreter; add it to fSharedLibs.
Definition: TCling.cxx:3252
TCling::UnRegisterTClassUpdate
void UnRegisterTClassUpdate(const TClass *oldcl)
If the dictionary is loaded, we can remove the class from the list (otherwise the class might be load...
Definition: TCling.cxx:2344
TCling::IsProcessLineLocked
Bool_t IsProcessLineLocked() const
Definition: TCling.h:310
TCling::LoadLibraryMap
Int_t LoadLibraryMap(const char *rootmapfile=0)
Load map between class and library.
Definition: TCling.cxx:5471
TCling::GetAutoLoadCallBack
void * GetAutoLoadCallBack() const
Definition: TCling.h:192
TFunction
Definition: TFunction.h:30
TCling::MutexStateAndRecurseCount
Definition: TCling.h:155
TCling::GetSecurityError
virtual int GetSecurityError() const
Interface to cling function.
Definition: TCling.cxx:7292
TCling::GetCurrentMacroName
virtual const char * GetCurrentMacroName() const
Return the file name of the currently interpreted file, included or not.
Definition: TCling.cxx:5206
TCling::fRootmapLoadPath
TString fRootmapLoadPath
Definition: TCling.h:116
TCling::TypeInfo_FactoryCopy
virtual TypeInfo_t * TypeInfo_FactoryCopy(TypeInfo_t *) const
Definition: TCling.cxx:9089
TCling::TypedefInfo_Factory
virtual TypedefInfo_t * TypedefInfo_Factory() const
Definition: TCling.cxx:9166
TCling::InspectMembers
void InspectMembers(TMemberInspector &, const void *obj, const TClass *cl, Bool_t isTransient)
Visit all members over members, recursing over base classes.
Definition: TCling.cxx:2591
TCling::GetSharedLibDeps
const char * GetSharedLibDeps(const char *lib, bool tryDyld=false)
Get the list a libraries on which the specified lib depends.
Definition: TCling.cxx:7095
TCling::DataMemberInfo_Next
virtual int DataMemberInfo_Next(DataMemberInfo_t *dminfo) const
Definition: TCling.cxx:8398
TCling::fCxxModulesEnabled
Bool_t fCxxModulesEnabled
Definition: TCling.h:128
TCling::MethodArgInfo_Factory
virtual MethodArgInfo_t * MethodArgInfo_Factory() const
Definition: TCling.cxx:8981
TCling::RegisterRdictForLoadPCM
void RegisterRdictForLoadPCM(const std::string &pcmFileNameFullPath, llvm::StringRef *pcmContent)
Register Rdict data for future loading by LoadPCM;.
Definition: TCling.cxx:1655
int
TCling::CallFunc_SetArg
virtual void CallFunc_SetArg(CallFunc_t *func, Long_t param) const
Definition: TCling.cxx:7753
TCling::ClassInfo_DeleteArray
virtual void ClassInfo_DeleteArray(ClassInfo_t *info, void *arena, bool dtorOnly) const
Definition: TCling.cxx:7955
TCling::TUniqueString::Data
const char * Data()
Definition: TCling.cxx:1003
TCling::UpdateListOfMethods
void UpdateListOfMethods(TClass *cl) const
Update the list of pointers to method for TClass cl This is now a nop.
Definition: TCling.cxx:4263
TCling::GetDataMemberWithValue
virtual DeclId_t GetDataMemberWithValue(const void *ptrvalue) const
NOT IMPLEMENTED.
Definition: TCling.cxx:4691
TCling::TCling
TCling()
TCling::fGlobalsListSerial
Int_t fGlobalsListSerial
Definition: TCling.h:114