Collect AST transform utilities to a separate file

Collect static functions that are used to create nodes in AST
transformations into a single file.

BUG=angleproject:1490
TEST=angle_unittests

Change-Id: I6f87422988fa088f2f4b48986e378a2909705cb7
diff --git a/src/compiler/translator/UseInterfaceBlockFields.cpp b/src/compiler/translator/UseInterfaceBlockFields.cpp
index 0819cab..aa98611 100644
--- a/src/compiler/translator/UseInterfaceBlockFields.cpp
+++ b/src/compiler/translator/UseInterfaceBlockFields.cpp
@@ -12,6 +12,7 @@
 
 #include "compiler/translator/FindMain.h"
 #include "compiler/translator/IntermNode.h"
+#include "compiler/translator/IntermNode_util.h"
 #include "compiler/translator/SymbolTable.h"
 #include "compiler/translator/util.h"
 
@@ -55,8 +56,7 @@
     {
         for (unsigned int i = 0; i < var.arraySize; ++i)
         {
-            TIntermBinary *element =
-                new TIntermBinary(EOpIndexDirect, symbol, TIntermTyped::CreateIndexNode(i));
+            TIntermBinary *element = new TIntermBinary(EOpIndexDirect, symbol, CreateIndexNode(i));
             sequence->insert(sequence->begin(), element);
         }
     }
@@ -87,13 +87,12 @@
             TIntermSymbol *arraySymbol = new TIntermSymbol(0, name, ubInfo->getType());
             for (unsigned int i = 0; i < block.arraySize; ++i)
             {
-                TIntermBinary *instanceSymbol = new TIntermBinary(EOpIndexDirect, arraySymbol,
-                                                                  TIntermTyped::CreateIndexNode(i));
+                TIntermBinary *instanceSymbol =
+                    new TIntermBinary(EOpIndexDirect, arraySymbol, CreateIndexNode(i));
                 for (unsigned int j = 0; j < block.fields.size(); ++j)
                 {
-                    TIntermBinary *element =
-                        new TIntermBinary(EOpIndexDirectInterfaceBlock, instanceSymbol,
-                                          TIntermTyped::CreateIndexNode(j));
+                    TIntermBinary *element = new TIntermBinary(EOpIndexDirectInterfaceBlock,
+                                                               instanceSymbol, CreateIndexNode(j));
                     sequence->insert(sequence->begin(), element);
                 }
             }
@@ -106,8 +105,8 @@
             TIntermSymbol *blockSymbol = new TIntermSymbol(0, name, ubInfo->getType());
             for (unsigned int i = 0; i < block.fields.size(); ++i)
             {
-                TIntermBinary *element = new TIntermBinary(
-                    EOpIndexDirectInterfaceBlock, blockSymbol, TIntermTyped::CreateIndexNode(i));
+                TIntermBinary *element = new TIntermBinary(EOpIndexDirectInterfaceBlock,
+                                                           blockSymbol, CreateIndexNode(i));
 
                 sequence->insert(sequence->begin(), element);
             }