// This file is automatically generated by Demeter/Java. EqualVisitor { (@ private java.util.Stack history = new java.util.Stack(); public EqualVisitor(Object obj) { history.push(obj); } @) before Person (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()) && host.get_personname().equals(((Person) obj).get_personname()); @) before Main (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); @) before PrintVisitor (@ 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(); @) before CopyVisitor (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); @) before EqualVisitor (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()) && host.get_is_equal() == ((EqualVisitor) obj).get_is_equal(); @) before DisplayVisitor (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()) && host.get_indent() == ((DisplayVisitor) obj).get_indent(); @) before TraceVisitor (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()) && host.get_indent() == ((TraceVisitor) obj).get_indent(); @) before UniversalVisitor (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); @) before Person_NList (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); @) before Nonempty_Person_NList (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); @) before -> Person, spouse, Person (@ if (is_equal) { Person obj = (Person) history.peek(); history.push(obj.get_spouse()); } @) after -> Person, spouse, Person (@ if (is_equal) history.pop(); @) before -> Person, siblings, Person_NList (@ if (is_equal) { Person obj = (Person) history.peek(); history.push(obj.get_siblings()); } @) after -> Person, siblings, Person_NList (@ if (is_equal) history.pop(); @) before -> Person_NList, first, Nonempty_Person_NList (@ if (is_equal) { Person_NList obj = (Person_NList) history.peek(); history.push(obj.get_first()); } @) after -> Person_NList, first, Nonempty_Person_NList (@ if (is_equal) history.pop(); @) before -> Nonempty_Person_NList, it, Person (@ if (is_equal) { Nonempty_Person_NList obj = (Nonempty_Person_NList) history.peek(); history.push(obj.get_it()); } @) after -> Nonempty_Person_NList, it, Person (@ if (is_equal) history.pop(); @) before -> Nonempty_Person_NList, next, Nonempty_Person_NList (@ if (is_equal) { Nonempty_Person_NList obj = (Nonempty_Person_NList) history.peek(); history.push(obj.get_next()); } @) after -> Nonempty_Person_NList, next, Nonempty_Person_NList (@ if (is_equal) history.pop(); @) }