void Formatter::visit(UnaryExpression &unary)
{
- if(unary.prefix)
- append(unary.oper);
+ if(unary.oper->type==Operator::PREFIX)
+ append(unary.oper->token);
unary.expression->visit(*this);
- if(!unary.prefix)
- append(unary.oper);
+ if(unary.oper->type==Operator::POSTFIX)
+ append(unary.oper->token);
}
void Formatter::visit(BinaryExpression &binary)
{
binary.left->visit(*this);
- append(binary.oper);
+ append(binary.oper->token);
binary.right->visit(*this);
- append(binary.after);
+ if(binary.oper->token[0]=='[')
+ append(']');
}
void Formatter::visit(Assignment &assign)
{
assign.left->visit(*this);
- append(format(" %s ", assign.oper));
+ append(format(" %s ", assign.oper->token));
assign.right->visit(*this);
}