Separate function info from TIntermAggregate

This change will make it easier to split types of TIntermAggregate
nodes representing functions and function calls into different node
classes.

BUG=angleproject:1490
TEST=angle_unittests

Change-Id: I730aa7858fe31fda86218fc685980c6ad486f5e0
Reviewed-on: https://chromium-review.googlesource.com/394706
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
diff --git a/src/compiler/translator/OutputGLSLBase.cpp b/src/compiler/translator/OutputGLSLBase.cpp
index ecd47fa..42cee81 100644
--- a/src/compiler/translator/OutputGLSLBase.cpp
+++ b/src/compiler/translator/OutputGLSLBase.cpp
@@ -803,7 +803,7 @@
                 out << arrayBrackets(type);
         }
 
-        out << " " << hashFunctionNameIfNeeded(node->getNameObj());
+        out << " " << hashFunctionNameIfNeeded(node->getFunctionSymbolInfo()->getNameObj());
 
         out << "(";
         writeFunctionParameters(*(node->getSequence()));
@@ -821,7 +821,7 @@
                 out << arrayBrackets(type);
         }
 
-        out << " " << hashFunctionNameIfNeeded(node->getNameObj());
+        out << " " << hashFunctionNameIfNeeded(node->getFunctionSymbolInfo()->getNameObj());
 
         incrementDepth(node);
         // Function definition node contains two child nodes representing the function parameters
@@ -847,7 +847,7 @@
       case EOpFunctionCall:
         // Function call.
         if (visit == PreVisit)
-            out << hashFunctionNameIfNeeded(node->getNameObj()) << "(";
+            out << hashFunctionNameIfNeeded(node->getFunctionSymbolInfo()->getNameObj()) << "(";
         else if (visit == InVisit)
             out << ", ";
         else