/*!! Expression */ /*! # Addition */ /*!- Header */ package expression; /*! An `Addition` consists of a `leftHandSide` and a `rightHandSide` expression, which are supposed to be added. For example new Addition(new Identifier("x"), new Int(2)) represents the code x + 2 */ public class Addition extends Expression { public final Expression leftHandSide; public final Expression rightHandSide; public Addition(Expression leftHandSide, Expression rightHandSide) { this.leftHandSide = leftHandSide; this.rightHandSide = rightHandSide; } /*!- String serialization */ @Override public String toString() { return "(" + leftHandSide + " + " + rightHandSide + ")"; } /*!- Generated equals implementation */ @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Addition addition = (Addition) o; if (!leftHandSide.equals(addition.leftHandSide)) return false; return rightHandSide.equals(addition.rightHandSide); } }