Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TClingCallbacks Class Reference

Definition at line 41 of file TClingCallbacks.h.

Public Member Functions

 TClingCallbacks (cling::Interpreter *interp, bool hasCodeGen)
 
 ~TClingCallbacks ()
 
void DeclDeserialized (const clang::Decl *D) override
 
void DefinitionShadowed (const clang::NamedDecl *D) override
 A previous definition has been shadowed; invalidate TCling' stored data about the old (global) decl.
 
void * EnteringUserCode () override
 
bool FileNotFound (llvm::StringRef FileName) override
 
void InclusionDirective (clang::SourceLocation, const clang::Token &, llvm::StringRef FileName, bool, clang::CharSourceRange, clang::OptionalFileEntryRef, llvm::StringRef, llvm::StringRef, const clang::Module *, clang::SrcMgr::CharacteristicKind) override
 
void Initialize ()
 
bool IsAutoLoadingEnabled () const
 
bool IsAutoParsingSuspended ()
 
void LibraryLoaded (const void *dyLibHandle, llvm::StringRef canonicalName) override
 
bool LibraryLoadingFailed (const std::string &, const std::string &, bool, bool) override
 
void LibraryUnloaded (const void *dyLibHandle, llvm::StringRef canonicalName) override
 
void * LockCompilationDuringUserCodeExecution () override
 
bool LookupObject (clang::LookupResult &R, clang::Scope *S) override
 
bool LookupObject (clang::TagDecl *Tag) override
 
bool LookupObject (const clang::DeclContext *DC, clang::DeclarationName Name) override
 
void PrintStackTrace () override
 
void ReturnedFromUserCode (void *stateInfo) override
 
void SetAutoLoadingEnabled (bool val=true)
 
void SetAutoParsingSuspended (bool val=true)
 
void TransactionCodeGenFinished (const cling::Transaction &T) override
 
void TransactionCodeGenStarted (const cling::Transaction &T) override
 
void TransactionCommitted (const cling::Transaction &T) override
 
void TransactionRollback (const cling::Transaction &T) override
 
void TransactionUnloaded (const cling::Transaction &T) override
 
void UnlockCompilationDuringUserCodeExecution (void *StateInfo) override
 

Private Member Functions

bool findInGlobalModuleIndex (clang::DeclarationName Name, bool loadFirstMatchOnly=true)
 
bool shouldResolveAtRuntime (clang::LookupResult &R, clang::Scope *S)
 
bool tryAutoParseInternal (llvm::StringRef Name, clang::LookupResult &R, clang::Scope *S, clang::OptionalFileEntryRef FE=std::nullopt)
 
bool tryFindROOTSpecialInternal (clang::LookupResult &R, clang::Scope *S)
 
bool tryInjectImplicitAutoKeyword (clang::LookupResult &R, clang::Scope *S)
 
bool tryResolveAtRuntimeInternal (clang::LookupResult &R, clang::Scope *S)
 

Private Attributes

bool fFirstRun = true
 
bool fIsAutoLoading = false
 
bool fIsAutoLoadingRecursively = false
 
bool fIsAutoParsingSuspended = false
 
bool fIsCodeGening = false
 
bool fIsLoadingModule = false
 
void * fLastLookupCtx = nullptr
 
clang::NamespaceDecl * fROOTSpecialNamespace = nullptr
 
llvm::DenseMap< llvm::StringRef, clang::DeclarationName > m_LoadedModuleFiles
 

#include </home/sftnight/build/workspace/root-makedoc-master/rootspi/rdoc/src/master/core/metacling/src/TClingCallbacks.h>

Inheritance diagram for TClingCallbacks:
[legend]

Constructor & Destructor Documentation

◆ TClingCallbacks()

TClingCallbacks::TClingCallbacks ( cling::Interpreter *  interp,
bool  hasCodeGen 
)

Definition at line 227 of file TClingCallbacks.cxx.

◆ ~TClingCallbacks()

TClingCallbacks::~TClingCallbacks ( )

Definition at line 239 of file TClingCallbacks.cxx.

Member Function Documentation

◆ DeclDeserialized()

void TClingCallbacks::DeclDeserialized ( const clang::Decl *  D)
override

Definition at line 1062 of file TClingCallbacks.cxx.

◆ DefinitionShadowed()

void TClingCallbacks::DefinitionShadowed ( const clang::NamedDecl *  D)
override

A previous definition has been shadowed; invalidate TCling' stored data about the old (global) decl.

Definition at line 1058 of file TClingCallbacks.cxx.

◆ EnteringUserCode()

void * TClingCallbacks::EnteringUserCode ( )
override

Definition at line 1089 of file TClingCallbacks.cxx.

◆ FileNotFound()

bool TClingCallbacks::FileNotFound ( llvm::StringRef  FileName)
override

Definition at line 294 of file TClingCallbacks.cxx.

◆ findInGlobalModuleIndex()

bool TClingCallbacks::findInGlobalModuleIndex ( clang::DeclarationName  Name,
bool  loadFirstMatchOnly = true 
)
private

Definition at line 426 of file TClingCallbacks.cxx.

◆ InclusionDirective()

void TClingCallbacks::InclusionDirective ( clang::SourceLocation  sLoc,
const clang::Token &  ,
llvm::StringRef  FileName,
bool  ,
clang::CharSourceRange  ,
clang::OptionalFileEntryRef  FE,
llvm::StringRef  ,
llvm::StringRef  ,
const clang::Module *  Imported,
clang::SrcMgr::CharacteristicKind  FileType 
)
override

Definition at line 241 of file TClingCallbacks.cxx.

◆ Initialize()

void TClingCallbacks::Initialize ( )

Definition at line 1018 of file TClingCallbacks.cxx.

◆ IsAutoLoadingEnabled()

bool TClingCallbacks::IsAutoLoadingEnabled ( ) const
inline

Definition at line 61 of file TClingCallbacks.h.

◆ IsAutoParsingSuspended()

bool TClingCallbacks::IsAutoParsingSuspended ( )
inline

Definition at line 64 of file TClingCallbacks.h.

◆ LibraryLoaded()

void TClingCallbacks::LibraryLoaded ( const void *  dyLibHandle,
llvm::StringRef  canonicalName 
)
override

Definition at line 1075 of file TClingCallbacks.cxx.

◆ LibraryLoadingFailed()

bool TClingCallbacks::LibraryLoadingFailed ( const std::string &  errmessage,
const std::string &  libStem,
bool  permanent,
bool  resolved 
)
override

Definition at line 286 of file TClingCallbacks.cxx.

◆ LibraryUnloaded()

void TClingCallbacks::LibraryUnloaded ( const void *  dyLibHandle,
llvm::StringRef  canonicalName 
)
override

Definition at line 1080 of file TClingCallbacks.cxx.

◆ LockCompilationDuringUserCodeExecution()

void * TClingCallbacks::LockCompilationDuringUserCodeExecution ( )
override

Definition at line 1102 of file TClingCallbacks.cxx.

◆ LookupObject() [1/3]

bool TClingCallbacks::LookupObject ( clang::LookupResult &  R,
clang::Scope *  S 
)
override

◆ LookupObject() [2/3]

bool TClingCallbacks::LookupObject ( clang::TagDecl *  Tag)
override

Definition at line 558 of file TClingCallbacks.cxx.

◆ LookupObject() [3/3]

bool TClingCallbacks::LookupObject ( const clang::DeclContext *  DC,
clang::DeclarationName  Name 
)
override

◆ PrintStackTrace()

void TClingCallbacks::PrintStackTrace ( )
override

Definition at line 1085 of file TClingCallbacks.cxx.

◆ ReturnedFromUserCode()

void TClingCallbacks::ReturnedFromUserCode ( void *  stateInfo)
override

Definition at line 1097 of file TClingCallbacks.cxx.

◆ SetAutoLoadingEnabled()

void TClingCallbacks::SetAutoLoadingEnabled ( bool  val = true)
inline

Definition at line 60 of file TClingCallbacks.h.

◆ SetAutoParsingSuspended()

void TClingCallbacks::SetAutoParsingSuspended ( bool  val = true)
inline

Definition at line 63 of file TClingCallbacks.h.

◆ shouldResolveAtRuntime()

bool TClingCallbacks::shouldResolveAtRuntime ( clang::LookupResult &  R,
clang::Scope *  S 
)
private

Definition at line 879 of file TClingCallbacks.cxx.

◆ TransactionCodeGenFinished()

void TClingCallbacks::TransactionCodeGenFinished ( const cling::Transaction &  T)
inlineoverride

Definition at line 97 of file TClingCallbacks.h.

◆ TransactionCodeGenStarted()

void TClingCallbacks::TransactionCodeGenStarted ( const cling::Transaction &  T)
inlineoverride

Definition at line 89 of file TClingCallbacks.h.

◆ TransactionCommitted()

void TClingCallbacks::TransactionCommitted ( const cling::Transaction &  T)
override

Definition at line 1033 of file TClingCallbacks.cxx.

◆ TransactionRollback()

void TClingCallbacks::TransactionRollback ( const cling::Transaction &  T)
override

Definition at line 1051 of file TClingCallbacks.cxx.

◆ TransactionUnloaded()

void TClingCallbacks::TransactionUnloaded ( const cling::Transaction &  T)
override

Definition at line 1042 of file TClingCallbacks.cxx.

◆ tryAutoParseInternal()

bool TClingCallbacks::tryAutoParseInternal ( llvm::StringRef  Name,
clang::LookupResult &  R,
clang::Scope *  S,
clang::OptionalFileEntryRef  FE = std::nullopt 
)
private

Definition at line 621 of file TClingCallbacks.cxx.

◆ tryFindROOTSpecialInternal()

bool TClingCallbacks::tryFindROOTSpecialInternal ( clang::LookupResult &  R,
clang::Scope *  S 
)
private

Definition at line 711 of file TClingCallbacks.cxx.

◆ tryInjectImplicitAutoKeyword()

bool TClingCallbacks::tryInjectImplicitAutoKeyword ( clang::LookupResult &  R,
clang::Scope *  S 
)
private

Definition at line 937 of file TClingCallbacks.cxx.

◆ tryResolveAtRuntimeInternal()

bool TClingCallbacks::tryResolveAtRuntimeInternal ( clang::LookupResult &  R,
clang::Scope *  S 
)
private

Definition at line 816 of file TClingCallbacks.cxx.

◆ UnlockCompilationDuringUserCodeExecution()

void TClingCallbacks::UnlockCompilationDuringUserCodeExecution ( void *  StateInfo)
override

Definition at line 1107 of file TClingCallbacks.cxx.

Member Data Documentation

◆ fFirstRun

bool TClingCallbacks::fFirstRun = true
private

Definition at line 45 of file TClingCallbacks.h.

◆ fIsAutoLoading

bool TClingCallbacks::fIsAutoLoading = false
private

Definition at line 46 of file TClingCallbacks.h.

◆ fIsAutoLoadingRecursively

bool TClingCallbacks::fIsAutoLoadingRecursively = false
private

Definition at line 47 of file TClingCallbacks.h.

◆ fIsAutoParsingSuspended

bool TClingCallbacks::fIsAutoParsingSuspended = false
private

Definition at line 48 of file TClingCallbacks.h.

◆ fIsCodeGening

bool TClingCallbacks::fIsCodeGening = false
private

Definition at line 49 of file TClingCallbacks.h.

◆ fIsLoadingModule

bool TClingCallbacks::fIsLoadingModule = false
private

Definition at line 50 of file TClingCallbacks.h.

◆ fLastLookupCtx

void* TClingCallbacks::fLastLookupCtx = nullptr
private

Definition at line 43 of file TClingCallbacks.h.

◆ fROOTSpecialNamespace

clang::NamespaceDecl* TClingCallbacks::fROOTSpecialNamespace = nullptr
private

Definition at line 44 of file TClingCallbacks.h.

◆ m_LoadedModuleFiles

llvm::DenseMap<llvm::StringRef, clang::DeclarationName> TClingCallbacks::m_LoadedModuleFiles
private

Definition at line 51 of file TClingCallbacks.h.

  • core/metacling/src/TClingCallbacks.h
  • core/metacling/src/TClingCallbacks.cxx