package nodeAST;
public abstract class BinaryExpr extends Expression {
protected Expression leftHandOperand;
protected Expression rightHandOperand;
public BinaryExpr(Expression leftHandOperand, Expression rightHandOperand) {
this.leftHandOperand=leftHandOperand;
this.rightHandOperand=rightHandOperand;
}
@Override
public boolean equals(Object obj) {
if (!(obj instanceof BinaryExpr))
return false;
BinaryExpr binaryExpr=(BinaryExpr) obj;
return this.leftHandOperand.equals(binaryExpr.leftHandOperand) &&
this.rightHandOperand.equals(binaryExpr.rightHandOperand);
}
@Override
public boolean containsTreeNode(Expression e) {
if(e.equals(this) ||
this.leftHandOperand.containsTreeNode(e) ||
this.rightHandOperand.containsTreeNode(e) )
return true;
return false;
}
}