// 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 -> BusRoute, name, RouteName (@ if (is_equal) { BusRoute obj = (BusRoute) history.peek(); history.push(obj.get_name()); } @) after -> BusRoute, name, RouteName (@ if (is_equal) history.pop(); @) before -> BusRoute, totalLength, RouteLen (@ if (is_equal) { BusRoute obj = (BusRoute) history.peek(); history.push(obj.get_totalLength()); } @) after -> BusRoute, totalLength, RouteLen (@ if (is_equal) history.pop(); @) before -> BusRoute, busStops, BusStop_List (@ if (is_equal) { BusRoute obj = (BusRoute) history.peek(); history.push(obj.get_busStops()); } @) after -> BusRoute, busStops, BusStop_List (@ if (is_equal) history.pop(); @) before -> BusRoute, buses, Bus_List (@ if (is_equal) { BusRoute obj = (BusRoute) history.peek(); history.push(obj.get_buses()); } @) after -> BusRoute, buses, Bus_List (@ if (is_equal) history.pop(); @) before BusRoute (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); @) before -> BusStop, id, StopId (@ if (is_equal) { BusStop obj = (BusStop) history.peek(); history.push(obj.get_id()); } @) after -> BusStop, id, StopId (@ if (is_equal) history.pop(); @) before -> BusStop, location, RouteLoc (@ if (is_equal) { BusStop obj = (BusStop) history.peek(); history.push(obj.get_location()); } @) after -> BusStop, location, RouteLoc (@ if (is_equal) history.pop(); @) before -> BusStop, waitingList, Person_List (@ if (is_equal) { BusStop obj = (BusStop) history.peek(); history.push(obj.get_waitingList()); } @) after -> BusStop, waitingList, Person_List (@ if (is_equal) history.pop(); @) before BusStop (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); @) before -> Bus, id, BusId (@ if (is_equal) { Bus obj = (Bus) history.peek(); history.push(obj.get_id()); } @) after -> Bus, id, BusId (@ if (is_equal) history.pop(); @) before -> Bus, position, RouteLoc (@ if (is_equal) { Bus obj = (Bus) history.peek(); history.push(obj.get_position()); } @) after -> Bus, position, RouteLoc (@ if (is_equal) history.pop(); @) before -> Bus, currentStop, StopId (@ if (is_equal) { Bus obj = (Bus) history.peek(); history.push(obj.get_currentStop()); } @) after -> Bus, currentStop, StopId (@ if (is_equal) history.pop(); @) before -> Bus, capacity, BusCapac (@ if (is_equal) { Bus obj = (Bus) history.peek(); history.push(obj.get_capacity()); } @) after -> Bus, capacity, BusCapac (@ if (is_equal) history.pop(); @) before -> Bus, speed, BusSpeed (@ if (is_equal) { Bus obj = (Bus) history.peek(); history.push(obj.get_speed()); } @) after -> Bus, speed, BusSpeed (@ if (is_equal) history.pop(); @) before -> Bus, passengers, Person_List (@ if (is_equal) { Bus obj = (Bus) history.peek(); history.push(obj.get_passengers()); } @) after -> Bus, passengers, Person_List (@ if (is_equal) history.pop(); @) before Bus (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); @) before -> Person, id, PersonId (@ if (is_equal) { Person obj = (Person) history.peek(); history.push(obj.get_id()); } @) after -> Person, id, PersonId (@ if (is_equal) history.pop(); @) before -> Person, destination, StopId (@ if (is_equal) { Person obj = (Person) history.peek(); history.push(obj.get_destination()); } @) after -> Person, destination, StopId (@ if (is_equal) history.pop(); @) before Person (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); @) before RouteName (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()) && host.get_v().equals(((RouteName) obj).get_v()); @) before RouteLen (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()) && host.get_v().equals(((RouteLen) obj).get_v()); @) before RouteLoc (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()) && host.get_v().equals(((RouteLoc) obj).get_v()); @) before BusCapac (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()) && host.get_v().equals(((BusCapac) obj).get_v()); @) before BusSpeed (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()) && host.get_v().equals(((BusSpeed) obj).get_v()); @) before StopId (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()) && host.get_v().equals(((StopId) obj).get_v()); @) before BusId (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()) && host.get_v().equals(((BusId) obj).get_v()); @) before PersonId (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()) && host.get_v().equals(((PersonId) obj).get_v()); @) 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 -> BusStop_List, first, Nonempty_BusStop_List (@ if (is_equal) { BusStop_List obj = (BusStop_List) history.peek(); history.push(obj.get_first()); } @) after -> BusStop_List, first, Nonempty_BusStop_List (@ if (is_equal) history.pop(); @) before BusStop_List (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); @) before -> Bus_List, first, Nonempty_Bus_List (@ if (is_equal) { Bus_List obj = (Bus_List) history.peek(); history.push(obj.get_first()); } @) after -> Bus_List, first, Nonempty_Bus_List (@ if (is_equal) history.pop(); @) before Bus_List (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); @) before -> Person_List, first, Nonempty_Person_List (@ if (is_equal) { Person_List obj = (Person_List) history.peek(); history.push(obj.get_first()); } @) after -> Person_List, first, Nonempty_Person_List (@ if (is_equal) history.pop(); @) before Person_List (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); @) before -> Nonempty_BusStop_List, it, BusStop (@ if (is_equal) { Nonempty_BusStop_List obj = (Nonempty_BusStop_List) history.peek(); history.push(obj.get_it()); } @) after -> Nonempty_BusStop_List, it, BusStop (@ if (is_equal) history.pop(); @) before -> Nonempty_BusStop_List, next, Nonempty_BusStop_List (@ if (is_equal) { Nonempty_BusStop_List obj = (Nonempty_BusStop_List) history.peek(); history.push(obj.get_next()); } @) after -> Nonempty_BusStop_List, next, Nonempty_BusStop_List (@ if (is_equal) history.pop(); @) before Nonempty_BusStop_List (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); @) before -> Nonempty_Bus_List, it, Bus (@ if (is_equal) { Nonempty_Bus_List obj = (Nonempty_Bus_List) history.peek(); history.push(obj.get_it()); } @) after -> Nonempty_Bus_List, it, Bus (@ if (is_equal) history.pop(); @) before -> Nonempty_Bus_List, next, Nonempty_Bus_List (@ if (is_equal) { Nonempty_Bus_List obj = (Nonempty_Bus_List) history.peek(); history.push(obj.get_next()); } @) after -> Nonempty_Bus_List, next, Nonempty_Bus_List (@ if (is_equal) history.pop(); @) before Nonempty_Bus_List (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); @) before -> Nonempty_Person_List, it, Person (@ if (is_equal) { Nonempty_Person_List obj = (Nonempty_Person_List) history.peek(); history.push(obj.get_it()); } @) after -> Nonempty_Person_List, it, Person (@ if (is_equal) history.pop(); @) before -> Nonempty_Person_List, next, Nonempty_Person_List (@ if (is_equal) { Nonempty_Person_List obj = (Nonempty_Person_List) history.peek(); history.push(obj.get_next()); } @) after -> Nonempty_Person_List, next, Nonempty_Person_List (@ if (is_equal) history.pop(); @) before Nonempty_Person_List (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); @) return boolean (@ is_equal @) }