summaryrefslogtreecommitdiff
path: root/src/common/symbols.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/common/symbols.cpp66
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
7TSymbolsMap g_symbols; 7TSymbolsMap g_symbols;
8 8
9namespace Symbols 9namespace Symbols {
10{ 10bool 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 } 14void 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) 26TSymbol 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) 35const 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) 39void Remove(u32 address) {
46 { 40 g_symbols.erase(address);
47 g_symbols.erase(address); 41}
48 }
49 42
50 void Clear() 43void Clear() {
51 { 44 g_symbols.clear();
52 g_symbols.clear(); 45}
53 }
54} 46}