Addition

------------------Show Header Code ( lines)------------------
package expression;
1

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;
    }
------------------Show Generated equals implementation Code ( lines)------------------
    @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);

    }
}