Logo ROOT  
Reference Guide
TCling.cxx File Reference
#include "TCling.h"
#include "ROOT/FoundationUtils.hxx"
#include "TClingBaseClassInfo.h"
#include "TClingCallFunc.h"
#include "TClingClassInfo.h"
#include "TClingDataMemberInfo.h"
#include "TClingMethodArgInfo.h"
#include "TClingMethodInfo.h"
#include "TClingRdictModuleFileExtension.h"
#include "TClingTypedefInfo.h"
#include "TClingTypeInfo.h"
#include "TClingValue.h"
#include "TROOT.h"
#include "TApplication.h"
#include "TGlobal.h"
#include "TDataType.h"
#include "TClass.h"
#include "TClassEdit.h"
#include "TClassTable.h"
#include "TClingCallbacks.h"
#include "TBaseClass.h"
#include "TDataMember.h"
#include "TMemberInspector.h"
#include "TMethod.h"
#include "TMethodArg.h"
#include "TFunctionTemplate.h"
#include "TObjArray.h"
#include "TObjString.h"
#include "TString.h"
#include "THashList.h"
#include "TVirtualPad.h"
#include "TSystem.h"
#include "TVirtualMutex.h"
#include "TError.h"
#include "TEnv.h"
#include "TEnum.h"
#include "TEnumConstant.h"
#include "THashTable.h"
#include "RConversionRuleParser.h"
#include "RConfigure.h"
#include "compiledata.h"
#include "strlcpy.h"
#include "snprintf.h"
#include "TClingUtils.h"
#include "TVirtualCollectionProxy.h"
#include "TVirtualStreamerInfo.h"
#include "TListOfDataMembers.h"
#include "TListOfEnums.h"
#include "TListOfEnumsWithLock.h"
#include "TListOfFunctions.h"
#include "TListOfFunctionTemplates.h"
#include "TMemFile.h"
#include "TProtoClass.h"
#include "TStreamerInfo.h"
#include "ThreadLocalStorage.h"
#include "TFile.h"
#include "TKey.h"
#include "ClingRAII.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/Decl.h"
#include "clang/AST/DeclarationName.h"
#include "clang/AST/GlobalDecl.h"
#include "clang/AST/RecordLayout.h"
#include "clang/AST/DeclVisitor.h"
#include "clang/AST/RecursiveASTVisitor.h"
#include "clang/AST/Type.h"
#include "clang/Basic/SourceLocation.h"
#include "clang/Basic/Specifiers.h"
#include "clang/Basic/TargetInfo.h"
#include "clang/CodeGen/ModuleBuilder.h"
#include "clang/Frontend/CompilerInstance.h"
#include "clang/Frontend/FrontendDiagnostic.h"
#include "clang/Lex/HeaderSearch.h"
#include "clang/Lex/Preprocessor.h"
#include "clang/Lex/PreprocessorOptions.h"
#include "clang/Parse/Parser.h"
#include "clang/Sema/Lookup.h"
#include "clang/Sema/Sema.h"
#include "clang/Serialization/ASTReader.h"
#include "clang/Serialization/GlobalModuleIndex.h"
#include "cling/Interpreter/ClangInternalState.h"
#include "cling/Interpreter/DynamicLibraryManager.h"
#include "cling/Interpreter/Interpreter.h"
#include "cling/Interpreter/LookupHelper.h"
#include "cling/Interpreter/Value.h"
#include "cling/Interpreter/Transaction.h"
#include "cling/MetaProcessor/MetaProcessor.h"
#include "cling/Utils/AST.h"
#include "cling/Utils/ParserStateRAII.h"
#include "cling/Utils/SourceNormalization.h"
#include "cling/Interpreter/Exception.h"
#include "llvm/IR/GlobalValue.h"
#include "llvm/IR/Module.h"
#include "llvm/Support/DynamicLibrary.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/Process.h"
#include "llvm/Object/ELFObjectFile.h"
#include "llvm/Object/ObjectFile.h"
#include "llvm/Object/SymbolicFile.h"
#include "llvm/Support/FileSystem.h"
#include <algorithm>
#include <iostream>
#include <cassert>
#include <map>
#include <set>
#include <stdexcept>
#include <stdint.h>
#include <fstream>
#include <sstream>
#include <string>
#include <tuple>
#include <typeinfo>
#include <unordered_map>
#include <utility>
#include <vector>
#include <functional>
#include <cxxabi.h>
#include <sys/stat.h>
#include <limits.h>
#include <stdio.h>
Include dependency graph for TCling.cxx:

Macros

#define R__DLLEXPORT   __attribute__ ((visibility ("default")))
 

Enumerations

enum  ETupleOrdering { ETupleOrdering::kAscending, ETupleOrdering::kDescending, ETupleOrdering::kUnexpected }
 Check in what order the member of a tuple are layout. More...
 

Functions

static std::string AlternateTuple (const char *classname, const cling::LookupHelper &lh)
 
static void ConstructorName (std::string &name, const clang::Decl *decl, cling::Interpreter &interp, const ROOT::TMetaUtils::TNormalizedCtxt &normCtxt)
 
R__DLLEXPORT TInterpreterCreateInterpreter (void *interpLibHandle, const char *argv[])
 
R__DLLEXPORT void DestroyInterpreter (TInterpreter *interp)
 
static cling::Interpreter::CompilationResult ExecAutoParse (const char *what, Bool_t header, cling::Interpreter *interpreter)
 Parse the payload or header. More...
 
static clang::ClassTemplateDecl * FindTemplateInNamespace (clang::Decl *decl)
 Find a template decl within N nested namespaces, 0<=N<inf Assumes 1 and only 1 template present and 1 and only 1 entity contained by the namespace. More...
 
static std::string GetClassSharedLibsForModule (const char *cls, cling::LookupHelper &LH)
 
static std::string GetSharedLibImmediateDepsSlow (std::string lib, cling::Interpreter *interp, bool skipLoadedLibs=true)
 This interface returns a list of dependent libraries in the form: lib libA.so libB.so libC.so. More...
 
static int HandleInterpreterException (cling::MetaProcessor *metaProcessor, const char *input_line, cling::Interpreter::CompilationResult &compRes, cling::Value *result)
 Let cling process a command line. More...
 
static bool HasASTFileOnDisk (clang::Module *M, const clang::Preprocessor &PP, std::string *FullFileName=nullptr)
 Checks if there is an ASTFile on disk for the given module M. More...
 
static bool hasParsedRootmapForLibrary (llvm::StringRef lib)
 
static bool hasPrecomputedLibraryDeps (llvm::StringRef lib)
 
static bool IsFromRootCling ()
 
static ETupleOrdering IsTupleAscending ()
 
static voidLazyFunctionCreatorAutoloadForModule (const std::string &mangled_name, const cling::DynamicLibraryManager &DLM)
 
voidllvmLazyFunctionCreator (const std::string &mangled_name)
 Autoload a library provided the mangled name of a missing symbol. More...
 
static GlobalModuleIndex * loadGlobalModuleIndex (SourceLocation TriggerLoc, cling::Interpreter &interp)
 
static bool LoadModule (const std::string &ModuleName, cling::Interpreter &interp)
 
static void LoadModules (const std::vector< std::string > &modules, cling::Interpreter &interp)
 Loads the C++ modules that we require to run any ROOT program. More...
 
static void PrintDlError (const char *dyLibName, const char *modulename)
 
static bool R__InitStreamerInfoFactory ()
 Helper to initialize TVirtualStreamerInfo's factor early. More...
 
static void RegisterCxxModules (cling::Interpreter &clingInterp)
 
static void RegisterPreIncludedHeaders (cling::Interpreter &clingInterp)
 
static bool requiresRootMap (const char *rootmapfile, cling::Interpreter *interp)
 
static Bool_t s_IsLibraryLoaded (const char *libname, cling::Interpreter *fInterpreter)
 
int TCling__AutoLoadCallback (const char *className)
 
int TCling__AutoParseCallback (const char *className)
 
int TCling__CompileMacro (const char *fileName, const char *options)
 
R__DLLEXPORT clang::NamespaceDecl * TCling__DEBUG__DCtoNamespace (clang::DeclContext *DC)
 
R__DLLEXPORT clang::RecordDecl * TCling__DEBUG__DCtoRecordDecl (clang::DeclContext *DC)
 
R__DLLEXPORT void TCling__DEBUG__decl_dump (void *D)
 
R__DLLEXPORT void TCling__DEBUG__dump (clang::Decl *D)
 
R__DLLEXPORT void TCling__DEBUG__dump (clang::DeclContext *DC)
 
R__DLLEXPORT void TCling__DEBUG__dump (clang::FunctionDecl *FD)
 
R__DLLEXPORT clang::DeclContext * TCling__DEBUG__getDeclContext (clang::Decl *D)
 
R__DLLEXPORT void TCling__DEBUG__printName (clang::Decl *D)
 
const char * TCling__GetClassSharedLibs (const char *className)
 
void TCling__GetNormalizedContext (const ROOT::TMetaUtils::TNormalizedCtxt *&normCtxt)
 
TObjectTCling__GetObjectAddress (const char *Name, void *&LookupCtx)
 
const Decl * TCling__GetObjectDecl (TObject *obj)
 
void TCling__InvalidateGlobal (const clang::Decl *D)
 
int TCling__IsAutoLoadNamespaceCandidate (const clang::NamespaceDecl *nsDecl)
 
void TCling__LibraryLoadedRTTI (const void *dyLibHandle, const char *canonicalName)
 
bool TCling__LibraryLoadingFailed (const std::string &errmessage, const std::string &libStem, bool permanent, bool resolved)
 Lookup libraries in LD_LIBRARY_PATH and DYLD_LIBRARY_PATH with mangled_name, which is extracted by error messages we get from callback from cling. More...
 
void TCling__LibraryUnloadedRTTI (const void *dyLibHandle, const char *canonicalName)
 
voidTCling__LockCompilationDuringUserCodeExecution ()
 Lock the interpreter. More...
 
void TCling__PrintStackTrace ()
 Print a StackTrace! More...
 
void TCling__RegisterRdictForLoadPCM (const std::string &pcmFileNameFullPath, llvm::StringRef *pcmContent)
 
voidTCling__ResetInterpreterMutex ()
 Reset the interpreter lock to the state it had before interpreter-related calls happened. More...
 
void TCling__RestoreInterpreterMutex (void *delta)
 Re-apply the lock count delta that TCling__ResetInterpreterMutex() caused. More...
 
void TCling__SplitAclicMode (const char *fileName, string &mode, string &args, string &io, string &fname)
 
R__DLLEXPORT bool TCling__TEST_isInvalidDecl (clang::Decl *D)
 
R__DLLEXPORT bool TCling__TEST_isInvalidDecl (ClassInfo_t *input)
 
void TCling__TransactionRollback (const cling::Transaction &T)
 
void TCling__UnlockCompilationDuringUserCodeExecution (void *)
 Unlock the interpreter. More...
 
static void TCling__UpdateClassInfo (const NamedDecl *TD)
 Update TClingClassInfo for a class (e.g. upon seeing a definition). More...
 
void TCling__UpdateListsOnCommitted (const cling::Transaction &T, cling::Interpreter *)
 
void TCling__UpdateListsOnUnloaded (const cling::Transaction &T)
 
int TCling_GenerateDictionary (const std::string &className, const std::vector< std::string > &headers, const std::vector< std::string > &fwdDecls, const std::vector< std::string > &unknown)
 
int TCling_GenerateDictionary (const std::vector< std::string > &classes, const std::vector< std::string > &headers, const std::vector< std::string > &fwdDecls, const std::vector< std::string > &unknown)
 
bool TClingLookupHelper__AutoParse (const char *cname)
 Allow calling autoparsing from TMetaUtils. More...
 
bool TClingLookupHelper__ExistingTypeCheck (const std::string &tname, std::string &result)
 Try hard to avoid looking up in the Cling database as this could enduce an unwanted autoparsing. More...
 

Variables

const char * fantomline = "TRint::EndOfLineAction();"
 
static const std::unordered_set< std::string > gIgnoredPCMNames
 List of dicts that have the PCM information already in the PCH. More...
 
static bool HaveFullGlobalModuleIndex = false
 
R__EXTERN int optind
 

Macro Definition Documentation

◆ R__DLLEXPORT

#define R__DLLEXPORT   __attribute__ ((visibility ("default")))

Definition at line 148 of file TCling.cxx.

Enumeration Type Documentation

◆ ETupleOrdering

enum ETupleOrdering
strong

Check in what order the member of a tuple are layout.

Enumerator
kAscending 
kDescending 
kUnexpected 

Definition at line 3759 of file TCling.cxx.

Function Documentation

◆ AlternateTuple()

static std::string AlternateTuple ( const char *  classname,
const cling::LookupHelper &  lh 
)
static

Definition at line 3801 of file TCling.cxx.

◆ ConstructorName()

static void ConstructorName ( std::string &  name,
const clang::Decl *  decl,
cling::Interpreter &  interp,
const ROOT::TMetaUtils::TNormalizedCtxt normCtxt 
)
static

Definition at line 8593 of file TCling.cxx.

◆ CreateInterpreter()

R__DLLEXPORT TInterpreter* CreateInterpreter ( void interpLibHandle,
const char *  argv[] 
)

Definition at line 589 of file TCling.cxx.

◆ DestroyInterpreter()

R__DLLEXPORT void DestroyInterpreter ( TInterpreter interp)

Definition at line 597 of file TCling.cxx.

◆ ExecAutoParse()

static cling::Interpreter::CompilationResult ExecAutoParse ( const char *  what,
Bool_t  header,
cling::Interpreter *  interpreter 
)
static

Parse the payload or header.

Definition at line 6130 of file TCling.cxx.

◆ FindTemplateInNamespace()

static clang::ClassTemplateDecl* FindTemplateInNamespace ( clang::Decl *  decl)
static

Find a template decl within N nested namespaces, 0<=N<inf Assumes 1 and only 1 template present and 1 and only 1 entity contained by the namespace.

Example: ns1::ns2::..::nsN::myTemplate Returns nullptr in case of error

Definition at line 661 of file TCling.cxx.

◆ GetClassSharedLibsForModule()

static std::string GetClassSharedLibsForModule ( const char *  cls,
cling::LookupHelper &  LH 
)
static

Definition at line 6886 of file TCling.cxx.

◆ GetSharedLibImmediateDepsSlow()

static std::string GetSharedLibImmediateDepsSlow ( std::string  lib,
cling::Interpreter *  interp,
bool  skipLoadedLibs = true 
)
static

This interface returns a list of dependent libraries in the form: lib libA.so libB.so libC.so.

The first library is the library we are searching dependencies for. Note: In order to speed up the search, we display the dependencies of the libraries which are not yet loaded. For instance, if libB.so was already loaded the list would contain: lib libA.so libC.so.

Definition at line 7043 of file TCling.cxx.

◆ HandleInterpreterException()

static int HandleInterpreterException ( cling::MetaProcessor *  metaProcessor,
const char *  input_line,
cling::Interpreter::CompilationResult &  compRes,
cling::Value *  result 
)
static

Let cling process a command line.

If the command is executed and the error is 0, then the return value is the int value corresponding to the result of the executed command (float and double return values will be truncated).

Definition at line 2418 of file TCling.cxx.

◆ HasASTFileOnDisk()

static bool HasASTFileOnDisk ( clang::Module *  M,
const clang::Preprocessor &  PP,
std::string *  FullFileName = nullptr 
)
static

Checks if there is an ASTFile on disk for the given module M.

Definition at line 1064 of file TCling.cxx.

◆ hasParsedRootmapForLibrary()

static bool hasParsedRootmapForLibrary ( llvm::StringRef  lib)
static

Definition at line 7132 of file TCling.cxx.

◆ hasPrecomputedLibraryDeps()

static bool hasPrecomputedLibraryDeps ( llvm::StringRef  lib)
static

Definition at line 7153 of file TCling.cxx.

◆ IsFromRootCling()

static bool IsFromRootCling ( )
static

Definition at line 1057 of file TCling.cxx.

◆ IsTupleAscending()

static ETupleOrdering IsTupleAscending ( )
static

Definition at line 3777 of file TCling.cxx.

◆ LazyFunctionCreatorAutoloadForModule()

static void* LazyFunctionCreatorAutoloadForModule ( const std::string &  mangled_name,
const cling::DynamicLibraryManager &  DLM 
)
static

Definition at line 6386 of file TCling.cxx.

◆ llvmLazyFunctionCreator()

void* llvmLazyFunctionCreator ( const std::string &  mangled_name)

Autoload a library provided the mangled name of a missing symbol.

Definition at line 678 of file TCling.cxx.

◆ loadGlobalModuleIndex()

static GlobalModuleIndex* loadGlobalModuleIndex ( SourceLocation  TriggerLoc,
cling::Interpreter &  interp 
)
static

Definition at line 1079 of file TCling.cxx.

◆ LoadModule()

static bool LoadModule ( const std::string &  ModuleName,
cling::Interpreter &  interp 
)
static
Returns
true if the module was loaded.

Definition at line 1028 of file TCling.cxx.

◆ LoadModules()

static void LoadModules ( const std::vector< std::string > &  modules,
cling::Interpreter &  interp 
)
static

Loads the C++ modules that we require to run any ROOT program.

This is just supposed to make a C++ module from a modulemap available to the interpreter.

Definition at line 1051 of file TCling.cxx.

◆ PrintDlError()

static void PrintDlError ( const char *  dyLibName,
const char *  modulename 
)
static

Definition at line 1962 of file TCling.cxx.

◆ R__InitStreamerInfoFactory()

static bool R__InitStreamerInfoFactory ( )
static

Helper to initialize TVirtualStreamerInfo's factor early.

Use static initialization to insure only one TStreamerInfo is created.

Definition at line 1664 of file TCling.cxx.

◆ RegisterCxxModules()

static void RegisterCxxModules ( cling::Interpreter &  clingInterp)
static

Definition at line 1182 of file TCling.cxx.

◆ RegisterPreIncludedHeaders()

static void RegisterPreIncludedHeaders ( cling::Interpreter &  clingInterp)
static

Definition at line 1325 of file TCling.cxx.

◆ requiresRootMap()

static bool requiresRootMap ( const char *  rootmapfile,
cling::Interpreter *  interp 
)
static

Definition at line 5337 of file TCling.cxx.

◆ s_IsLibraryLoaded()

static Bool_t s_IsLibraryLoaded ( const char *  libname,
cling::Interpreter *  fInterpreter 
)
static

Definition at line 3076 of file TCling.cxx.

◆ TCling__AutoLoadCallback()

int TCling__AutoLoadCallback ( const char *  className)

Definition at line 604 of file TCling.cxx.

◆ TCling__AutoParseCallback()

int TCling__AutoParseCallback ( const char *  className)

Definition at line 609 of file TCling.cxx.

◆ TCling__CompileMacro()

int TCling__CompileMacro ( const char *  fileName,
const char *  options 
)

Definition at line 625 of file TCling.cxx.

◆ TCling__DEBUG__DCtoNamespace()

R__DLLEXPORT clang::NamespaceDecl* TCling__DEBUG__DCtoNamespace ( clang::DeclContext *  DC)

Definition at line 207 of file TCling.cxx.

◆ TCling__DEBUG__DCtoRecordDecl()

R__DLLEXPORT clang::RecordDecl* TCling__DEBUG__DCtoRecordDecl ( clang::DeclContext *  DC)

Definition at line 210 of file TCling.cxx.

◆ TCling__DEBUG__decl_dump()

R__DLLEXPORT void TCling__DEBUG__decl_dump ( void D)

Definition at line 222 of file TCling.cxx.

◆ TCling__DEBUG__dump() [1/3]

R__DLLEXPORT void TCling__DEBUG__dump ( clang::Decl *  D)

Definition at line 216 of file TCling.cxx.

◆ TCling__DEBUG__dump() [2/3]

R__DLLEXPORT void TCling__DEBUG__dump ( clang::DeclContext *  DC)

Definition at line 213 of file TCling.cxx.

◆ TCling__DEBUG__dump() [3/3]

R__DLLEXPORT void TCling__DEBUG__dump ( clang::FunctionDecl *  FD)

Definition at line 219 of file TCling.cxx.

◆ TCling__DEBUG__getDeclContext()

R__DLLEXPORT clang::DeclContext* TCling__DEBUG__getDeclContext ( clang::Decl *  D)

Definition at line 204 of file TCling.cxx.

◆ TCling__DEBUG__printName()

R__DLLEXPORT void TCling__DEBUG__printName ( clang::Decl *  D)

Definition at line 225 of file TCling.cxx.

◆ TCling__GetClassSharedLibs()

const char* TCling__GetClassSharedLibs ( const char *  className)

Definition at line 614 of file TCling.cxx.

◆ TCling__GetNormalizedContext()

void TCling__GetNormalizedContext ( const ROOT::TMetaUtils::TNormalizedCtxt *&  normCtxt)

Definition at line 538 of file TCling.cxx.

◆ TCling__GetObjectAddress()

TObject* TCling__GetObjectAddress ( const char *  Name,
void *&  LookupCtx 
)

Definition at line 581 of file TCling.cxx.

◆ TCling__GetObjectDecl()

const Decl* TCling__GetObjectDecl ( TObject obj)

Definition at line 585 of file TCling.cxx.

◆ TCling__InvalidateGlobal()

void TCling__InvalidateGlobal ( const clang::Decl *  D)

Definition at line 555 of file TCling.cxx.

◆ TCling__IsAutoLoadNamespaceCandidate()

int TCling__IsAutoLoadNamespaceCandidate ( const clang::NamespaceDecl *  nsDecl)

Definition at line 620 of file TCling.cxx.

◆ TCling__LibraryLoadedRTTI()

void TCling__LibraryLoadedRTTI ( const void dyLibHandle,
const char *  canonicalName 
)

Definition at line 564 of file TCling.cxx.

◆ TCling__LibraryLoadingFailed()

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

Lookup libraries in LD_LIBRARY_PATH and DYLD_LIBRARY_PATH with mangled_name, which is extracted by error messages we get from callback from cling.

Return true when the missing library was autoloaded.

Definition at line 332 of file TCling.cxx.

◆ TCling__LibraryUnloadedRTTI()

void TCling__LibraryUnloadedRTTI ( const void dyLibHandle,
const char *  canonicalName 
)

Definition at line 574 of file TCling.cxx.

◆ TCling__LockCompilationDuringUserCodeExecution()

void* TCling__LockCompilationDuringUserCodeExecution ( )

Lock the interpreter.

Definition at line 349 of file TCling.cxx.

◆ TCling__PrintStackTrace()

void TCling__PrintStackTrace ( )

Print a StackTrace!

Definition at line 315 of file TCling.cxx.

◆ TCling__RegisterRdictForLoadPCM()

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

Definition at line 569 of file TCling.cxx.

◆ TCling__ResetInterpreterMutex()

void* TCling__ResetInterpreterMutex ( )

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

Definition at line 341 of file TCling.cxx.

◆ TCling__RestoreInterpreterMutex()

void TCling__RestoreInterpreterMutex ( void delta)

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

Definition at line 322 of file TCling.cxx.

◆ TCling__SplitAclicMode()

void TCling__SplitAclicMode ( const char *  fileName,
string &  mode,
string &  args,
string &  io,
string &  fname 
)

Definition at line 632 of file TCling.cxx.

◆ TCling__TEST_isInvalidDecl() [1/2]

R__DLLEXPORT bool TCling__TEST_isInvalidDecl ( clang::Decl *  D)

Definition at line 240 of file TCling.cxx.

◆ TCling__TEST_isInvalidDecl() [2/2]

R__DLLEXPORT bool TCling__TEST_isInvalidDecl ( ClassInfo_t *  input)

Definition at line 243 of file TCling.cxx.

◆ TCling__TransactionRollback()

void TCling__TransactionRollback ( const cling::Transaction &  T)

Definition at line 560 of file TCling.cxx.

◆ TCling__UnlockCompilationDuringUserCodeExecution()

void TCling__UnlockCompilationDuringUserCodeExecution ( void )

Unlock the interpreter.

Definition at line 360 of file TCling.cxx.

◆ TCling__UpdateClassInfo()

static void TCling__UpdateClassInfo ( const NamedDecl *  TD)
static

Update TClingClassInfo for a class (e.g. upon seeing a definition).

Definition at line 370 of file TCling.cxx.

◆ TCling__UpdateListsOnCommitted()

void TCling__UpdateListsOnCommitted ( const cling::Transaction &  T,
cling::Interpreter *   
)

Definition at line 545 of file TCling.cxx.

◆ TCling__UpdateListsOnUnloaded()

void TCling__UpdateListsOnUnloaded ( const cling::Transaction &  T)

Definition at line 550 of file TCling.cxx.

◆ TCling_GenerateDictionary() [1/2]

int TCling_GenerateDictionary ( const std::string &  className,
const std::vector< std::string > &  headers,
const std::vector< std::string > &  fwdDecls,
const std::vector< std::string > &  unknown 
)

Definition at line 816 of file TCling.cxx.

◆ TCling_GenerateDictionary() [2/2]

int TCling_GenerateDictionary ( const std::vector< std::string > &  classes,
const std::vector< std::string > &  headers,
const std::vector< std::string > &  fwdDecls,
const std::vector< std::string > &  unknown 
)

Definition at line 688 of file TCling.cxx.

◆ TClingLookupHelper__AutoParse()

bool TClingLookupHelper__AutoParse ( const char *  cname)

Allow calling autoparsing from TMetaUtils.

Definition at line 890 of file TCling.cxx.

◆ TClingLookupHelper__ExistingTypeCheck()

bool TClingLookupHelper__ExistingTypeCheck ( const std::string &  tname,
std::string &  result 
)

Try hard to avoid looking up in the Cling database as this could enduce an unwanted autoparsing.

Definition at line 899 of file TCling.cxx.

Variable Documentation

◆ fantomline

const char* fantomline = "TRint::EndOfLineAction();"

Definition at line 837 of file TCling.cxx.

◆ gIgnoredPCMNames

const std::unordered_set<std::string> gIgnoredPCMNames
static
Initial value:
= {"libCore",
"libRint",
"libThread",
"libRIO",
"libImt",
"libcomplexDict",
"libdequeDict",
"liblistDict",
"libforward_listDict",
"libvectorDict",
"libmapDict",
"libmultimap2Dict",
"libmap2Dict",
"libmultimapDict",
"libsetDict",
"libmultisetDict",
"libunordered_setDict",
"libunordered_multisetDict",
"libunordered_mapDict",
"libunordered_multimapDict",
"libvalarrayDict",
"G__GenVector32",
"G__Smatrix32"}

List of dicts that have the PCM information already in the PCH.

Definition at line 1938 of file TCling.cxx.

◆ HaveFullGlobalModuleIndex

bool HaveFullGlobalModuleIndex = false
static

Definition at line 1078 of file TCling.cxx.

◆ optind

R__EXTERN int optind

Definition at line 306 of file TCling.cxx.