LLDB  mainline
Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
lldb_private::CPPLanguageRuntime Class Reference

#include <CPPLanguageRuntime.h>

Inheritance diagram for lldb_private::CPPLanguageRuntime:
Inheritance graph
Collaboration diagram for lldb_private::CPPLanguageRuntime:
Collaboration graph


struct  LibCppStdFunctionCallableInfo

Public Types

enum  LibCppStdFunctionCallableCase { LibCppStdFunctionCallableCase::Lambda = 0, LibCppStdFunctionCallableCase::CallableObject, LibCppStdFunctionCallableCase::FreeOrMemberFunction, LibCppStdFunctionCallableCase::Invalid }

Public Member Functions

LibCppStdFunctionCallableInfo FindLibCppStdFunctionCallableInfo (lldb::ValueObjectSP &valobj_sp)
 ~CPPLanguageRuntime () override
bool isA (const void *ClassID) const override
lldb::LanguageType GetLanguageType () const override
bool GetObjectDescription (Stream &str, ValueObject &object) override
bool GetObjectDescription (Stream &str, Value &value, ExecutionContextScope *exe_scope) override
lldb::ThreadPlanSP GetStepThroughTrampolinePlan (Thread &thread, bool stop_others) override
 Obtain a ThreadPlan to get us into C++ constructs such as std::function. More...
bool IsAllowedRuntimeValue (ConstString name) override
 Identify whether a name is a runtime value that should not be hidden by from the user interface. More...
- Public Member Functions inherited from lldb_private::LanguageRuntime
 ~LanguageRuntime () override
virtual bool GetDynamicTypeAndAddress (ValueObject &in_value, lldb::DynamicValueType use_dynamic, TypeAndOrName &class_type_or_name, Address &address, Value::ValueType &value_type)=0
virtual CompilerType GetConcreteType (ExecutionContextScope *exe_scope, ConstString abstract_type_name)
virtual bool CouldHaveDynamicValue (ValueObject &in_value)=0
virtual TypeAndOrName FixUpDynamicType (const TypeAndOrName &type_and_or_name, ValueObject &static_value)=0
virtual void SetExceptionBreakpoints ()
virtual void ClearExceptionBreakpoints ()
virtual bool ExceptionBreakpointsAreSet ()
virtual bool ExceptionBreakpointsExplainStop (lldb::StopInfoSP stop_reason)
virtual lldb::ValueObjectSP GetExceptionObjectForThread (lldb::ThreadSP thread_sp)
virtual lldb::ThreadSP GetBacktraceThreadFromException (lldb::ValueObjectSP thread_sp)
ProcessGetProcess ()
TargetGetTargetRef ()
virtual DeclVendorGetDeclVendor ()
virtual lldb::BreakpointResolverSP CreateExceptionResolver (const lldb::BreakpointSP &bkpt, bool catch_bp, bool throw_bp)=0
virtual lldb::SearchFilterSP CreateExceptionSearchFilter ()
virtual bool GetTypeBitSize (const CompilerType &compiler_type, uint64_t &size)
virtual void SymbolsDidLoad (const ModuleList &module_list)
virtual llvm::Optional< CompilerTypeGetRuntimeType (CompilerType base_type)
virtual void ModulesDidLoad (const ModuleList &module_list)
virtual bool GetIRPasses (LLVMUserExpression::IRPasses &custom_passes)
virtual lldb::addr_t LookupRuntimeSymbol (ConstString name)
- Public Member Functions inherited from lldb_private::PluginInterface
virtual ~PluginInterface ()
virtual ConstString GetPluginName ()=0
virtual uint32_t GetPluginVersion ()=0

Static Public Member Functions

static bool classof (const LanguageRuntime *runtime)
static CPPLanguageRuntimeGet (Process &process)
- Static Public Member Functions inherited from lldb_private::LanguageRuntime
static LanguageRuntimeFindPlugin (Process *process, lldb::LanguageType language)
static void InitializeCommands (CommandObject *parent)
static lldb::BreakpointSP CreateExceptionBreakpoint (Target &target, lldb::LanguageType language, bool catch_bp, bool throw_bp, bool is_internal=false)
static lldb::BreakpointPreconditionSP GetExceptionPrecondition (lldb::LanguageType language, bool throw_bp)

Static Public Attributes

static char ID = 0
- Static Public Attributes inherited from lldb_private::LanguageRuntime
static char ID = 0

Protected Member Functions

 CPPLanguageRuntime (Process *process)
- Protected Member Functions inherited from lldb_private::LanguageRuntime
 LanguageRuntime (Process *process)

Private Types

using OperatorStringToCallableInfoMap = llvm::StringMap< CPPLanguageRuntime::LibCppStdFunctionCallableInfo >

Private Member Functions

 CPPLanguageRuntime (const CPPLanguageRuntime &)=delete
const CPPLanguageRuntimeoperator= (const CPPLanguageRuntime &)=delete

Private Attributes

OperatorStringToCallableInfoMap CallableLookupCache

Additional Inherited Members

- Protected Attributes inherited from lldb_private::LanguageRuntime

Detailed Description

Definition at line 22 of file CPPLanguageRuntime.h.

Member Typedef Documentation

◆ OperatorStringToCallableInfoMap

Definition at line 89 of file CPPLanguageRuntime.h.

Member Enumeration Documentation

◆ LibCppStdFunctionCallableCase


Definition at line 24 of file CPPLanguageRuntime.h.

Constructor & Destructor Documentation

◆ ~CPPLanguageRuntime()

CPPLanguageRuntime::~CPPLanguageRuntime ( )

Definition at line 41 of file CPPLanguageRuntime.cpp.

◆ CPPLanguageRuntime() [1/2]

CPPLanguageRuntime::CPPLanguageRuntime ( Process process)

Definition at line 43 of file CPPLanguageRuntime.cpp.

Referenced by Get().

◆ CPPLanguageRuntime() [2/2]

lldb_private::CPPLanguageRuntime::CPPLanguageRuntime ( const CPPLanguageRuntime )

Member Function Documentation

◆ classof()

static bool lldb_private::CPPLanguageRuntime::classof ( const LanguageRuntime runtime)

Definition at line 51 of file CPPLanguageRuntime.h.

References lldb_private::LanguageRuntime::isA().

◆ FindLibCppStdFunctionCallableInfo()

CPPLanguageRuntime::LibCppStdFunctionCallableInfo CPPLanguageRuntime::FindLibCppStdFunctionCallableInfo ( lldb::ValueObjectSP &  valobj_sp)

◆ Get()

static CPPLanguageRuntime* lldb_private::CPPLanguageRuntime::Get ( Process process)

◆ GetLanguageType()

lldb::LanguageType lldb_private::CPPLanguageRuntime::GetLanguageType ( ) const

Implements lldb_private::LanguageRuntime.

Definition at line 55 of file CPPLanguageRuntime.h.

References lldb::eLanguageTypeC_plus_plus.

◆ GetObjectDescription() [1/2]

bool CPPLanguageRuntime::GetObjectDescription ( Stream str,
ValueObject object 

Implements lldb_private::LanguageRuntime.

Definition at line 50 of file CPPLanguageRuntime.cpp.

Referenced by Get().

◆ GetObjectDescription() [2/2]

bool CPPLanguageRuntime::GetObjectDescription ( Stream str,
Value value,
ExecutionContextScope exe_scope 

Implements lldb_private::LanguageRuntime.

Definition at line 56 of file CPPLanguageRuntime.cpp.

◆ GetStepThroughTrampolinePlan()

lldb::ThreadPlanSP CPPLanguageRuntime::GetStepThroughTrampolinePlan ( Thread thread,
bool  stop_others 

◆ isA()

bool lldb_private::CPPLanguageRuntime::isA ( const void *  ClassID) const

◆ IsAllowedRuntimeValue()

bool CPPLanguageRuntime::IsAllowedRuntimeValue ( ConstString  name)

Identify whether a name is a runtime value that should not be hidden by from the user interface.

Reimplemented from lldb_private::LanguageRuntime.

Definition at line 46 of file CPPLanguageRuntime.cpp.

References g_this.

Referenced by Get().

◆ operator=()

const CPPLanguageRuntime& lldb_private::CPPLanguageRuntime::operator= ( const CPPLanguageRuntime )

Member Data Documentation

◆ CallableLookupCache

OperatorStringToCallableInfoMap lldb_private::CPPLanguageRuntime::CallableLookupCache

Definition at line 91 of file CPPLanguageRuntime.h.

Referenced by FindLibCppStdFunctionCallableInfo().

◆ ID

char CPPLanguageRuntime::ID = 0

Definition at line 45 of file CPPLanguageRuntime.h.

The documentation for this class was generated from the following files: