1
0
Fork 0

DBG: change findSymbolsByPrefix to take a callback

This commit is contained in:
Duncan Ogilvie 2018-01-06 22:05:08 +01:00
parent a6ccf69e5b
commit 876abcdf10
No known key found for this signature in database
GPG Key ID: FC89E0AAA0C1AAD8
3 changed files with 5 additions and 4 deletions

View File

@ -105,7 +105,7 @@ public:
return false; // Stub
}
virtual bool findSymbolsByPrefix(const std::string & prefix, std::vector<SymbolInfo> & symbols, bool caseSensitive)
virtual bool findSymbolsByPrefix(const std::string & prefix, const std::function<bool(const SymbolInfo &)> & cbSymbol, bool caseSensitive)
{
return false; // Stub
}

View File

@ -421,7 +421,7 @@ bool SymbolSourcePDB::findSymbolByName(const std::string & name, SymbolInfo & sy
return false;
}
bool SymbolSourcePDB::findSymbolsByPrefix(const std::string & prefix, std::vector<SymbolInfo> & symbols, bool caseSensitive)
bool SymbolSourcePDB::findSymbolsByPrefix(const std::string & prefix, const std::function<bool(const SymbolInfo &)> & cbSymbol, bool caseSensitive)
{
struct PrefixCmp
{
@ -454,8 +454,9 @@ bool SymbolSourcePDB::findSymbolsByPrefix(const std::string & prefix, std::vecto
{
if(!caseSensitive || prefixCmp.cmp(find, *found, true))
{
symbols.push_back(_symData.at(found->index));
result = true;
if(!cbSymbol(_symData.at(found->index)))
break;
}
}

View File

@ -143,7 +143,7 @@ public:
virtual bool findSymbolByName(const std::string & name, SymbolInfo & symInfo, bool caseSensitive) override;
virtual bool findSymbolsByPrefix(const std::string & prefix, std::vector<SymbolInfo> & symbols, bool caseSensitive) override;
virtual bool findSymbolsByPrefix(const std::string & prefix, const std::function<bool(const SymbolInfo &)> & cbSymbol, bool caseSensitive) override;
public:
bool loadPDB(const std::string & path, duint imageBase, duint imageSize);