Consolidate shader variable storage in Compiler.

The Compiler base class now stores all the shader variables and
interface block information, instead of duplicating the information
in the HLSL translator.

BUG=angle:466

Change-Id: Ia69079fde64fbd6b0cbfc66defd5e37d99ee3e6e
Reviewed-on: https://chromium-review.googlesource.com/206020
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/compiler/translator/Compiler.cpp b/src/compiler/translator/Compiler.cpp
index 4402298..383beca 100644
--- a/src/compiler/translator/Compiler.cpp
+++ b/src/compiler/translator/Compiler.cpp
@@ -357,9 +357,11 @@
     infoSink.obj.erase();
     infoSink.debug.erase();
 
-    attribs.clear();
+    attributes.clear();
+    outputVariables.clear();
     uniforms.clear();
     varyings.clear();
+    interfaceBlocks.clear();
 
     builtInFunctionEmulator.Cleanup();
 
@@ -483,7 +485,7 @@
 
 void TCompiler::collectVariables(TIntermNode* root)
 {
-    CollectVariables collect(&attribs, &uniforms, &varyings, hashFunction);
+    CollectVariables collect(&attributes, &uniforms, &varyings, hashFunction);
     root->traverse(&collect);
 }