Logo ROOT  
Reference Guide
TClingCallbacks.cxx File Reference
#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"
Include dependency graph for TClingCallbacks.cxx:

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 *&)
 
TObjectTCling__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)
 
voidTCling__LockCompilationDuringUserCodeExecution ()
 Lock the interpreter. More...
 
void TCling__PrintStackTrace ()
 Print a StackTrace! More...
 
voidTCling__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
 

Function Documentation

◆ SearchAndAddPath()

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

Definition at line 924 of file TClingCallbacks.cxx.

◆ shouldIgnore()

static bool shouldIgnore ( const std::string &  FileName,
const cling::DynamicLibraryManager &  dyLibManager 
)
static

Definition at line 876 of file TClingCallbacks.cxx.

◆ TCling__AutoLoadCallback()

int TCling__AutoLoadCallback ( const char *  className)

Definition at line 617 of file TCling.cxx.

◆ TCling__AutoParseCallback()

int TCling__AutoParseCallback ( const char *  className)

Definition at line 622 of file TCling.cxx.

◆ TCling__CompileMacro()

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

Definition at line 638 of file TCling.cxx.

◆ TCling__FindLoadedLibraries()

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.

◆ TCling__GetClassSharedLibs()

const char * TCling__GetClassSharedLibs ( const char *  className)

Definition at line 627 of file TCling.cxx.

◆ TCling__GetNormalizedContext()

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

Definition at line 552 of file TCling.cxx.

◆ TCling__GetObjectAddress()

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

Definition at line 595 of file TCling.cxx.

◆ TCling__GetObjectDecl()

Decl * TCling__GetObjectDecl ( TObject obj)

Definition at line 599 of file TCling.cxx.

◆ TCling__InvalidateGlobal()

void TCling__InvalidateGlobal ( const clang::Decl *  D)

Definition at line 569 of file TCling.cxx.

◆ TCling__IsAutoLoadNamespaceCandidate()

int TCling__IsAutoLoadNamespaceCandidate ( const clang::NamespaceDecl *  name)

Definition at line 633 of file TCling.cxx.

◆ TCling__LibraryLoadedRTTI()

void TCling__LibraryLoadedRTTI ( const void dyLibHandle,
llvm::StringRef  canonicalName 
)

◆ 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 346 of file TCling.cxx.

◆ TCling__LibraryUnloadedRTTI()

void TCling__LibraryUnloadedRTTI ( const void dyLibHandle,
llvm::StringRef  canonicalName 
)

◆ TCling__LockCompilationDuringUserCodeExecution()

void * TCling__LockCompilationDuringUserCodeExecution ( )

Lock the interpreter.

Definition at line 363 of file TCling.cxx.

◆ TCling__PrintStackTrace()

void TCling__PrintStackTrace ( )

Print a StackTrace!

Definition at line 329 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 355 of file TCling.cxx.

◆ TCling__RestoreInterpreterMutex()

void TCling__RestoreInterpreterMutex ( void state)

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

Definition at line 336 of file TCling.cxx.

◆ TCling__SplitAclicMode()

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.

◆ TCling__TransactionRollback()

void TCling__TransactionRollback ( const cling::Transaction &  T)

Definition at line 574 of file TCling.cxx.

◆ TCling__UnlockCompilationDuringUserCodeExecution()

void TCling__UnlockCompilationDuringUserCodeExecution ( void state)

Unlock the interpreter.

Definition at line 374 of file TCling.cxx.

◆ TCling__UpdateListsOnCommitted()

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

◆ TCling__UpdateListsOnUnloaded()

void TCling__UpdateListsOnUnloaded ( const cling::Transaction &  T)

Definition at line 564 of file TCling.cxx.

◆ topmostDCIsFunction()

static bool topmostDCIsFunction ( Scope *  S)
static

Definition at line 219 of file TClingCallbacks.cxx.

Variable Documentation

◆ gDebug

R__EXTERN int gDebug

Definition at line 45 of file TClingCallbacks.cxx.