CACAO
Public Member Functions | Private Attributes
cacao::PatcherBase Class Reference

Base class for all (non-legacy) patcher. More...

Inheritance diagram for cacao::PatcherBase:
cacao::Patcher cacao::InitializeClassPatcher

Public Member Functions

 PatcherBase ()
 
 PatcherBase (uintptr_t mpc)
 
virtual void set_mcode (uint32_t mcode)
 
virtual uintptr_t get_mpc () const
 get the absolute position in code segment More...
 
virtual void reposition (intptr_t base)
 reposition to another base More...
 
virtual const char * get_name () const
 print patcher information More...
 
- Public Member Functions inherited from cacao::Patcher
 Patcher ()
 
virtual ~Patcher ()
 
bool patch ()
 This a wrapper to set the done flag. More...
 
virtual void emit ()=0
 Generates the code for the patcher traps. More...
 
bool is_patched () const
 Check already patched. More...
 
virtual bool check_is_patched () const =0
 Check if the patcher is already patched. More...
 
virtual OStreamprint (OStream &OS) const
 print patcher information More...
 

Private Attributes

uint32_t mcode
 
uintptr_t mpc
 

Detailed Description

Base class for all (non-legacy) patcher.

Definition at line 168 of file PatcherNew.hpp.

Constructor & Destructor Documentation

cacao::PatcherBase::PatcherBase ( )
inline

Definition at line 173 of file PatcherNew.hpp.

cacao::PatcherBase::PatcherBase ( uintptr_t  mpc)
inlineexplicit

Definition at line 174 of file PatcherNew.hpp.

Member Function Documentation

virtual uintptr_t cacao::PatcherBase::get_mpc ( ) const
inlinevirtual

get the absolute position in code segment

Deprecated:

Implements cacao::Patcher.

Definition at line 184 of file PatcherNew.hpp.

virtual const char* cacao::PatcherBase::get_name ( ) const
inlinevirtual

print patcher information

Reimplemented from cacao::Patcher.

Reimplemented in cacao::InitializeClassPatcher.

Definition at line 190 of file PatcherNew.hpp.

virtual void cacao::PatcherBase::reposition ( intptr_t  base)
inlinevirtual

reposition to another base

Implements cacao::Patcher.

Definition at line 187 of file PatcherNew.hpp.

virtual void cacao::PatcherBase::set_mcode ( uint32_t  mcode)
inlinevirtual

Definition at line 176 of file PatcherNew.hpp.

Field Documentation

uint32_t cacao::PatcherBase::mcode
private

Definition at line 170 of file PatcherNew.hpp.

uintptr_t cacao::PatcherBase::mpc
private

Definition at line 171 of file PatcherNew.hpp.


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