Debugger: Prefer override over virtual

This commit is contained in:
Ziemas 2021-10-07 16:32:52 +02:00 committed by refractionpcsx2
parent 6da938a714
commit f873e3b630
1 changed files with 75 additions and 57 deletions

View File

@ -17,8 +17,22 @@
#include "MemoryTypes.h"
#include "ExpressionParser.h"
enum { EECAT_GPR, EECAT_CP0, EECAT_FPR, EECAT_FCR, EECAT_VU0F, EECAT_VU0I, EECAT_GSPRIV, EECAT_COUNT };
enum { IOPCAT_GPR, IOPCAT_COUNT };
enum
{
EECAT_GPR,
EECAT_CP0,
EECAT_FPR,
EECAT_FCR,
EECAT_VU0F,
EECAT_VU0I,
EECAT_GSPRIV,
EECAT_COUNT
};
enum
{
IOPCAT_GPR,
IOPCAT_COUNT
};
enum BreakPointCpu
{
BREAKPOINT_EE = 0x01,
@ -29,7 +43,11 @@ enum BreakPointCpu
class DebugInterface
{
public:
enum RegisterType { NORMAL, SPECIAL };
enum RegisterType
{
NORMAL,
SPECIAL
};
virtual u32 read8(u32 address) = 0;
virtual u32 read16(u32 address) = 0;
@ -53,85 +71,85 @@ public:
virtual u32 getPC() = 0;
virtual void setPc(u32 newPc) = 0;
virtual void setRegister(int cat, int num, u128 newValue) = 0;
virtual std::string disasm(u32 address, bool simplify) = 0;
virtual bool isValidAddress(u32 address) = 0;
virtual u32 getCycles() = 0;
virtual BreakPointCpu getCpuType() = 0;
bool initExpression(const char* exp, PostfixExpression& dest);
bool parseExpression(PostfixExpression& exp, u64& dest);
bool isAlive();
bool isCpuPaused();
void pauseCpu();
void resumeCpu();
char *stringFromPointer(u32 p);
char* stringFromPointer(u32 p);
};
class R5900DebugInterface: public DebugInterface
class R5900DebugInterface : public DebugInterface
{
public:
virtual u32 read8(u32 address);
virtual u32 read16(u32 address);
virtual u32 read32(u32 address);
virtual u64 read64(u32 address);
virtual u128 read128(u32 address);
virtual void write8(u32 address, u8 value);
virtual void write32(u32 address, u32 value);
u32 read8(u32 address) override;
u32 read16(u32 address) override;
u32 read32(u32 address) override;
u64 read64(u32 address) override;
u128 read128(u32 address) override;
void write8(u32 address, u8 value) override;
void write32(u32 address, u32 value) override;
// register stuff
virtual int getRegisterCategoryCount();
virtual const char* getRegisterCategoryName(int cat);
virtual int getRegisterSize(int cat);
virtual int getRegisterCount(int cat);
virtual RegisterType getRegisterType(int cat);
virtual const char* getRegisterName(int cat, int num);
virtual u128 getRegister(int cat, int num);
virtual wxString getRegisterString(int cat, int num);
virtual u128 getHI();
virtual u128 getLO();
virtual u32 getPC();
virtual void setPc(u32 newPc);
virtual void setRegister(int cat, int num, u128 newValue);
int getRegisterCategoryCount() override;
const char* getRegisterCategoryName(int cat) override;
int getRegisterSize(int cat) override;
int getRegisterCount(int cat) override;
RegisterType getRegisterType(int cat) override;
const char* getRegisterName(int cat, int num) override;
u128 getRegister(int cat, int num) override;
wxString getRegisterString(int cat, int num) override;
u128 getHI() override;
u128 getLO() override;
u32 getPC() override;
void setPc(u32 newPc) override;
void setRegister(int cat, int num, u128 newValue) override;
virtual std::string disasm(u32 address, bool simplify);
virtual bool isValidAddress(u32 address);
virtual u32 getCycles();
virtual BreakPointCpu getCpuType();
std::string disasm(u32 address, bool simplify) override;
bool isValidAddress(u32 address) override;
u32 getCycles() override;
BreakPointCpu getCpuType() override;
};
class R3000DebugInterface: public DebugInterface
class R3000DebugInterface : public DebugInterface
{
public:
virtual u32 read8(u32 address);
virtual u32 read16(u32 address);
virtual u32 read32(u32 address);
virtual u64 read64(u32 address);
virtual u128 read128(u32 address);
virtual void write8(u32 address, u8 value);
virtual void write32(u32 address, u32 value);
u32 read8(u32 address) override;
u32 read16(u32 address) override;
u32 read32(u32 address) override;
u64 read64(u32 address) override;
u128 read128(u32 address) override;
void write8(u32 address, u8 value) override;
void write32(u32 address, u32 value) override;
// register stuff
virtual int getRegisterCategoryCount();
virtual const char* getRegisterCategoryName(int cat);
virtual int getRegisterSize(int cat);
virtual int getRegisterCount(int cat);
virtual RegisterType getRegisterType(int cat);
virtual const char* getRegisterName(int cat, int num);
virtual u128 getRegister(int cat, int num);
virtual wxString getRegisterString(int cat, int num);
virtual u128 getHI();
virtual u128 getLO();
virtual u32 getPC();
virtual void setPc(u32 newPc);
virtual void setRegister(int cat, int num, u128 newValue);
int getRegisterCategoryCount() override;
const char* getRegisterCategoryName(int cat) override;
int getRegisterSize(int cat) override;
int getRegisterCount(int cat) override;
RegisterType getRegisterType(int cat) override;
const char* getRegisterName(int cat, int num) override;
u128 getRegister(int cat, int num) override;
wxString getRegisterString(int cat, int num) override;
u128 getHI() override;
u128 getLO() override;
u32 getPC() override;
void setPc(u32 newPc) override;
void setRegister(int cat, int num, u128 newValue) override;
virtual std::string disasm(u32 address, bool simplify);
virtual bool isValidAddress(u32 address);
virtual u32 getCycles();
virtual BreakPointCpu getCpuType();
std::string disasm(u32 address, bool simplify) override;
bool isValidAddress(u32 address) override;
u32 getCycles() override;
BreakPointCpu getCpuType() override;
};
extern R5900DebugInterface r5900Debug;
extern R3000DebugInterface r3000Debug;
extern R3000DebugInterface r3000Debug;