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

View File

@@ -12,7 +12,7 @@ namespace Bloom::DebugServers::Gdb::AvrGdb
BiMap<GdbRegisterNumberType, RegisterDescriptor> registerDescriptorsByGdbNumber = {}; BiMap<GdbRegisterNumberType, RegisterDescriptor> registerDescriptorsByGdbNumber = {};
BiMap<GdbRegisterNumberType, Targets::TargetRegisterDescriptor> targetRegisterDescriptorsByGdbNumber = {}; 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 * 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( std::optional<GdbRegisterNumberType> getRegisterNumberFromTargetRegisterDescriptor(
const Targets::TargetRegisterDescriptor& registerDescriptor const Targets::TargetRegisterDescriptor& registerDescriptor
) override; ) const override;
/** /**
* Should retrieve the GDB register descriptor for a given GDB register number. * Should retrieve the GDB register descriptor for a given GDB register number.
@@ -31,7 +31,7 @@ namespace Bloom::DebugServers::Gdb::AvrGdb
* @param number * @param number
* @return * @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. * 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( const Targets::TargetRegisterDescriptor& getTargetRegisterDescriptorFromNumber(
GdbRegisterNumberType number GdbRegisterNumberType number
) override; ) const override;
private: private:
void loadRegisterMappings(); void loadRegisterMappings();

View File

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