public override void CodeGen(OutputContext output) { output.Print(Operator); if (OutputContext.OperatorStartsWithLetter(Operator) || OutputContext.OperatorEndsWithPlusOrMinus(Operator) && Expression is AstUnaryPrefix nestedUnary && OutputContext.OperatorStartsWithPlusOrMinus(nestedUnary.Operator)) { output.Space(); } Expression.Print(output); }