#include "TClingCallbacks.h"
#include "cling/Interpreter/DynamicLibraryManager.h"
#include "cling/Interpreter/Interpreter.h"
#include "cling/Interpreter/InterpreterCallbacks.h"
#include "cling/Interpreter/Transaction.h"
#include "cling/Utils/AST.h"
#include "clang/AST/ASTConsumer.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/DeclBase.h"
#include "clang/AST/DeclTemplate.h"
#include "clang/AST/GlobalDecl.h"
#include "clang/Frontend/CompilerInstance.h"
#include "clang/Lex/HeaderSearch.h"
#include "clang/Lex/PPCallbacks.h"
#include "clang/Lex/Preprocessor.h"
#include "clang/Parse/Parser.h"
#include "clang/Sema/Lookup.h"
#include "clang/Sema/Scope.h"
#include "llvm/Object/ELFObjectFile.h"
#include "llvm/Object/ObjectFile.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/Path.h"
#include "TClingUtils.h"
#include "ClingRAII.h"
Functions | |
static void | SearchAndAddPath (const std::string &Path, std::vector< std::pair< uint32_t, std::string > > &sLibraries, std::vector< std::string > &sPaths, std::unordered_set< std::string > &alreadyLookedPath, cling::DynamicLibraryManager *dyLibManager) |
static bool | shouldIgnore (const std::string &FileName, const cling::DynamicLibraryManager &dyLibManager) |
int | TCling__AutoLoadCallback (const char *className) |
int | TCling__AutoParseCallback (const char *className) |
int | TCling__CompileMacro (const char *fileName, const char *options) |
void | TCling__FindLoadedLibraries (std::vector< std::pair< uint32_t, std::string > > &sLibraries, std::vector< std::string > &sPaths, cling::Interpreter &interpreter, bool searchSystem) |
const char * | TCling__GetClassSharedLibs (const char *className) |
void | TCling__GetNormalizedContext (const ROOT::TMetaUtils::TNormalizedCtxt *&) |
TObject * | TCling__GetObjectAddress (const char *Name, void *&LookupCtx) |
Decl * | TCling__GetObjectDecl (TObject *obj) |
void | TCling__InvalidateGlobal (const clang::Decl *) |
int | TCling__IsAutoLoadNamespaceCandidate (const clang::NamespaceDecl *name) |
void | TCling__LibraryLoadedRTTI (const void *dyLibHandle, llvm::StringRef canonicalName) |
bool | TCling__LibraryLoadingFailed (const std::string &, const std::string &, bool, bool) |
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, llvm::StringRef canonicalName) |
void * | TCling__LockCompilationDuringUserCodeExecution () |
Lock the interpreter. More... | |
void | TCling__PrintStackTrace () |
Print a StackTrace! More... | |
void * | TCling__ResetInterpreterMutex () |
Reset the interpreter lock to the state it had before interpreter-related calls happened. More... | |
void | TCling__RestoreInterpreterMutex (void *state) |
Re-apply the lock count delta that TCling__ResetInterpreterMutex() caused. More... | |
void | TCling__SplitAclicMode (const char *fileName, std::string &mode, std::string &args, std::string &io, std::string &fname) |
void | TCling__TransactionRollback (const cling::Transaction &) |
void | TCling__UnlockCompilationDuringUserCodeExecution (void *state) |
Unlock the interpreter. More... | |
void | TCling__UpdateListsOnCommitted (const cling::Transaction &, Interpreter *) |
void | TCling__UpdateListsOnUnloaded (const cling::Transaction &) |
static bool | topmostDCIsFunction (Scope *S) |
Variables | |
R__EXTERN int | gDebug |
|
static |
Definition at line 924 of file TClingCallbacks.cxx.
|
static |
Definition at line 876 of file TClingCallbacks.cxx.
int TCling__AutoLoadCallback | ( | const char * | className | ) |
Definition at line 617 of file TCling.cxx.
int TCling__AutoParseCallback | ( | const char * | className | ) |
Definition at line 622 of file TCling.cxx.
int TCling__CompileMacro | ( | const char * | fileName, |
const char * | options | ||
) |
Definition at line 638 of file TCling.cxx.
void TCling__FindLoadedLibraries | ( | std::vector< std::pair< uint32_t, std::string > > & | sLibraries, |
std::vector< std::string > & | sPaths, | ||
cling::Interpreter & | interpreter, | ||
bool | searchSystem | ||
) |
Definition at line 960 of file TClingCallbacks.cxx.
const char * TCling__GetClassSharedLibs | ( | const char * | className | ) |
Definition at line 627 of file TCling.cxx.
void TCling__GetNormalizedContext | ( | const ROOT::TMetaUtils::TNormalizedCtxt *& | normCtxt | ) |
Definition at line 552 of file TCling.cxx.
Definition at line 595 of file TCling.cxx.
Decl * TCling__GetObjectDecl | ( | TObject * | obj | ) |
Definition at line 599 of file TCling.cxx.
void TCling__InvalidateGlobal | ( | const clang::Decl * | D | ) |
Definition at line 569 of file TCling.cxx.
int TCling__IsAutoLoadNamespaceCandidate | ( | const clang::NamespaceDecl * | name | ) |
Definition at line 633 of file TCling.cxx.
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 346 of file TCling.cxx.
void * TCling__LockCompilationDuringUserCodeExecution | ( | ) |
Lock the interpreter.
Definition at line 363 of file TCling.cxx.
void TCling__PrintStackTrace | ( | ) |
Print a StackTrace!
Definition at line 329 of file TCling.cxx.
void * TCling__ResetInterpreterMutex | ( | ) |
Reset the interpreter lock to the state it had before interpreter-related calls happened.
Definition at line 355 of file TCling.cxx.
Re-apply the lock count delta that TCling__ResetInterpreterMutex() caused.
Definition at line 336 of file TCling.cxx.
void TCling__SplitAclicMode | ( | const char * | fileName, |
std::string & | mode, | ||
std::string & | args, | ||
std::string & | io, | ||
std::string & | fname | ||
) |
Definition at line 645 of file TCling.cxx.
void TCling__TransactionRollback | ( | const cling::Transaction & | T | ) |
Definition at line 574 of file TCling.cxx.
Unlock the interpreter.
Definition at line 374 of file TCling.cxx.
void TCling__UpdateListsOnCommitted | ( | const cling::Transaction & | , |
Interpreter * | |||
) |
void TCling__UpdateListsOnUnloaded | ( | const cling::Transaction & | T | ) |
Definition at line 564 of file TCling.cxx.
|
static |
Definition at line 219 of file TClingCallbacks.cxx.
R__EXTERN int gDebug |
Definition at line 45 of file TClingCallbacks.cxx.