Remove TFunctionSymbolInfo from TIntermAggregate
All the information stored in TFunctionSymbolInfo was duplicated from
the TFunction that the aggregate node pointed to.
BUG=angleproject:2267
TEST=angle_unittests
Change-Id: I1f5574ab0416e5cae00c3dae6fc11d2fe1fa128c
Reviewed-on: https://chromium-review.googlesource.com/827065
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
diff --git a/src/compiler/translator/OutputTree.cpp b/src/compiler/translator/OutputTree.cpp
index 6798b35..8bacce9 100644
--- a/src/compiler/translator/OutputTree.cpp
+++ b/src/compiler/translator/OutputTree.cpp
@@ -20,6 +20,14 @@
<< info->getId().get() << ")";
}
+void OutputFunction(TInfoSinkBase &out, const char *str, const TFunction *func)
+{
+ const char *internal =
+ (func->symbolType() == SymbolType::AngleInternal) ? " (internal function)" : "";
+ out << str << internal << ": " << *func->name() << " (symbol id " << func->uniqueId().get()
+ << ")";
+}
+
// Two purposes:
// 1. Show an example of how to iterate tree. Functions can also directly call traverse() on
// children themselves to have finer grained control over the process than shown here, though
@@ -379,14 +387,14 @@
switch (node->getOp())
{
case EOpCallFunctionInAST:
- OutputFunction(mOut, "Call an user-defined function", node->getFunctionSymbolInfo());
+ OutputFunction(mOut, "Call an user-defined function", node->getFunction());
break;
case EOpCallInternalRawFunction:
OutputFunction(mOut, "Call an internal function with raw implementation",
- node->getFunctionSymbolInfo());
+ node->getFunction());
break;
case EOpCallBuiltInFunction:
- OutputFunction(mOut, "Call a built-in function", node->getFunctionSymbolInfo());
+ OutputFunction(mOut, "Call a built-in function", node->getFunction());
break;
case EOpConstruct: