// This file is automatically generated by DemeterJ. EqualVisitor { {{ private java.util.Stack history = new java.util.Stack(); public EqualVisitor(Object obj) { history.push(obj); } }} before -> Main, c, Container {{ if (is_equal) { Main obj = (Main) history.peek(); Object temp1 = obj.get_c(); if(temp1==null) { is_equal = false; return; } history.push(temp1); } }} after -> Main, c, Container {{ if (is_equal) history.pop(); }} before Main {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Container, noise3, Noise3 {{ if (is_equal) { Container obj = (Container) history.peek(); Object temp2 = obj.get_noise3(); if(temp2==null) { is_equal = false; return; } history.push(temp2); } }} after -> Container, noise3, Noise3 {{ if (is_equal) history.pop(); }} before Container {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; is_equal = is_equal && host.get_cap() == ((Container) obj).get_cap(); }} before -> Noise3, items, ItemList {{ if (is_equal) { Noise3 obj = (Noise3) history.peek(); Object temp3 = obj.get_items(); if(temp3==null) { is_equal = false; return; } history.push(temp3); } }} after -> Noise3, items, ItemList {{ if (is_equal) history.pop(); }} before -> Noise3, noise4, OptItem {{ if (is_equal) { Noise3 obj = (Noise3) history.peek(); Object temp4 = obj.get_noise4(); if(temp4==null) { is_equal = false; return; } history.push(temp4); } }} after -> Noise3, noise4, OptItem {{ if (is_equal) history.pop(); }} before Noise3 {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before OptItem {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Item2, item, Item {{ if (is_equal) { Item2 obj = (Item2) history.peek(); Object temp5 = obj.get_item(); if(temp5==null) { is_equal = false; return; } history.push(temp5); } }} after -> Item2, item, Item {{ if (is_equal) history.pop(); }} before Item2 {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before EmptyItem {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before ItemList {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> ItemCons, first, Item {{ if (is_equal) { ItemCons obj = (ItemCons) history.peek(); Object temp6 = obj.get_first(); if(temp6==null) { is_equal = false; return; } history.push(temp6); } }} after -> ItemCons, first, Item {{ if (is_equal) history.pop(); }} before -> ItemCons, rest, ItemList {{ if (is_equal) { ItemCons obj = (ItemCons) history.peek(); Object temp7 = obj.get_rest(); if(temp7==null) { is_equal = false; return; } history.push(temp7); } }} after -> ItemCons, rest, ItemList {{ if (is_equal) history.pop(); }} before ItemCons {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before ItemEmpty {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before Item {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Noise1, noise0, Element {{ if (is_equal) { Noise1 obj = (Noise1) history.peek(); Object temp8 = obj.get_noise0(); if(temp8==null) { is_equal = false; return; } history.push(temp8); } }} after -> Noise1, noise0, Element {{ if (is_equal) history.pop(); }} before -> Noise1, noise1, Element {{ if (is_equal) { Noise1 obj = (Noise1) history.peek(); Object temp9 = obj.get_noise1(); if(temp9==null) { is_equal = false; return; } history.push(temp9); } }} after -> Noise1, noise1, Element {{ if (is_equal) history.pop(); }} before Noise1 {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Noise2, noise2, Container {{ if (is_equal) { Noise2 obj = (Noise2) history.peek(); Object temp10 = obj.get_noise2(); if(temp10==null) { is_equal = false; return; } history.push(temp10); } }} after -> Noise2, noise2, Container {{ if (is_equal) history.pop(); }} before Noise2 {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before Element {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; is_equal = is_equal && host.get_weight() == ((Element) obj).get_weight(); }} before Pair {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; is_equal = is_equal && host.get_w() == ((Pair) obj).get_w(); is_equal = is_equal && host.get_v() == ((Pair) obj).get_v(); }} 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 temp11 = host.get_copy(); Object temp12 = ((CopyVisitor) obj).get_copy(); if(temp11 == null && temp12 == null) {} else if(temp11 == null || temp12 == null || !temp11.equals(temp12)) { 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; }} return boolean {{ is_equal }} }