package submit.ast; public class Immutable implements Expression, Node { private Expression expression; private Call call; private Constant constant; public Immutable(Expression expression) { this.expression = expression; } public Immutable(Call call, boolean isCall) { this.call = call; } public Immutable(Constant constant) { this.constant = constant; } @Override public void toCminus(StringBuilder builder, String prefix) { builder.append(prefix); if (constant != null) constant.toCminus(builder, ""); if (expression != null) { builder.append("("); expression.toCminus(builder, ""); builder.append(")"); } if (call != null) call.toCminus(builder, ""); } }