package se.chalmers.cs.gf.Core.Absyn; // Java Package generated by the BNF Converter.

public class EAbs extends Exp {
  public final PatternVariable patternvariable_;
  public final Exp exp_;

  public EAbs(PatternVariable p1, Exp p2) { patternvariable_ = p1; exp_ = p2; }

  public <R,A> R accept(se.chalmers.cs.gf.Core.Absyn.Exp.Visitor<R,A> v, A arg) { return v.visit(this, arg); }

  public boolean equals(Object o) {
    if (this == o) return true;
    if (o instanceof se.chalmers.cs.gf.Core.Absyn.EAbs) {
      se.chalmers.cs.gf.Core.Absyn.EAbs x = (se.chalmers.cs.gf.Core.Absyn.EAbs)o;
      return this.patternvariable_.equals(x.patternvariable_) && this.exp_.equals(x.exp_);
    }
    return false;
  }

  public int hashCode() {
    return 37*(this.patternvariable_.hashCode())+this.exp_.hashCode();
  }


}