void DumpTree::visit(BinaryExpression &binary)
{
- append(format("Binary: %s -> %s", (binary.oper->token[0]=='[' ? "[]" : binary.oper->token), format_type(binary.type)));
+ append(format("Binary: %s%s -> %s", binary.oper->token, binary.oper->token2, format_type(binary.type)));
begin_sub();
binary.left->visit(*this);
last_branch();
end_sub();
}
+void DumpTree::visit(TernaryExpression &ternary)
+{
+ append(format("Ternary: %s%s -> %s", ternary.oper->token, ternary.oper->token2, format_type(ternary.type)));
+ begin_sub();
+ ternary.condition->visit(*this);
+ ternary.true_expr->visit(*this);
+ last_branch();
+ ternary.false_expr->visit(*this);
+ end_sub();
+}
+
void DumpTree::visit(FunctionCall &call)
{
string head = "Function call: ";