Replace remaining usage of TName with TSymbol

TName used to contain just a subset of the information stored in
TSymbol. It makes more sense to use TSymbol directly instead of
converting it to TName.

This also improves type safety a bit by making some functions only
take in TVariable or TFunction instead of the more generic TName.

BUG=angleproject:2267
TEST=angle_unittests

Change-Id: Icb46923c25d33ebbbbc06ddc487da25957dda771
Reviewed-on: https://chromium-review.googlesource.com/829143
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/compiler/translator/InitializeVariables.cpp b/src/compiler/translator/InitializeVariables.cpp
index 90741af..e2336bb 100644
--- a/src/compiler/translator/InitializeVariables.cpp
+++ b/src/compiler/translator/InitializeVariables.cpp
@@ -224,7 +224,7 @@
             {
                 TIntermSymbol *symbol = declarator->getAsSymbolNode();
                 ASSERT(symbol);
-                if (symbol->getSymbol() == "")
+                if (symbol->variable().symbolType() == SymbolType::Empty)
                 {
                     continue;
                 }