// 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 -> A, b, B (@ if (is_equal) { A obj = (A) history.peek(); history.push(obj.get_b()); } @) after -> A, b, B (@ if (is_equal) history.pop(); @) before -> A, e, E (@ if (is_equal) { A obj = (A) history.peek(); history.push(obj.get_e()); } @) after -> A, e, E (@ if (is_equal) history.pop(); @) before A (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); @) before -> B, d, D (@ if (is_equal) { B obj = (B) history.peek(); history.push(obj.get_d()); } @) after -> B, d, D (@ if (is_equal) history.pop(); @) before -> B, e, E (@ if (is_equal) { B obj = (B) history.peek(); history.push(obj.get_e()); } @) after -> B, e, E (@ if (is_equal) history.pop(); @) before -> B, x, X (@ if (is_equal) { B obj = (B) history.peek(); history.push(obj.get_x()); } @) after -> B, x, X (@ if (is_equal) history.pop(); @) before B (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); @) before -> D, c, C (@ if (is_equal) { D obj = (D) history.peek(); history.push(obj.get_c()); } @) after -> D, c, C (@ if (is_equal) history.pop(); @) before D (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); @) before -> E, c, C (@ if (is_equal) { E obj = (E) history.peek(); history.push(obj.get_c()); } @) after -> E, c, C (@ if (is_equal) history.pop(); @) before E (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); @) before C (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); @) before -> X, c, C (@ if (is_equal) { X obj = (X) history.peek(); history.push(obj.get_c()); } @) after -> X, c, C (@ if (is_equal) history.pop(); @) before X (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); @) before Main (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); @) before Count_C_Visitor (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()) && host.get_c() == ((Count_C_Visitor) obj).get_c(); @) 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()); @) return boolean (@ is_equal @) }