import demeter.*; class EqualVisitor extends UniversalVisitor implements Cloneable { protected boolean is_equal = true ; public boolean get_is_equal() { return is_equal; } public void set_is_equal(boolean new_is_equal) { is_equal = new_is_equal; } EqualVisitor() { super(); } public EqualVisitor(boolean is_equal) { super(); set_is_equal(is_equal); } private java.util.Stack history = new java.util.Stack(); public EqualVisitor(Object obj) { history.push(obj); } public void before(Person host) { Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()) && host.get_personname().equals(((Person) obj).get_personname()); } public void before(Main host) { Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); } public void before(PrintVisitor host) { Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()) && host.get_indent() == ((PrintVisitor) obj).get_indent() && host.get_needSpace() == ((PrintVisitor) obj).get_needSpace(); } public void before(CopyVisitor host) { Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); } public void before(EqualVisitor host) { Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()) && host.get_is_equal() == ((EqualVisitor) obj).get_is_equal(); } public void before(DisplayVisitor host) { Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()) && host.get_indent() == ((DisplayVisitor) obj).get_indent(); } public void before(TraceVisitor host) { Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()) && host.get_indent() == ((TraceVisitor) obj).get_indent(); } public void before(UniversalVisitor host) { Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); } public void before(Person_NList host) { Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); } public void before(Nonempty_Person_NList host) { Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); } public void before_spouse(Person source, Person dest) { if (is_equal) { Person obj = (Person) history.peek(); history.push(obj.get_spouse()); } } public void after_spouse(Person source, Person dest) { if (is_equal) history.pop(); } public void before_siblings(Person source, Person_NList dest) { if (is_equal) { Person obj = (Person) history.peek(); history.push(obj.get_siblings()); } } public void after_siblings(Person source, Person_NList dest) { if (is_equal) history.pop(); } public void before_first(Person_NList source, Nonempty_Person_NList dest) { if (is_equal) { Person_NList obj = (Person_NList) history.peek(); history.push(obj.get_first()); } } public void after_first(Person_NList source, Nonempty_Person_NList dest) { if (is_equal) history.pop(); } public void before_it(Nonempty_Person_NList source, Person dest) { if (is_equal) { Nonempty_Person_NList obj = (Nonempty_Person_NList) history.peek(); history.push(obj.get_it()); } } public void after_it(Nonempty_Person_NList source, Person dest) { if (is_equal) history.pop(); } public void before_next(Nonempty_Person_NList source, Nonempty_Person_NList dest) { if (is_equal) { Nonempty_Person_NList obj = (Nonempty_Person_NList) history.peek(); history.push(obj.get_next()); } } public void after_next(Nonempty_Person_NList source, Nonempty_Person_NList dest) { if (is_equal) history.pop(); } void universal_trv0_bef(UniversalVisitor _v_) { super.universal_trv0_bef(_v_); } void universal_trv0_aft(UniversalVisitor _v_) { super.universal_trv0_aft(_v_); } void universal_trv0(UniversalVisitor _v_) { universal_trv0_bef(_v_); super.universal_trv0(_v_); universal_trv0_aft(_v_); } }