// 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 -> TraversalAspectList, traversalaspect_listl, TraversalAspect_ListL {{ if (is_equal) { TraversalAspectList obj = (TraversalAspectList) history.peek(); Object temp1 = obj.get_traversalaspect_listl(); if(temp1==null) { is_equal = false; return; } history.push(temp1); } }} after -> TraversalAspectList, traversalaspect_listl, TraversalAspect_ListL {{ if (is_equal) history.pop(); }} before TraversalAspectList {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> TraversalAspect, aspectname, AspectName {{ if (is_equal) { TraversalAspect obj = (TraversalAspect) history.peek(); Object temp2 = obj.get_aspectname(); if(temp2==null) { is_equal = false; return; } history.push(temp2); } }} after -> TraversalAspect, aspectname, AspectName {{ if (is_equal) history.pop(); }} before -> TraversalAspect, aspectdecl_list, AspectDecl_List {{ if (is_equal) { TraversalAspect obj = (TraversalAspect) history.peek(); Object temp3 = obj.get_aspectdecl_list(); if(temp3==null) { is_equal = false; return; } history.push(temp3); } }} after -> TraversalAspect, aspectdecl_list, AspectDecl_List {{ if (is_equal) history.pop(); }} before TraversalAspect {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before AspectDecl {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> TraversalDecl, tv, TraversalVar {{ if (is_equal) { TraversalDecl obj = (TraversalDecl) history.peek(); Object temp4 = obj.get_tv(); if(temp4==null) { is_equal = false; return; } history.push(temp4); } }} after -> TraversalDecl, tv, TraversalVar {{ if (is_equal) history.pop(); }} before -> TraversalDecl, traversaldecloptions, TraversalDeclOptions {{ if (is_equal) { TraversalDecl obj = (TraversalDecl) history.peek(); Object temp5 = obj.get_traversaldecloptions(); if(temp5==null) { is_equal = false; return; } history.push(temp5); } }} after -> TraversalDecl, traversaldecloptions, TraversalDeclOptions {{ if (is_equal) history.pop(); }} before -> TraversalDecl, ts, TraversalStrategy {{ if (is_equal) { TraversalDecl obj = (TraversalDecl) history.peek(); Object temp6 = obj.get_ts(); if(temp6==null) { is_equal = false; return; } history.push(temp6); } }} after -> TraversalDecl, ts, TraversalStrategy {{ if (is_equal) history.pop(); }} before TraversalDecl {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> TraversalDeclOptions, cgvar, ClassGraphVar {{ if (is_equal) { TraversalDeclOptions obj = (TraversalDeclOptions) history.peek(); Object temp7 = obj.get_cgvar(); if(temp7==null) { is_equal = false; return; } history.push(temp7); } }} after -> TraversalDeclOptions, cgvar, ClassGraphVar {{ if (is_equal) history.pop(); }} before -> TraversalDeclOptions, visitorvar, VisitorVar {{ if (is_equal) { TraversalDeclOptions obj = (TraversalDeclOptions) history.peek(); Object temp8 = obj.get_visitorvar(); if(temp8==null) { is_equal = false; return; } history.push(temp8); } }} after -> TraversalDeclOptions, visitorvar, VisitorVar {{ if (is_equal) history.pop(); }} before TraversalDeclOptions {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before TraversalVar {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; Object temp9 = host.get_i(); Object temp10 = ((TraversalVar) obj).get_i(); if(temp9 == null && temp10 == null) {} else if(temp9 == null || temp10 == null || !temp9.equals(temp10)) { is_equal = false; return; } }} before TraversalStrategy {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; Object temp11 = host.get_s(); Object temp12 = ((TraversalStrategy) obj).get_s(); if(temp11 == null && temp12 == null) {} else if(temp11 == null || temp12 == null || !temp11.equals(temp12)) { is_equal = false; return; } }} before -> VisitorDecl, visitorvar, VisitorVar {{ if (is_equal) { VisitorDecl obj = (VisitorDecl) history.peek(); Object temp13 = obj.get_visitorvar(); if(temp13==null) { is_equal = false; return; } history.push(temp13); } }} after -> VisitorDecl, visitorvar, VisitorVar {{ if (is_equal) history.pop(); }} before VisitorDecl {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before VisitorVar {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; Object temp14 = host.get_ident(); Object temp15 = ((VisitorVar) obj).get_ident(); if(temp14 == null && temp15 == null) {} else if(temp14 == null || temp15 == null || !temp14.equals(temp15)) { is_equal = false; return; } }} before AspectName {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; Object temp16 = host.get_aname(); Object temp17 = ((AspectName) obj).get_aname(); if(temp16 == null && temp17 == null) {} else if(temp16 == null || temp17 == null || !temp16.equals(temp17)) { is_equal = false; return; } }} before ClassGraphDecl {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before ClassGraphVar {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; Object temp18 = host.get_cgName(); Object temp19 = ((ClassGraphVar) obj).get_cgName(); if(temp18 == null && temp19 == null) {} else if(temp18 == null || temp19 == null || !temp18.equals(temp19)) { is_equal = false; return; } }} before -> ClassGraphVarDecl, cgvar, ClassGraphVar {{ if (is_equal) { ClassGraphVarDecl obj = (ClassGraphVarDecl) history.peek(); Object temp20 = obj.get_cgvar(); if(temp20==null) { is_equal = false; return; } history.push(temp20); } }} after -> ClassGraphVarDecl, cgvar, ClassGraphVar {{ if (is_equal) history.pop(); }} before ClassGraphVarDecl {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> DefaultClassGraphDecl, vardecl, ClassGraphVarDecl {{ if (is_equal) { DefaultClassGraphDecl obj = (DefaultClassGraphDecl) history.peek(); Object temp21 = obj.get_vardecl(); if(temp21==null) { is_equal = false; return; } history.push(temp21); } }} after -> DefaultClassGraphDecl, vardecl, ClassGraphVarDecl {{ if (is_equal) history.pop(); }} before DefaultClassGraphDecl {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> ClassGraphSliceDecl, vardecl, ClassGraphVarDecl {{ if (is_equal) { ClassGraphSliceDecl obj = (ClassGraphSliceDecl) history.peek(); Object temp22 = obj.get_vardecl(); if(temp22==null) { is_equal = false; return; } history.push(temp22); } }} after -> ClassGraphSliceDecl, vardecl, ClassGraphVarDecl {{ if (is_equal) history.pop(); }} before -> ClassGraphSliceDecl, ts, TraversalStrategy {{ if (is_equal) { ClassGraphSliceDecl obj = (ClassGraphSliceDecl) history.peek(); Object temp25 = obj.get_ts(); if(temp25==null) { is_equal = false; return; } history.push(temp25); } }} after -> ClassGraphSliceDecl, ts, TraversalStrategy {{ if (is_equal) history.pop(); }} before ClassGraphSliceDecl {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; Object temp23 = host.get_supercg(); Object temp24 = ((ClassGraphSliceDecl) obj).get_supercg(); if(temp23 == null && temp24 == null) {} else if(temp23 == null || temp24 == null || !temp23.equals(temp24)) { is_equal = false; return; } }} before ClassGraphListenerFactory {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before ClassGraphListener {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before MyClassGraphListener {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; Object temp26 = host.get_cgHash(); Object temp27 = ((MyClassGraphListener) obj).get_cgHash(); if(temp26 == null && temp27 == null) {} else if(temp26 == null || temp27 == null || !temp26.equals(temp27)) { is_equal = false; return; } }} before -> VisitorClass, classname, ClassName {{ if (is_equal) { VisitorClass obj = (VisitorClass) history.peek(); Object temp28 = obj.get_classname(); if(temp28==null) { is_equal = false; return; } history.push(temp28); } }} after -> VisitorClass, classname, ClassName {{ if (is_equal) history.pop(); }} before -> VisitorClass, visitormethod_linelist, VisitorMethod_LineList {{ if (is_equal) { VisitorClass obj = (VisitorClass) history.peek(); Object temp29 = obj.get_visitormethod_linelist(); if(temp29==null) { is_equal = false; return; } history.push(temp29); } }} after -> VisitorClass, visitormethod_linelist, VisitorMethod_LineList {{ if (is_equal) history.pop(); }} before VisitorClass {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> VisitorMethod, returntype, ReturnType {{ if (is_equal) { VisitorMethod obj = (VisitorMethod) history.peek(); Object temp30 = obj.get_returntype(); if(temp30==null) { is_equal = false; return; } history.push(temp30); } }} after -> VisitorMethod, returntype, ReturnType {{ if (is_equal) history.pop(); }} before -> VisitorMethod, methodname, MethodName {{ if (is_equal) { VisitorMethod obj = (VisitorMethod) history.peek(); Object temp31 = obj.get_methodname(); if(temp31==null) { is_equal = false; return; } history.push(temp31); } }} after -> VisitorMethod, methodname, MethodName {{ if (is_equal) history.pop(); }} before -> VisitorMethod, adviceargumentlist, AdviceArgumentList {{ if (is_equal) { VisitorMethod obj = (VisitorMethod) history.peek(); Object temp32 = obj.get_adviceargumentlist(); if(temp32==null) { is_equal = false; return; } history.push(temp32); } }} after -> VisitorMethod, adviceargumentlist, AdviceArgumentList {{ if (is_equal) history.pop(); }} before VisitorMethod {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before MethodName {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; Object temp33 = host.get_ident(); Object temp34 = ((MethodName) obj).get_ident(); if(temp33 == null && temp34 == null) {} else if(temp33 == null || temp34 == null || !temp33.equals(temp34)) { is_equal = false; return; } }} before ReturnType {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; Object temp35 = host.get_ident(); Object temp36 = ((ReturnType) obj).get_ident(); if(temp35 == null && temp36 == null) {} else if(temp35 == null || temp36 == null || !temp35.equals(temp36)) { is_equal = false; return; } }} before Argument {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; Object temp37 = host.get_ident(); Object temp38 = ((Argument) obj).get_ident(); if(temp37 == null && temp38 == null) {} else if(temp37 == null || temp38 == null || !temp37.equals(temp38)) { is_equal = false; return; } }} before ClassName {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; Object temp39 = host.get_ident(); Object temp40 = ((ClassName) obj).get_ident(); if(temp39 == null && temp40 == null) {} else if(temp39 == null || temp40 == null || !temp39.equals(temp40)) { is_equal = false; return; } }} before -> AdviceArgumentList, argument_commalist, Argument_CommaList {{ if (is_equal) { AdviceArgumentList obj = (AdviceArgumentList) history.peek(); Object temp41 = obj.get_argument_commalist(); if(temp41==null) { is_equal = false; return; } history.push(temp41); } }} after -> AdviceArgumentList, argument_commalist, Argument_CommaList {{ if (is_equal) history.pop(); }} before AdviceArgumentList {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> StreamFunnel, s1, StreamConnector {{ if (is_equal) { StreamFunnel obj = (StreamFunnel) history.peek(); Object temp42 = obj.get_s1(); if(temp42==null) { is_equal = false; return; } history.push(temp42); } }} after -> StreamFunnel, s1, StreamConnector {{ if (is_equal) history.pop(); }} before -> StreamFunnel, s2, StreamConnector {{ if (is_equal) { StreamFunnel obj = (StreamFunnel) history.peek(); Object temp43 = obj.get_s2(); if(temp43==null) { is_equal = false; return; } history.push(temp43); } }} after -> StreamFunnel, s2, StreamConnector {{ if (is_equal) history.pop(); }} before StreamFunnel {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before StreamConnector {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; Object temp44 = host.get_src(); Object temp45 = ((StreamConnector) obj).get_src(); if(temp44 == null && temp45 == null) {} else if(temp44 == null || temp45 == null || !temp44.equals(temp45)) { is_equal = false; return; } Object temp46 = host.get_target(); Object temp47 = ((StreamConnector) obj).get_target(); if(temp46 == null && temp47 == null) {} else if(temp46 == null || temp47 == null || !temp46.equals(temp47)) { 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 temp48 = host.get_copy(); Object temp49 = ((CopyVisitor) obj).get_copy(); if(temp48 == null && temp49 == null) {} else if(temp48 == null || temp49 == null || !temp48.equals(temp49)) { 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 -> TraversalAspect_ListL, first, Nonempty_TraversalAspect_ListL {{ if (is_equal) { TraversalAspect_ListL obj = (TraversalAspect_ListL) history.peek(); Object temp50 = obj.get_first(); if(temp50==null) { is_equal = false; return; } history.push(temp50); } }} after -> TraversalAspect_ListL, first, Nonempty_TraversalAspect_ListL {{ if (is_equal) history.pop(); }} before TraversalAspect_ListL {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> AspectDecl_List, first, Nonempty_AspectDecl_List {{ if (is_equal) { AspectDecl_List obj = (AspectDecl_List) history.peek(); Object temp51 = obj.get_first(); if(temp51==null) { is_equal = false; return; } history.push(temp51); } }} after -> AspectDecl_List, first, Nonempty_AspectDecl_List {{ if (is_equal) history.pop(); }} before AspectDecl_List {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> VisitorMethod_LineList, first, Nonempty_VisitorMethod_LineList {{ if (is_equal) { VisitorMethod_LineList obj = (VisitorMethod_LineList) history.peek(); Object temp52 = obj.get_first(); if(temp52==null) { is_equal = false; return; } history.push(temp52); } }} after -> VisitorMethod_LineList, first, Nonempty_VisitorMethod_LineList {{ if (is_equal) history.pop(); }} before VisitorMethod_LineList {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Argument_CommaList, first, Nonempty_Argument_CommaList {{ if (is_equal) { Argument_CommaList obj = (Argument_CommaList) history.peek(); Object temp53 = obj.get_first(); if(temp53==null) { is_equal = false; return; } history.push(temp53); } }} after -> Argument_CommaList, first, Nonempty_Argument_CommaList {{ if (is_equal) history.pop(); }} before Argument_CommaList {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Nonempty_TraversalAspect_ListL, it, TraversalAspect {{ if (is_equal) { Nonempty_TraversalAspect_ListL obj = (Nonempty_TraversalAspect_ListL) history.peek(); Object temp54 = obj.get_it(); if(temp54==null) { is_equal = false; return; } history.push(temp54); } }} after -> Nonempty_TraversalAspect_ListL, it, TraversalAspect {{ if (is_equal) history.pop(); }} before -> Nonempty_TraversalAspect_ListL, next, Nonempty_TraversalAspect_ListL {{ if (is_equal) { Nonempty_TraversalAspect_ListL obj = (Nonempty_TraversalAspect_ListL) history.peek(); Object temp55 = obj.get_next(); if(temp55==null) { is_equal = false; return; } history.push(temp55); } }} after -> Nonempty_TraversalAspect_ListL, next, Nonempty_TraversalAspect_ListL {{ if (is_equal) history.pop(); }} before Nonempty_TraversalAspect_ListL {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Nonempty_AspectDecl_List, it, AspectDecl {{ if (is_equal) { Nonempty_AspectDecl_List obj = (Nonempty_AspectDecl_List) history.peek(); Object temp56 = obj.get_it(); if(temp56==null) { is_equal = false; return; } history.push(temp56); } }} after -> Nonempty_AspectDecl_List, it, AspectDecl {{ if (is_equal) history.pop(); }} before -> Nonempty_AspectDecl_List, next, Nonempty_AspectDecl_List {{ if (is_equal) { Nonempty_AspectDecl_List obj = (Nonempty_AspectDecl_List) history.peek(); Object temp57 = obj.get_next(); if(temp57==null) { is_equal = false; return; } history.push(temp57); } }} after -> Nonempty_AspectDecl_List, next, Nonempty_AspectDecl_List {{ if (is_equal) history.pop(); }} before Nonempty_AspectDecl_List {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Nonempty_VisitorMethod_LineList, it, VisitorMethod {{ if (is_equal) { Nonempty_VisitorMethod_LineList obj = (Nonempty_VisitorMethod_LineList) history.peek(); Object temp58 = obj.get_it(); if(temp58==null) { is_equal = false; return; } history.push(temp58); } }} after -> Nonempty_VisitorMethod_LineList, it, VisitorMethod {{ if (is_equal) history.pop(); }} before -> Nonempty_VisitorMethod_LineList, next, Nonempty_VisitorMethod_LineList {{ if (is_equal) { Nonempty_VisitorMethod_LineList obj = (Nonempty_VisitorMethod_LineList) history.peek(); Object temp59 = obj.get_next(); if(temp59==null) { is_equal = false; return; } history.push(temp59); } }} after -> Nonempty_VisitorMethod_LineList, next, Nonempty_VisitorMethod_LineList {{ if (is_equal) history.pop(); }} before Nonempty_VisitorMethod_LineList {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Nonempty_Argument_CommaList, it, Argument {{ if (is_equal) { Nonempty_Argument_CommaList obj = (Nonempty_Argument_CommaList) history.peek(); Object temp60 = obj.get_it(); if(temp60==null) { is_equal = false; return; } history.push(temp60); } }} after -> Nonempty_Argument_CommaList, it, Argument {{ if (is_equal) history.pop(); }} before -> Nonempty_Argument_CommaList, next, Nonempty_Argument_CommaList {{ if (is_equal) { Nonempty_Argument_CommaList obj = (Nonempty_Argument_CommaList) history.peek(); Object temp61 = obj.get_next(); if(temp61==null) { is_equal = false; return; } history.push(temp61); } }} after -> Nonempty_Argument_CommaList, next, Nonempty_Argument_CommaList {{ if (is_equal) history.pop(); }} before Nonempty_Argument_CommaList {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} return boolean {{ is_equal }} }