// This file is automatically generated by DemeterJ. SubgraphVisitor { {{ private java.util.Stack history = new java.util.Stack(); public SubgraphVisitor(Object obj) { history.push(obj); } }} before Main {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Histories, newstrategy_plist, NewStrategy_PList {{ if (is_equal) { Histories obj = (Histories) history.peek(); Object temp1 = obj.get_newstrategy_plist(); if(temp1==null) { is_equal = false; return; } history.push(temp1); } }} after -> Histories, newstrategy_plist, NewStrategy_PList {{ if (is_equal) history.pop(); }} before -> Histories, historypcd_plist, HistoryPcd_PList {{ if (is_equal) { Histories obj = (Histories) history.peek(); Object temp2 = obj.get_historypcd_plist(); if(temp2==null) { is_equal = false; return; } history.push(temp2); } }} after -> Histories, historypcd_plist, HistoryPcd_PList {{ if (is_equal) history.pop(); }} before Histories {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> HistoryPcd, newstrategy, NewStrategy {{ if (is_equal) { HistoryPcd obj = (HistoryPcd) history.peek(); Object temp3 = obj.get_newstrategy(); if(temp3==null) { is_equal = false; return; } history.push(temp3); } }} after -> HistoryPcd, newstrategy, NewStrategy {{ if (is_equal) history.pop(); }} before HistoryPcd {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before NewStrategy {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before PrimitiveNewStrategy {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Entry, pointcut, Pointcut {{ if (is_equal) { Entry obj = (Entry) history.peek(); Object temp4 = obj.get_pointcut(); if(temp4==null) { is_equal = false; return; } history.push(temp4); } }} after -> Entry, pointcut, Pointcut {{ if (is_equal) history.pop(); }} before Entry {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Exit, pointcut, Pointcut {{ if (is_equal) { Exit obj = (Exit) history.peek(); Object temp5 = obj.get_pointcut(); if(temp5==null) { is_equal = false; return; } history.push(temp5); } }} after -> Exit, pointcut, Pointcut {{ if (is_equal) history.pop(); }} before Exit {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Pointcut, pointcutname, PointcutName {{ if (is_equal) { Pointcut obj = (Pointcut) history.peek(); Object temp6 = obj.get_pointcutname(); if(temp6==null) { is_equal = false; return; } history.push(temp6); } }} after -> Pointcut, pointcutname, PointcutName {{ if (is_equal) history.pop(); }} before Pointcut {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before CompositeNewStrategy {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before NamedNewStrategy {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> AbstractNewStrategy, modifiers, Modifiers {{ if (is_equal) { AbstractNewStrategy obj = (AbstractNewStrategy) history.peek(); Object temp7 = obj.get_modifiers(); if(temp7==null) { is_equal = false; return; } history.push(temp7); } }} after -> AbstractNewStrategy, modifiers, Modifiers {{ if (is_equal) history.pop(); }} before -> AbstractNewStrategy, newstrategyname, NewStrategyName {{ if (is_equal) { AbstractNewStrategy obj = (AbstractNewStrategy) history.peek(); Object temp8 = obj.get_newstrategyname(); if(temp8==null) { is_equal = false; return; } history.push(temp8); } }} after -> AbstractNewStrategy, newstrategyname, NewStrategyName {{ if (is_equal) history.pop(); }} before -> AbstractNewStrategy, formals, Formals {{ if (is_equal) { AbstractNewStrategy obj = (AbstractNewStrategy) history.peek(); Object temp9 = obj.get_formals(); if(temp9==null) { is_equal = false; return; } history.push(temp9); } }} after -> AbstractNewStrategy, formals, Formals {{ if (is_equal) history.pop(); }} before AbstractNewStrategy {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> ConcreteNewStrategy, modifiers, Modifiers {{ if (is_equal) { ConcreteNewStrategy obj = (ConcreteNewStrategy) history.peek(); Object temp10 = obj.get_modifiers(); if(temp10==null) { is_equal = false; return; } history.push(temp10); } }} after -> ConcreteNewStrategy, modifiers, Modifiers {{ if (is_equal) history.pop(); }} before -> ConcreteNewStrategy, newstrategyname, NewStrategyName {{ if (is_equal) { ConcreteNewStrategy obj = (ConcreteNewStrategy) history.peek(); Object temp11 = obj.get_newstrategyname(); if(temp11==null) { is_equal = false; return; } history.push(temp11); } }} after -> ConcreteNewStrategy, newstrategyname, NewStrategyName {{ if (is_equal) history.pop(); }} before -> ConcreteNewStrategy, formals, Formals {{ if (is_equal) { ConcreteNewStrategy obj = (ConcreteNewStrategy) history.peek(); Object temp12 = obj.get_formals(); if(temp12==null) { is_equal = false; return; } history.push(temp12); } }} after -> ConcreteNewStrategy, formals, Formals {{ if (is_equal) history.pop(); }} before -> ConcreteNewStrategy, orderednewstrategy_barlist, OrderedNewStrategy_BarList {{ if (is_equal) { ConcreteNewStrategy obj = (ConcreteNewStrategy) history.peek(); Object temp13 = obj.get_orderednewstrategy_barlist(); if(temp13==null) { is_equal = false; return; } history.push(temp13); } }} after -> ConcreteNewStrategy, orderednewstrategy_barlist, OrderedNewStrategy_BarList {{ if (is_equal) history.pop(); }} before ConcreteNewStrategy {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> NamedNewStrategyRef, newstrategyname, NewStrategyName {{ if (is_equal) { NamedNewStrategyRef obj = (NamedNewStrategyRef) history.peek(); Object temp14 = obj.get_newstrategyname(); if(temp14==null) { is_equal = false; return; } history.push(temp14); } }} after -> NamedNewStrategyRef, newstrategyname, NewStrategyName {{ if (is_equal) history.pop(); }} before -> NamedNewStrategyRef, actuals, Actuals {{ if (is_equal) { NamedNewStrategyRef obj = (NamedNewStrategyRef) history.peek(); Object temp15 = obj.get_actuals(); if(temp15==null) { is_equal = false; return; } history.push(temp15); } }} after -> NamedNewStrategyRef, actuals, Actuals {{ if (is_equal) history.pop(); }} before NamedNewStrategyRef {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> OrderedNewStrategy, newstrategy_plist, NewStrategy_PList {{ if (is_equal) { OrderedNewStrategy obj = (OrderedNewStrategy) history.peek(); Object temp16 = obj.get_newstrategy_plist(); if(temp16==null) { is_equal = false; return; } history.push(temp16); } }} after -> OrderedNewStrategy, newstrategy_plist, NewStrategy_PList {{ if (is_equal) history.pop(); }} before OrderedNewStrategy {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> OptionalNewStrategy, newstrategy, NewStrategy {{ if (is_equal) { OptionalNewStrategy obj = (OptionalNewStrategy) history.peek(); Object temp17 = obj.get_newstrategy(); if(temp17==null) { is_equal = false; return; } history.push(temp17); } }} after -> OptionalNewStrategy, newstrategy, NewStrategy {{ if (is_equal) history.pop(); }} before OptionalNewStrategy {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> ZeroOrMoreNewStrategy, newstrategy, NewStrategy {{ if (is_equal) { ZeroOrMoreNewStrategy obj = (ZeroOrMoreNewStrategy) history.peek(); Object temp18 = obj.get_newstrategy(); if(temp18==null) { is_equal = false; return; } history.push(temp18); } }} after -> ZeroOrMoreNewStrategy, newstrategy, NewStrategy {{ if (is_equal) history.pop(); }} before ZeroOrMoreNewStrategy {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before Modifiers {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Formals, pair_clist, Pair_CList {{ if (is_equal) { Formals obj = (Formals) history.peek(); Object temp19 = obj.get_pair_clist(); if(temp19==null) { is_equal = false; return; } history.push(temp19); } }} after -> Formals, pair_clist, Pair_CList {{ if (is_equal) history.pop(); }} before Formals {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Pair, typename, TypeName {{ if (is_equal) { Pair obj = (Pair) history.peek(); Object temp20 = obj.get_typename(); if(temp20==null) { is_equal = false; return; } history.push(temp20); } }} after -> Pair, typename, TypeName {{ if (is_equal) history.pop(); }} before -> Pair, variablename, VariableName {{ if (is_equal) { Pair obj = (Pair) history.peek(); Object temp21 = obj.get_variablename(); if(temp21==null) { is_equal = false; return; } history.push(temp21); } }} after -> Pair, variablename, VariableName {{ if (is_equal) history.pop(); }} before Pair {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before TypeName {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; Object temp22 = host.get_ident(); Object temp23 = ((TypeName) obj).get_ident(); if(temp22 == null && temp23 == null) {} else if(temp22 == null || temp23 == null || !temp22.equals(temp23)) { is_equal = false; return; } }} before VariableName {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; Object temp24 = host.get_ident(); Object temp25 = ((VariableName) obj).get_ident(); if(temp24 == null && temp25 == null) {} else if(temp24 == null || temp25 == null || !temp24.equals(temp25)) { is_equal = false; return; } }} before Actuals {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before NewStrategyName {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; Object temp26 = host.get_ident(); Object temp27 = ((NewStrategyName) obj).get_ident(); if(temp26 == null && temp27 == null) {} else if(temp26 == null || temp27 == null || !temp26.equals(temp27)) { is_equal = false; return; } }} before PointcutName {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; Object temp28 = host.get_ident(); Object temp29 = ((PointcutName) obj).get_ident(); if(temp28 == null && temp29 == null) {} else if(temp28 == null || temp29 == null || !temp28.equals(temp29)) { is_equal = false; return; } }} before PrintVisitor {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; is_equal = is_equal && host.get_indent() == ((PrintVisitor) obj).get_indent(); is_equal = is_equal && host.get_needSpace() == ((PrintVisitor) obj).get_needSpace(); }} before CopyVisitor {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; Object temp30 = host.get_copy(); Object temp31 = ((CopyVisitor) obj).get_copy(); if(temp30 == null && temp31 == null) {} else if(temp30 == null || temp31 == null || !temp30.equals(temp31)) { is_equal = false; return; } }} before SubgraphVisitor {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; is_equal = is_equal && host.get_is_equal() == ((SubgraphVisitor) obj).get_is_equal(); }} before EqualVisitor {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; is_equal = is_equal && host.get_is_equal() == ((EqualVisitor) obj).get_is_equal(); }} before DisplayVisitor {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; is_equal = is_equal && host.get_indent() == ((DisplayVisitor) obj).get_indent(); }} before TraceVisitor {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; is_equal = is_equal && host.get_indent() == ((TraceVisitor) obj).get_indent(); }} before UniversalVisitor {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> NewStrategy_PList, first, Nonempty_NewStrategy_PList {{ if (is_equal) { NewStrategy_PList obj = (NewStrategy_PList) history.peek(); Object temp32 = obj.get_first(); if(temp32==null) { is_equal = false; return; } history.push(temp32); } }} after -> NewStrategy_PList, first, Nonempty_NewStrategy_PList {{ if (is_equal) history.pop(); }} before NewStrategy_PList {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> HistoryPcd_PList, first, Nonempty_HistoryPcd_PList {{ if (is_equal) { HistoryPcd_PList obj = (HistoryPcd_PList) history.peek(); Object temp33 = obj.get_first(); if(temp33==null) { is_equal = false; return; } history.push(temp33); } }} after -> HistoryPcd_PList, first, Nonempty_HistoryPcd_PList {{ if (is_equal) history.pop(); }} before HistoryPcd_PList {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> OrderedNewStrategy_BarList, first, Nonempty_OrderedNewStrategy_BarList {{ if (is_equal) { OrderedNewStrategy_BarList obj = (OrderedNewStrategy_BarList) history.peek(); Object temp34 = obj.get_first(); if(temp34==null) { is_equal = false; return; } history.push(temp34); } }} after -> OrderedNewStrategy_BarList, first, Nonempty_OrderedNewStrategy_BarList {{ if (is_equal) history.pop(); }} before OrderedNewStrategy_BarList {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Pair_CList, first, Nonempty_Pair_CList {{ if (is_equal) { Pair_CList obj = (Pair_CList) history.peek(); Object temp35 = obj.get_first(); if(temp35==null) { is_equal = false; return; } history.push(temp35); } }} after -> Pair_CList, first, Nonempty_Pair_CList {{ if (is_equal) history.pop(); }} before Pair_CList {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Nonempty_NewStrategy_PList, it, NewStrategy {{ if (is_equal) { Nonempty_NewStrategy_PList obj = (Nonempty_NewStrategy_PList) history.peek(); Object temp36 = obj.get_it(); if(temp36==null) { is_equal = false; return; } history.push(temp36); } }} after -> Nonempty_NewStrategy_PList, it, NewStrategy {{ if (is_equal) history.pop(); }} before -> Nonempty_NewStrategy_PList, next, Nonempty_NewStrategy_PList {{ if (is_equal) { Nonempty_NewStrategy_PList obj = (Nonempty_NewStrategy_PList) history.peek(); Object temp37 = obj.get_next(); if(temp37==null) { is_equal = false; return; } history.push(temp37); } }} after -> Nonempty_NewStrategy_PList, next, Nonempty_NewStrategy_PList {{ if (is_equal) history.pop(); }} before Nonempty_NewStrategy_PList {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Nonempty_HistoryPcd_PList, it, HistoryPcd {{ if (is_equal) { Nonempty_HistoryPcd_PList obj = (Nonempty_HistoryPcd_PList) history.peek(); Object temp38 = obj.get_it(); if(temp38==null) { is_equal = false; return; } history.push(temp38); } }} after -> Nonempty_HistoryPcd_PList, it, HistoryPcd {{ if (is_equal) history.pop(); }} before -> Nonempty_HistoryPcd_PList, next, Nonempty_HistoryPcd_PList {{ if (is_equal) { Nonempty_HistoryPcd_PList obj = (Nonempty_HistoryPcd_PList) history.peek(); Object temp39 = obj.get_next(); if(temp39==null) { is_equal = false; return; } history.push(temp39); } }} after -> Nonempty_HistoryPcd_PList, next, Nonempty_HistoryPcd_PList {{ if (is_equal) history.pop(); }} before Nonempty_HistoryPcd_PList {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Nonempty_OrderedNewStrategy_BarList, it, OrderedNewStrategy {{ if (is_equal) { Nonempty_OrderedNewStrategy_BarList obj = (Nonempty_OrderedNewStrategy_BarList) history.peek(); Object temp40 = obj.get_it(); if(temp40==null) { is_equal = false; return; } history.push(temp40); } }} after -> Nonempty_OrderedNewStrategy_BarList, it, OrderedNewStrategy {{ if (is_equal) history.pop(); }} before -> Nonempty_OrderedNewStrategy_BarList, next, Nonempty_OrderedNewStrategy_BarList {{ if (is_equal) { Nonempty_OrderedNewStrategy_BarList obj = (Nonempty_OrderedNewStrategy_BarList) history.peek(); Object temp41 = obj.get_next(); if(temp41==null) { is_equal = false; return; } history.push(temp41); } }} after -> Nonempty_OrderedNewStrategy_BarList, next, Nonempty_OrderedNewStrategy_BarList {{ if (is_equal) history.pop(); }} before Nonempty_OrderedNewStrategy_BarList {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Nonempty_Pair_CList, it, Pair {{ if (is_equal) { Nonempty_Pair_CList obj = (Nonempty_Pair_CList) history.peek(); Object temp42 = obj.get_it(); if(temp42==null) { is_equal = false; return; } history.push(temp42); } }} after -> Nonempty_Pair_CList, it, Pair {{ if (is_equal) history.pop(); }} before -> Nonempty_Pair_CList, next, Nonempty_Pair_CList {{ if (is_equal) { Nonempty_Pair_CList obj = (Nonempty_Pair_CList) history.peek(); Object temp43 = obj.get_next(); if(temp43==null) { is_equal = false; return; } history.push(temp43); } }} after -> Nonempty_Pair_CList, next, Nonempty_Pair_CList {{ if (is_equal) history.pop(); }} before Nonempty_Pair_CList {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} return boolean {{ is_equal }} }