package submit.ast; import java.util.ArrayList; import java.util.List; public class IfStatement implements Statement { private ArrayList statements; private Expression simpleExpression; public IfStatement(Expression simpleExpression, List statements) { this.simpleExpression = simpleExpression; this.statements = new ArrayList<>(statements); } @Override public void toCminus(StringBuilder builder, String prefix) { builder.append(prefix); builder.append("if").append(" ("); simpleExpression.toCminus(builder, ""); builder.append(")\n"); Statement ifStmt = statements.get(0); boolean isIfCompound = ifStmt.getClass() == CompoundStatement.class; ifStmt.toCminus(builder, prefix + (isIfCompound ? "" : "\t")); if (statements.size() == 2) { Statement elseStmt = statements.get(1); boolean isElseCompound = elseStmt.getClass() == CompoundStatement.class; builder.append(prefix).append("else\n"); elseStmt.toCminus(builder, prefix + (isElseCompound ? "" : "\t")); } } }