package se.chalmers.cs.gf.MCFG.Absyn; // Java Package generated by the BNF Converter. public class Rule { public final String ident_; public final Profile profile_; public final Cat cat_; public final ListCat listcat_; public final ListField listfield_; public Rule(String p1, Profile p2, Cat p3, ListCat p4, ListField p5) { ident_ = p1; profile_ = p2; cat_ = p3; listcat_ = p4; listfield_ = p5; } public R accept(se.chalmers.cs.gf.MCFG.Absyn.Rule.Visitor 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.MCFG.Absyn.Rule) { se.chalmers.cs.gf.MCFG.Absyn.Rule x = (se.chalmers.cs.gf.MCFG.Absyn.Rule)o; return this.ident_.equals(x.ident_) && this.profile_.equals(x.profile_) && this.cat_.equals(x.cat_) && this.listcat_.equals(x.listcat_) && this.listfield_.equals(x.listfield_); } return false; } public int hashCode() { return 37*(37*(37*(37*(this.ident_.hashCode())+this.profile_.hashCode())+this.cat_.hashCode())+this.listcat_.hashCode())+this.listfield_.hashCode(); } public interface Visitor { public R visit(se.chalmers.cs.gf.MCFG.Absyn.Rule p, A arg); } }