LLDB  mainline
Public Types | Public Member Functions | Private Attributes | List of all members
lldb_private::DynamicCheckerFunctions Class Referenceabstract

Encapsulates dynamic check functions used by expressions. More...

#include <DynamicCheckerFunctions.h>

Inheritance diagram for lldb_private::DynamicCheckerFunctions:
Inheritance graph
Collaboration diagram for lldb_private::DynamicCheckerFunctions:
Collaboration graph

Public Types

enum  DynamicCheckerFunctionsKind { DCF_Clang }

Public Member Functions

 DynamicCheckerFunctions (DynamicCheckerFunctionsKind kind)
virtual ~DynamicCheckerFunctions ()=default
virtual bool Install (DiagnosticManager &diagnostic_manager, ExecutionContext &exe_ctx)=0
 Install the utility functions into a process. More...
virtual bool DoCheckersExplainStop (lldb::addr_t addr, Stream &message)=0
DynamicCheckerFunctionsKind GetKind () const

Private Attributes

const DynamicCheckerFunctionsKind m_kind

Detailed Description

Encapsulates dynamic check functions used by expressions.

Each of the utility functions encapsulated in this class is responsible for validating some data that an expression is about to use. Examples are:

a = *b; // check that b is a valid pointer [b init]; // check that b is a valid object to send "init" to

The class installs each checker function into the target process and makes it available to IRDynamicChecks to use.

Definition at line 30 of file DynamicCheckerFunctions.h.

Member Enumeration Documentation

◆ DynamicCheckerFunctionsKind


Definition at line 32 of file DynamicCheckerFunctions.h.

Constructor & Destructor Documentation

◆ DynamicCheckerFunctions()

lldb_private::DynamicCheckerFunctions::DynamicCheckerFunctions ( DynamicCheckerFunctionsKind  kind)

◆ ~DynamicCheckerFunctions()

virtual lldb_private::DynamicCheckerFunctions::~DynamicCheckerFunctions ( )

Referenced by DynamicCheckerFunctions().

Member Function Documentation

◆ DoCheckersExplainStop()

virtual bool lldb_private::DynamicCheckerFunctions::DoCheckersExplainStop ( lldb::addr_t  addr,
Stream message 
pure virtual

◆ GetKind()

DynamicCheckerFunctionsKind lldb_private::DynamicCheckerFunctions::GetKind ( ) const

Definition at line 55 of file DynamicCheckerFunctions.h.

References m_kind.

Referenced by lldb_private::ClangDynamicCheckerFunctions::classof().

◆ Install()

virtual bool lldb_private::DynamicCheckerFunctions::Install ( DiagnosticManager diagnostic_manager,
ExecutionContext exe_ctx 
pure virtual

Install the utility functions into a process.

This binds the instance of DynamicCheckerFunctions to that process.

[in]diagnostic_managerA diagnostic manager to report errors to.
[in]exe_ctxThe execution context to install the functions into.
True on success; false on failure, or if the functions have already been installed.

Implemented in lldb_private::ClangDynamicCheckerFunctions.

Referenced by DynamicCheckerFunctions().

Member Data Documentation

◆ m_kind

const DynamicCheckerFunctionsKind lldb_private::DynamicCheckerFunctions::m_kind

Definition at line 58 of file DynamicCheckerFunctions.h.

Referenced by GetKind().

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