LLDB  mainline
Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
lldb_private::LanguageRuntime Class Referenceabstract

#include <LanguageRuntime.h>

Inheritance diagram for lldb_private::LanguageRuntime:
Inheritance graph
[legend]
Collaboration diagram for lldb_private::LanguageRuntime:
Collaboration graph
[legend]

Public Member Functions

 ~LanguageRuntime () override
 
virtual lldb::LanguageType GetLanguageType () const =0
 
virtual bool GetObjectDescription (Stream &str, ValueObject &object)=0
 
virtual bool GetObjectDescription (Stream &str, Value &value, ExecutionContextScope *exe_scope)=0
 
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 lldb::ThreadPlanSP GetStepThroughTrampolinePlan (Thread &thread, bool stop_others)=0
 
virtual bool IsAllowedRuntimeValue (ConstString name)
 Identify whether a name is a runtime value that should not be hidden by from the user interface. More...
 
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)
 
virtual bool isA (const void *ClassID) const
 
- Public Member Functions inherited from lldb_private::PluginInterface
virtual ~PluginInterface ()
 
virtual ConstString GetPluginName ()=0
 
virtual uint32_t GetPluginVersion ()=0
 

Static Public Member Functions

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
 

Protected Member Functions

 LanguageRuntime (Process *process)
 

Protected Attributes

Processm_process
 

Private Member Functions

 LanguageRuntime (const LanguageRuntime &)=delete
 
const LanguageRuntimeoperator= (const LanguageRuntime &)=delete
 

Detailed Description

Definition at line 59 of file LanguageRuntime.h.

Constructor & Destructor Documentation

◆ ~LanguageRuntime()

LanguageRuntime::~LanguageRuntime ( )
overridedefault

Referenced by LanguageRuntime().

◆ LanguageRuntime() [1/2]

LanguageRuntime::LanguageRuntime ( Process process)
protected

Definition at line 222 of file LanguageRuntime.cpp.

References ~LanguageRuntime().

◆ LanguageRuntime() [2/2]

lldb_private::LanguageRuntime::LanguageRuntime ( const LanguageRuntime )
privatedelete

Member Function Documentation

◆ ClearExceptionBreakpoints()

virtual void lldb_private::LanguageRuntime::ClearExceptionBreakpoints ( )
inlinevirtual

◆ CouldHaveDynamicValue()

virtual bool lldb_private::LanguageRuntime::CouldHaveDynamicValue ( ValueObject in_value)
pure virtual

◆ CreateExceptionBreakpoint()

BreakpointSP LanguageRuntime::CreateExceptionBreakpoint ( Target target,
lldb::LanguageType  language,
bool  catch_bp,
bool  throw_bp,
bool  is_internal = false 
)
static

◆ CreateExceptionResolver()

virtual lldb::BreakpointResolverSP lldb_private::LanguageRuntime::CreateExceptionResolver ( const lldb::BreakpointSP &  bkpt,
bool  catch_bp,
bool  throw_bp 
)
pure virtual

◆ CreateExceptionSearchFilter()

virtual lldb::SearchFilterSP lldb_private::LanguageRuntime::CreateExceptionSearchFilter ( )
inlinevirtual

◆ ExceptionBreakpointsAreSet()

virtual bool lldb_private::LanguageRuntime::ExceptionBreakpointsAreSet ( )
inlinevirtual

◆ ExceptionBreakpointsExplainStop()

virtual bool lldb_private::LanguageRuntime::ExceptionBreakpointsExplainStop ( lldb::StopInfoSP  stop_reason)
inlinevirtual

◆ FindPlugin()

LanguageRuntime * LanguageRuntime::FindPlugin ( Process process,
lldb::LanguageType  language 
)
static

◆ FixUpDynamicType()

virtual TypeAndOrName lldb_private::LanguageRuntime::FixUpDynamicType ( const TypeAndOrName type_and_or_name,
ValueObject static_value 
)
pure virtual

◆ GetBacktraceThreadFromException()

virtual lldb::ThreadSP lldb_private::LanguageRuntime::GetBacktraceThreadFromException ( lldb::ValueObjectSP  thread_sp)
inlinevirtual

Reimplemented in lldb_private::AppleObjCRuntime.

Definition at line 125 of file LanguageRuntime.h.

◆ GetConcreteType()

virtual CompilerType lldb_private::LanguageRuntime::GetConcreteType ( ExecutionContextScope exe_scope,
ConstString  abstract_type_name 
)
inlinevirtual

Definition at line 85 of file LanguageRuntime.h.

◆ GetDeclVendor()

virtual DeclVendor* lldb_private::LanguageRuntime::GetDeclVendor ( )
inlinevirtual

◆ GetDynamicTypeAndAddress()

virtual bool lldb_private::LanguageRuntime::GetDynamicTypeAndAddress ( ValueObject in_value,
lldb::DynamicValueType  use_dynamic,
TypeAndOrName class_type_or_name,
Address address,
Value::ValueType value_type 
)
pure virtual

◆ GetExceptionObjectForThread()

virtual lldb::ValueObjectSP lldb_private::LanguageRuntime::GetExceptionObjectForThread ( lldb::ThreadSP  thread_sp)
inlinevirtual

◆ GetExceptionPrecondition()

BreakpointPreconditionSP LanguageRuntime::GetExceptionPrecondition ( lldb::LanguageType  language,
bool  throw_bp 
)
static

◆ GetIRPasses()

virtual bool lldb_private::LanguageRuntime::GetIRPasses ( LLVMUserExpression::IRPasses custom_passes)
inlinevirtual

Reimplemented in lldb_private::RenderScriptRuntime.

Definition at line 167 of file LanguageRuntime.h.

◆ GetLanguageType()

virtual lldb::LanguageType lldb_private::LanguageRuntime::GetLanguageType ( ) const
pure virtual

◆ GetObjectDescription() [1/2]

virtual bool lldb_private::LanguageRuntime::GetObjectDescription ( Stream str,
ValueObject object 
)
pure virtual

◆ GetObjectDescription() [2/2]

virtual bool lldb_private::LanguageRuntime::GetObjectDescription ( Stream str,
Value value,
ExecutionContextScope exe_scope 
)
pure virtual

◆ GetProcess()

Process* lldb_private::LanguageRuntime::GetProcess ( )
inline

◆ GetRuntimeType()

virtual llvm::Optional<CompilerType> lldb_private::LanguageRuntime::GetRuntimeType ( CompilerType  base_type)
inlinevirtual

Reimplemented in lldb_private::ObjCLanguageRuntime.

Definition at line 158 of file LanguageRuntime.h.

◆ GetStepThroughTrampolinePlan()

virtual lldb::ThreadPlanSP lldb_private::LanguageRuntime::GetStepThroughTrampolinePlan ( Thread thread,
bool  stop_others 
)
pure virtual

◆ GetTargetRef()

Target& lldb_private::LanguageRuntime::GetTargetRef ( )
inline

◆ GetTypeBitSize()

virtual bool lldb_private::LanguageRuntime::GetTypeBitSize ( const CompilerType compiler_type,
uint64_t &  size 
)
inlinevirtual

Reimplemented in lldb_private::ObjCLanguageRuntime.

Definition at line 144 of file LanguageRuntime.h.

◆ InitializeCommands()

void LanguageRuntime::InitializeCommands ( CommandObject parent)
static

◆ isA()

virtual bool lldb_private::LanguageRuntime::isA ( const void *  ClassID) const
inlinevirtual

◆ IsAllowedRuntimeValue()

virtual bool lldb_private::LanguageRuntime::IsAllowedRuntimeValue ( ConstString  name)
inlinevirtual

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

Reimplemented in lldb_private::ObjCLanguageRuntime, and lldb_private::CPPLanguageRuntime.

Definition at line 156 of file LanguageRuntime.h.

◆ LookupRuntimeSymbol()

virtual lldb::addr_t lldb_private::LanguageRuntime::LookupRuntimeSymbol ( ConstString  name)
inlinevirtual

◆ ModulesDidLoad()

virtual void lldb_private::LanguageRuntime::ModulesDidLoad ( const ModuleList module_list)
inlinevirtual

Reimplemented in lldb_private::RenderScriptRuntime, and lldb_private::AppleObjCRuntime.

Definition at line 162 of file LanguageRuntime.h.

◆ operator=()

const LanguageRuntime& lldb_private::LanguageRuntime::operator= ( const LanguageRuntime )
privatedelete

◆ SetExceptionBreakpoints()

virtual void lldb_private::LanguageRuntime::SetExceptionBreakpoints ( )
inlinevirtual

◆ SymbolsDidLoad()

virtual void lldb_private::LanguageRuntime::SymbolsDidLoad ( const ModuleList module_list)
inlinevirtual

Reimplemented in lldb_private::ObjCLanguageRuntime.

Definition at line 149 of file LanguageRuntime.h.

Member Data Documentation

◆ ID

char LanguageRuntime::ID = 0
static

Definition at line 179 of file LanguageRuntime.h.

◆ m_process

Process* lldb_private::LanguageRuntime::m_process
protected

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