Clean up function name mangling code

Fix a few incorrect comments about mangled names, and refactor
generating mangled names from function call nodes.

BUG=angleproject:1490
TEST=angle_unittests

Change-Id: I3ee68c4c0982f1a9c28d8e87aafa19f19559bbf8
Reviewed-on: https://chromium-review.googlesource.com/465826
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
diff --git a/src/compiler/translator/SymbolTable.cpp b/src/compiler/translator/SymbolTable.cpp
index 4ec871e..a7f7e8f 100644
--- a/src/compiler/translator/SymbolTable.cpp
+++ b/src/compiler/translator/SymbolTable.cpp
@@ -24,6 +24,13 @@
 namespace sh
 {
 
+namespace
+{
+
+static const char kFunctionMangledNameSeparator = '(';
+
+}  // anonymous namespace
+
 int TSymbolTable::uniqueIdCounter = 0;
 
 TSymbolUniqueId::TSymbolUniqueId() : mId(TSymbolTable::nextUniqueId())
@@ -70,20 +77,22 @@
 
 const TString *TFunction::buildMangledName() const
 {
-    std::string newName = mangleName(getName()).c_str();
+    std::string newName = getName().c_str();
+    newName += kFunctionMangledNameSeparator;
 
     for (const auto &p : parameters)
     {
         newName += p.type->getMangledName().c_str();
     }
-
     return NewPoolTString(newName.c_str());
 }
 
-const TString &TFunction::GetMangledNameFromCall(const TString &unmangledFunctionName,
-                                                 TIntermSequence &arguments)
+const TString &TFunction::GetMangledNameFromCall(const TString &functionName,
+                                                 const TIntermSequence &arguments)
 {
-    std::string newName = mangleName(unmangledFunctionName).c_str();
+    std::string newName = functionName.c_str();
+    newName += kFunctionMangledNameSeparator;
+
     for (TIntermNode *argument : arguments)
     {
         newName += argument->getAsTyped()->getType().getMangledName().c_str();
@@ -179,20 +188,6 @@
     return 0;
 }
 
-TFunction *TSymbolTable::findBuiltInOp(TIntermAggregate *callNode, int shaderVersion) const
-{
-    ASSERT(!callNode->isConstructor());
-    ASSERT(!callNode->isFunctionCall());
-    TString opString = GetOperatorString(callNode->getOp());
-    TSymbol *sym     = findBuiltIn(
-        TFunction::GetMangledNameFromCall(opString, *callNode->getSequence()), shaderVersion);
-    ASSERT(sym != nullptr && sym->isFunction());
-
-    TFunction *builtInFunc = static_cast<TFunction *>(sym);
-    ASSERT(builtInFunc->getParamCount() == callNode->getSequence()->size());
-    return builtInFunc;
-}
-
 TSymbolTable::~TSymbolTable()
 {
     while (table.size() > 0)