diff options
Diffstat (limited to 'Source/ThirdParty/ANGLE/src/compiler/SymbolTable.cpp')
-rw-r--r-- | Source/ThirdParty/ANGLE/src/compiler/SymbolTable.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/Source/ThirdParty/ANGLE/src/compiler/SymbolTable.cpp b/Source/ThirdParty/ANGLE/src/compiler/SymbolTable.cpp index 1b08667..02817d4 100644 --- a/Source/ThirdParty/ANGLE/src/compiler/SymbolTable.cpp +++ b/Source/ThirdParty/ANGLE/src/compiler/SymbolTable.cpp @@ -140,6 +140,22 @@ void TSymbolTableLevel::relateToOperator(const char* name, TOperator op) } } +// +// Change all function entries in the table with the non-mangled name +// to be related to the provided built-in extension. This is a low +// performance operation, and only intended for symbol tables that +// live across a large number of compiles. +// +void TSymbolTableLevel::relateToExtension(const char* name, const TString& ext) +{ + for (tLevel::iterator it = level.begin(); it != level.end(); ++it) { + if (it->second->isFunction()) { + TFunction* function = static_cast<TFunction*>(it->second); + if (function->getName() == name) + function->relateToExtension(ext); + } + } +} TSymbol::TSymbol(const TSymbol& copyOf) { |