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 </github/home/ROOT-CI/src/core/metacling/src/TClingCallbacks.h>

Inheritance diagram for TClingCallbacks:
[legend]

Constructor & Destructor Documentation

◆ TClingCallbacks()

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

Definition at line 158 of file TClingCallbacks.cxx.

◆ ~TClingCallbacks()

TClingCallbacks::~TClingCallbacks ( )

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

◆ EnteringUserCode()

void * TClingCallbacks::EnteringUserCode ( )
override

Definition at line 1013 of file TClingCallbacks.cxx.

◆ FileNotFound()

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

Definition at line 225 of file TClingCallbacks.cxx.

◆ findInGlobalModuleIndex()

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

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

◆ Initialize()

void TClingCallbacks::Initialize ( )

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

◆ LibraryLoadingFailed()

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

Definition at line 217 of file TClingCallbacks.cxx.

◆ LibraryUnloaded()

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

Definition at line 1004 of file TClingCallbacks.cxx.

◆ LockCompilationDuringUserCodeExecution()

void * TClingCallbacks::LockCompilationDuringUserCodeExecution ( )
override

Definition at line 1026 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 489 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 1009 of file TClingCallbacks.cxx.

◆ ReturnedFromUserCode()

void TClingCallbacks::ReturnedFromUserCode ( void * stateInfo)
override

Definition at line 1021 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 816 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 970 of file TClingCallbacks.cxx.

◆ TransactionRollback()

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

Definition at line 988 of file TClingCallbacks.cxx.

◆ TransactionUnloaded()

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

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

◆ tryFindROOTSpecialInternal()

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

Definition at line 642 of file TClingCallbacks.cxx.

◆ tryInjectImplicitAutoKeyword()

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

Definition at line 874 of file TClingCallbacks.cxx.

◆ tryResolveAtRuntimeInternal()

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

Definition at line 747 of file TClingCallbacks.cxx.

◆ UnlockCompilationDuringUserCodeExecution()

void TClingCallbacks::UnlockCompilationDuringUserCodeExecution ( void * StateInfo)
override

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