Logo ROOT  
Reference Guide
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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 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-v634/rootspi/rdoc/src/v6-34-00-patches/core/metacling/src/TClingCallbacks.h>

Inheritance diagram for TClingCallbacks:
[legend]

Constructor & Destructor Documentation

◆ TClingCallbacks()

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

Definition at line 219 of file TClingCallbacks.cxx.

◆ ~TClingCallbacks()

TClingCallbacks::~TClingCallbacks ( )

Definition at line 231 of file TClingCallbacks.cxx.

Member Function Documentation

◆ 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 1056 of file TClingCallbacks.cxx.

◆ EnteringUserCode()

void * TClingCallbacks::EnteringUserCode ( )
override

Definition at line 1074 of file TClingCallbacks.cxx.

◆ FileNotFound()

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

Definition at line 286 of file TClingCallbacks.cxx.

◆ findInGlobalModuleIndex()

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

Definition at line 418 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 233 of file TClingCallbacks.cxx.

◆ Initialize()

void TClingCallbacks::Initialize ( )

Definition at line 1016 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 1060 of file TClingCallbacks.cxx.

◆ LibraryLoadingFailed()

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

Definition at line 278 of file TClingCallbacks.cxx.

◆ LibraryUnloaded()

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

Definition at line 1065 of file TClingCallbacks.cxx.

◆ LockCompilationDuringUserCodeExecution()

void * TClingCallbacks::LockCompilationDuringUserCodeExecution ( )
override

Definition at line 1087 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 550 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 1070 of file TClingCallbacks.cxx.

◆ ReturnedFromUserCode()

void TClingCallbacks::ReturnedFromUserCode ( void *  stateInfo)
override

Definition at line 1082 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 877 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 1031 of file TClingCallbacks.cxx.

◆ TransactionRollback()

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

Definition at line 1049 of file TClingCallbacks.cxx.

◆ TransactionUnloaded()

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

Definition at line 1040 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 613 of file TClingCallbacks.cxx.

◆ tryFindROOTSpecialInternal()

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

Definition at line 703 of file TClingCallbacks.cxx.

◆ tryInjectImplicitAutoKeyword()

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

Definition at line 935 of file TClingCallbacks.cxx.

◆ tryResolveAtRuntimeInternal()

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

Definition at line 808 of file TClingCallbacks.cxx.

◆ UnlockCompilationDuringUserCodeExecution()

void TClingCallbacks::UnlockCompilationDuringUserCodeExecution ( void *  StateInfo)
override

Definition at line 1092 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