diff options
Diffstat (limited to 'src/common/symbols.cpp')
| -rw-r--r-- | src/common/symbols.cpp | 66 |
1 files changed, 29 insertions, 37 deletions
diff --git a/src/common/symbols.cpp b/src/common/symbols.cpp index db8340043..c4d16af85 100644 --- a/src/common/symbols.cpp +++ b/src/common/symbols.cpp | |||
| @@ -6,49 +6,41 @@ | |||
| 6 | 6 | ||
| 7 | TSymbolsMap g_symbols; | 7 | TSymbolsMap g_symbols; |
| 8 | 8 | ||
| 9 | namespace Symbols | 9 | namespace Symbols { |
| 10 | { | 10 | bool HasSymbol(u32 address) { |
| 11 | bool HasSymbol(u32 address) | 11 | return g_symbols.find(address) != g_symbols.end(); |
| 12 | { | 12 | } |
| 13 | return g_symbols.find(address) != g_symbols.end(); | 13 | |
| 14 | } | 14 | void Add(u32 address, const std::string& name, u32 size, u32 type) { |
| 15 | if (!HasSymbol(address)) { | ||
| 16 | TSymbol symbol; | ||
| 17 | symbol.address = address; | ||
| 18 | symbol.name = name; | ||
| 19 | symbol.size = size; | ||
| 20 | symbol.type = type; | ||
| 15 | 21 | ||
| 16 | void Add(u32 address, const std::string& name, u32 size, u32 type) | 22 | g_symbols.emplace(address, symbol); |
| 17 | { | ||
| 18 | if (!HasSymbol(address)) | ||
| 19 | { | ||
| 20 | TSymbol symbol; | ||
| 21 | symbol.address = address; | ||
| 22 | symbol.name = name; | ||
| 23 | symbol.size = size; | ||
| 24 | symbol.type = type; | ||
| 25 | |||
| 26 | g_symbols.emplace(address, symbol); | ||
| 27 | } | ||
| 28 | } | 23 | } |
| 24 | } | ||
| 29 | 25 | ||
| 30 | TSymbol GetSymbol(u32 address) | 26 | TSymbol GetSymbol(u32 address) { |
| 31 | { | 27 | const auto iter = g_symbols.find(address); |
| 32 | const auto iter = g_symbols.find(address); | ||
| 33 | 28 | ||
| 34 | if (iter != g_symbols.end()) | 29 | if (iter != g_symbols.end()) |
| 35 | return iter->second; | 30 | return iter->second; |
| 36 | 31 | ||
| 37 | return {}; | 32 | return {}; |
| 38 | } | 33 | } |
| 39 | 34 | ||
| 40 | const std::string GetName(u32 address) | 35 | const std::string GetName(u32 address) { |
| 41 | { | 36 | return GetSymbol(address).name; |
| 42 | return GetSymbol(address).name; | 37 | } |
| 43 | } | ||
| 44 | 38 | ||
| 45 | void Remove(u32 address) | 39 | void Remove(u32 address) { |
| 46 | { | 40 | g_symbols.erase(address); |
| 47 | g_symbols.erase(address); | 41 | } |
| 48 | } | ||
| 49 | 42 | ||
| 50 | void Clear() | 43 | void Clear() { |
| 51 | { | 44 | g_symbols.clear(); |
| 52 | g_symbols.clear(); | 45 | } |
| 53 | } | ||
| 54 | } | 46 | } |