Made GDB target descriptor register functions const

This commit is contained in:
Nav
2022-03-25 00:12:16 +00:00
parent 07bcd07b4c
commit e2bbb72b8a
3 changed files with 12 additions and 10 deletions

View File

@@ -18,11 +18,11 @@ namespace Bloom::DebugServers::Gdb::AvrGdb
std::optional<GdbRegisterNumberType> TargetDescriptor::getRegisterNumberFromTargetRegisterDescriptor(
const Targets::TargetRegisterDescriptor& registerDescriptor
) {
) const {
return this->targetRegisterDescriptorsByGdbNumber.valueAt(registerDescriptor);
}
const RegisterDescriptor& TargetDescriptor::getRegisterDescriptorFromNumber(GdbRegisterNumberType number) {
const RegisterDescriptor& TargetDescriptor::getRegisterDescriptorFromNumber(GdbRegisterNumberType number) const {
if (this->registerDescriptorsByGdbNumber.contains(number)) {
return this->registerDescriptorsByGdbNumber.at(number);
}
@@ -31,7 +31,9 @@ namespace Bloom::DebugServers::Gdb::AvrGdb
+ ") not mapped to any GDB register descriptor.");
}
const TargetRegisterDescriptor& TargetDescriptor::getTargetRegisterDescriptorFromNumber(GdbRegisterNumberType number) {
const TargetRegisterDescriptor& TargetDescriptor::getTargetRegisterDescriptorFromNumber(
GdbRegisterNumberType number
) const {
if (this->targetRegisterDescriptorsByGdbNumber.contains(number)) {
return this->targetRegisterDescriptorsByGdbNumber.at(number);
}

View File

@@ -12,7 +12,7 @@ namespace Bloom::DebugServers::Gdb::AvrGdb
BiMap<GdbRegisterNumberType, RegisterDescriptor> registerDescriptorsByGdbNumber = {};
BiMap<GdbRegisterNumberType, Targets::TargetRegisterDescriptor> targetRegisterDescriptorsByGdbNumber = {};
explicit TargetDescriptor(const Bloom::Targets::TargetDescriptor& targetDescriptor);
explicit TargetDescriptor(const Targets::TargetDescriptor& targetDescriptor);
/**
* Should retrieve the GDB register number, given a target register descriptor. Or std::nullopt if the target
@@ -23,7 +23,7 @@ namespace Bloom::DebugServers::Gdb::AvrGdb
*/
std::optional<GdbRegisterNumberType> getRegisterNumberFromTargetRegisterDescriptor(
const Targets::TargetRegisterDescriptor& registerDescriptor
) override;
) const override;
/**
* Should retrieve the GDB register descriptor for a given GDB register number.
@@ -31,7 +31,7 @@ namespace Bloom::DebugServers::Gdb::AvrGdb
* @param number
* @return
*/
const RegisterDescriptor& getRegisterDescriptorFromNumber(GdbRegisterNumberType number) override;
const RegisterDescriptor& getRegisterDescriptorFromNumber(GdbRegisterNumberType number) const override;
/**
* Should retrieve the mapped target register descriptor for a given GDB register number.
@@ -41,7 +41,7 @@ namespace Bloom::DebugServers::Gdb::AvrGdb
*/
const Targets::TargetRegisterDescriptor& getTargetRegisterDescriptorFromNumber(
GdbRegisterNumberType number
) override;
) const override;
private:
void loadRegisterMappings();

View File

@@ -27,7 +27,7 @@ namespace Bloom::DebugServers::Gdb
*/
virtual std::optional<GdbRegisterNumberType> getRegisterNumberFromTargetRegisterDescriptor(
const Targets::TargetRegisterDescriptor& registerDescriptor
) = 0;
) const = 0;
/**
* Should retrieve the GDB register descriptor for a given GDB register number.
@@ -35,7 +35,7 @@ namespace Bloom::DebugServers::Gdb
* @param number
* @return
*/
virtual const RegisterDescriptor& getRegisterDescriptorFromNumber(GdbRegisterNumberType number) = 0;
virtual const RegisterDescriptor& getRegisterDescriptorFromNumber(GdbRegisterNumberType number) const = 0;
/**
* Should retrieve the mapped target register descriptor for a given GDB register number.
@@ -45,6 +45,6 @@ namespace Bloom::DebugServers::Gdb
*/
virtual const Targets::TargetRegisterDescriptor& getTargetRegisterDescriptorFromNumber(
GdbRegisterNumberType number
) = 0;
) const = 0;
};
}