| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- // Copyright 2014 Citra Emulator Project
- // Licensed under GPLv2 or any later version
- // Refer to the license.txt file included.
- #include "common/symbols.h"
- TSymbolsMap g_symbols;
- namespace Symbols
- {
- bool HasSymbol(u32 address)
- {
- return g_symbols.find(address) != g_symbols.end();
- }
- void Add(u32 address, const std::string& name, u32 size, u32 type)
- {
- if (!HasSymbol(address))
- {
- TSymbol symbol;
- symbol.address = address;
- symbol.name = name;
- symbol.size = size;
- symbol.type = type;
- g_symbols.emplace(address, symbol);
- }
- }
- TSymbol GetSymbol(u32 address)
- {
- const auto iter = g_symbols.find(address);
- if (iter != g_symbols.end())
- return iter->second;
- return {};
- }
- const std::string GetName(u32 address)
- {
- return GetSymbol(address).name;
- }
- void Remove(u32 address)
- {
- g_symbols.erase(address);
- }
- void Clear()
- {
- g_symbols.clear();
- }
- }
|