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

public class CncDFun extends Def {
  public final String ident_;
  public final CIdent cident_;
  public final ListArgVar listargvar_;
  public final Term term_1, term_2;

  public CncDFun(String p1, CIdent p2, ListArgVar p3, Term p4, Term p5) { ident_ = p1; cident_ = p2; listargvar_ = p3; term_1 = p4; term_2 = p5; }

  public <R,A> R accept(se.chalmers.cs.gf.GFC.Absyn.Def.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.GFC.Absyn.CncDFun) {
      se.chalmers.cs.gf.GFC.Absyn.CncDFun x = (se.chalmers.cs.gf.GFC.Absyn.CncDFun)o;
      return this.ident_.equals(x.ident_) && this.cident_.equals(x.cident_) && this.listargvar_.equals(x.listargvar_) && this.term_1.equals(x.term_1) && this.term_2.equals(x.term_2);
    }
    return false;
  }

  public int hashCode() {
    return 37*(37*(37*(37*(this.ident_.hashCode())+this.cident_.hashCode())+this.listargvar_.hashCode())+this.term_1.hashCode())+this.term_2.hashCode();
  }


}