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/InitializeVariables.cpp b/src/compiler/translator/InitializeVariables.cpp
index 988427c..22c1cab 100644
--- a/src/compiler/translator/InitializeVariables.cpp
+++ b/src/compiler/translator/InitializeVariables.cpp
@@ -9,6 +9,7 @@
 #include "angle_gl.h"
 #include "common/debug.h"
 #include "compiler/translator/FindMain.h"
+#include "compiler/translator/IntermNode_util.h"
 #include "compiler/translator/IntermTraverse.h"
 #include "compiler/translator/SymbolTable.h"
 #include "compiler/translator/util.h"
@@ -29,7 +30,7 @@
 
 TIntermBinary *CreateZeroInitAssignment(const TIntermTyped *initializedNode)
 {
-    TIntermTyped *zero = TIntermTyped::CreateZero(initializedNode->getType());
+    TIntermTyped *zero = CreateZeroNode(initializedNode->getType());
     return new TIntermBinary(EOpAssign, initializedNode->deepCopy(), zero);
 }
 
@@ -40,8 +41,8 @@
     TStructure *structType = initializedNode->getType().getStruct();
     for (int i = 0; i < static_cast<int>(structType->fields().size()); ++i)
     {
-        TIntermBinary *element = new TIntermBinary(
-            EOpIndexDirectStruct, initializedNode->deepCopy(), TIntermTyped::CreateIndexNode(i));
+        TIntermBinary *element = new TIntermBinary(EOpIndexDirectStruct,
+                                                   initializedNode->deepCopy(), CreateIndexNode(i));
         if (element->isArray())
         {
             AddArrayZeroInitSequence(element, initSequenceOut);
@@ -69,8 +70,8 @@
     // http://crbug.com/709317
     for (unsigned int i = 0; i < initializedNode->getArraySize(); ++i)
     {
-        TIntermBinary *element = new TIntermBinary(EOpIndexDirect, initializedNode->deepCopy(),
-                                                   TIntermTyped::CreateIndexNode(i));
+        TIntermBinary *element =
+            new TIntermBinary(EOpIndexDirect, initializedNode->deepCopy(), CreateIndexNode(i));
         if (element->getType().isStructureContainingArrays())
         {
             AddStructZeroInitSequence(element, initSequenceOut);
@@ -175,8 +176,8 @@
                 }
                 else
                 {
-                    TIntermBinary *init = new TIntermBinary(
-                        EOpInitialize, symbol, TIntermTyped::CreateZero(symbol->getType()));
+                    TIntermBinary *init =
+                        new TIntermBinary(EOpInitialize, symbol, CreateZeroNode(symbol->getType()));
                     queueReplacementWithParent(node, symbol, init, OriginalNode::BECOMES_CHILD);
                 }
             }