CodeViewWidget: Get rid of magic values in OnInsertBLR() and OnInsertNOP()

A call like ReplaceAddress(address, 0) is pretty ambiguous; so is
ReplaceAddress(address, false), so use an enum class that tells people
straight-up what the replacer is.

This also gets rid of the really weird naming, where if 'blr' is true,
we'd be replacing the address with a NOP, rather than an actual BLR
instruction, so we invert that so it actually makes sense. There's no
actual bug fixed here though, considering the OnInsert functions
specified the correct values; it's literally just weird naming.
This commit is contained in:
Lioncash
2018-05-13 18:24:30 -04:00
parent bbc0aee5ea
commit d7a3ce26de
2 changed files with 12 additions and 6 deletions

View File

@ -195,14 +195,14 @@ void CodeViewWidget::SetAddress(u32 address, SetAddressUpdate update)
Update(); Update();
} }
void CodeViewWidget::ReplaceAddress(u32 address, bool blr) void CodeViewWidget::ReplaceAddress(u32 address, ReplaceWith replace)
{ {
auto found = std::find_if(m_repl_list.begin(), m_repl_list.end(), auto found = std::find_if(m_repl_list.begin(), m_repl_list.end(),
[address](ReplStruct r) { return r.address == address; }); [address](ReplStruct r) { return r.address == address; });
if (found != m_repl_list.end()) if (found != m_repl_list.end())
{ {
PowerPC::debug_interface.WriteExtraMemory(0, (*found).old_value, address); PowerPC::debug_interface.WriteExtraMemory(0, found->old_value, address);
m_repl_list.erase(found); m_repl_list.erase(found);
} }
else else
@ -214,7 +214,7 @@ void CodeViewWidget::ReplaceAddress(u32 address, bool blr)
m_repl_list.push_back(repl); m_repl_list.push_back(repl);
PowerPC::debug_interface.Patch(address, blr ? 0x60000000 : 0x4e800020); PowerPC::debug_interface.Patch(address, replace == ReplaceWith::BLR ? 0x4e800020 : 0x60000000);
} }
Update(); Update();
@ -347,14 +347,14 @@ void CodeViewWidget::OnInsertBLR()
{ {
const u32 addr = GetContextAddress(); const u32 addr = GetContextAddress();
ReplaceAddress(addr, 0); ReplaceAddress(addr, ReplaceWith::BLR);
} }
void CodeViewWidget::OnInsertNOP() void CodeViewWidget::OnInsertNOP()
{ {
const u32 addr = GetContextAddress(); const u32 addr = GetContextAddress();
ReplaceAddress(addr, 1); ReplaceAddress(addr, ReplaceWith::NOP);
} }
void CodeViewWidget::OnFollowBranch() void CodeViewWidget::OnFollowBranch()

View File

@ -40,7 +40,13 @@ signals:
void BreakpointsChanged(); void BreakpointsChanged();
private: private:
void ReplaceAddress(u32 address, bool blr); enum class ReplaceWith
{
BLR,
NOP
};
void ReplaceAddress(u32 address, ReplaceWith replace);
void resizeEvent(QResizeEvent*) override; void resizeEvent(QResizeEvent*) override;
void keyPressEvent(QKeyEvent* event) override; void keyPressEvent(QKeyEvent* event) override;