Use temporary parser for mangled names

Use a temporary parser to retrieve the mangled names of specific
function overloads. This is necessary for GL_EXT_texture_shadow_lod.
This commit is contained in:
Nathaniel Cesario 2023-08-23 22:44:33 -06:00 committed by arcady-lunarg
parent ffefbcd9f3
commit 0bbe74c709
3 changed files with 73 additions and 47 deletions

View file

@ -487,6 +487,12 @@ public:
return (*it).second;
}
template <typename ProcSymFn> void processAllSymbols(ProcSymFn procSym) const
{
for (auto itr : level)
procSym(itr.second);
}
void findFunctionNameList(const TString& name, TVector<const TFunction*>& list)
{
size_t parenAt = name.find_first_of('(');
@ -796,6 +802,15 @@ public:
return symbol;
}
template <typename ProcSymFn> void processAllSymbols(ProcSymFn procSym)
{
int level = currentLevel();
do {
table[level]->processAllSymbols(procSym);
--level;
} while (level >= 0);
}
void retargetSymbol(const TString& from, const TString& to) {
int level = currentLevel();
table[level]->retargetSymbol(from, to);