/* * Code formatter project * CS 4481 */ package submit.ast; /** * * @author edwajohn */ public class BinaryOperator extends AbstractNode implements Expression { private final Expression lhs, rhs; private final BinaryOperatorType type; public BinaryOperator(Expression lhs, BinaryOperatorType type, Expression rhs) { this.lhs = lhs; this.type = type; this.rhs = rhs; } public BinaryOperator(Expression lhs, String type, Expression rhs) { this.lhs = lhs; this.type = BinaryOperatorType.fromString(type); this.rhs = rhs; } @Override public void toCminus(StringBuilder builder, String prefix) { lhs.toCminus(builder, prefix); builder.append(" ").append(type).append(" "); rhs.toCminus(builder, prefix); } }