// This file is automatically generated by Demeter/Java. SubgraphVisitor { (@ private java.util.Stack history = new java.util.Stack(); public SubgraphVisitor(Object obj) { history.push(obj); } @) before -> CommandList, first, Nonempty_CommandList (@ if (is_equal) { CommandList obj = (CommandList) history.peek(); Object temp1 = obj.get_first(); if(temp1==null) { is_equal = false; return; } history.push(temp1); } @) after -> CommandList, first, Nonempty_CommandList (@ if (is_equal) history.pop(); @) before CommandList (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; @) before Command (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; @) before Simple (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; @) before -> MakeDirectory, directoryname, DirectoryName (@ if (is_equal) { MakeDirectory obj = (MakeDirectory) history.peek(); Object temp2 = obj.get_directoryname(); if(temp2==null) { is_equal = false; return; } history.push(temp2); } @) after -> MakeDirectory, directoryname, DirectoryName (@ if (is_equal) history.pop(); @) before MakeDirectory (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; @) before ChangeDirectoryUp (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; @) before -> ChangeDirectoryDown, directoryname, DirectoryName (@ if (is_equal) { ChangeDirectoryDown obj = (ChangeDirectoryDown) history.peek(); Object temp3 = obj.get_directoryname(); if(temp3==null) { is_equal = false; return; } history.push(temp3); } @) after -> ChangeDirectoryDown, directoryname, DirectoryName (@ if (is_equal) history.pop(); @) before ChangeDirectoryDown (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; @) before RecursiveCopy (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; @) before DiskUsage (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; @) before -> Find, directoryname, DirectoryName (@ if (is_equal) { Find obj = (Find) history.peek(); Object temp4 = obj.get_directoryname(); if(temp4==null) { is_equal = false; return; } history.push(temp4); } @) after -> Find, directoryname, DirectoryName (@ if (is_equal) history.pop(); @) before Find (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; @) before -> Echo, message, Message (@ if (is_equal) { Echo obj = (Echo) history.peek(); Object temp5 = obj.get_message(); if(temp5==null) { is_equal = false; return; } history.push(temp5); } @) after -> Echo, message, Message (@ if (is_equal) history.pop(); @) before Echo (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; @) before DirectoryName (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; Object temp6 = host.get_ident(); Object temp7 = ((DirectoryName) obj).get_ident(); if(temp6 == null && temp7 == null) {} else if(temp6 == null || temp7 == null || !temp6.equals(temp7)) { is_equal = false; return; } @) before Message (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; Object temp8 = host.get_string(); Object temp9 = ((Message) obj).get_string(); if(temp8 == null && temp9 == null) {} else if(temp8 == null || temp9 == null || !temp8.equals(temp9)) { is_equal = false; return; } @) before -> Compound, c1, Command (@ if (is_equal) { Compound obj = (Compound) history.peek(); Object temp10 = obj.get_c1(); if(temp10==null) { is_equal = false; return; } history.push(temp10); } @) after -> Compound, c1, Command (@ if (is_equal) history.pop(); @) before -> Compound, c2, Command (@ if (is_equal) { Compound obj = (Compound) history.peek(); Object temp11 = obj.get_c2(); if(temp11==null) { is_equal = false; return; } history.push(temp11); } @) after -> Compound, c2, Command (@ if (is_equal) history.pop(); @) before Compound (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; @) before File (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; @) before -> SimpleFile, filename, FileName (@ if (is_equal) { SimpleFile obj = (SimpleFile) history.peek(); Object temp12 = obj.get_filename(); if(temp12==null) { is_equal = false; return; } history.push(temp12); } @) after -> SimpleFile, filename, FileName (@ if (is_equal) history.pop(); @) before SimpleFile (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; @) before -> CompoundFile, filename, FileName (@ if (is_equal) { CompoundFile obj = (CompoundFile) history.peek(); Object temp13 = obj.get_filename(); if(temp13==null) { is_equal = false; return; } history.push(temp13); } @) after -> CompoundFile, filename, FileName (@ if (is_equal) history.pop(); @) before -> CompoundFile, contents, File_List (@ if (is_equal) { CompoundFile obj = (CompoundFile) history.peek(); Object temp14 = obj.get_contents(); if(temp14==null) { is_equal = false; return; } history.push(temp14); } @) after -> CompoundFile, contents, File_List (@ if (is_equal) history.pop(); @) before CompoundFile (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; @) before FileName (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; Object temp15 = host.get_ident(); Object temp16 = ((FileName) obj).get_ident(); if(temp15 == null && temp16 == null) {} else if(temp15 == null || temp16 == null || !temp15.equals(temp16)) { is_equal = false; return; } @) before Main (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) 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 temp17 = host.get_copy(); Object temp18 = ((CopyVisitor) obj).get_copy(); if(temp17 == null && temp18 == null) {} else if(temp17 == null || temp18 == null || !temp17.equals(temp18)) { 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 -> File_List, first, Nonempty_File_List (@ if (is_equal) { File_List obj = (File_List) history.peek(); Object temp19 = obj.get_first(); if(temp19==null) { is_equal = false; return; } history.push(temp19); } @) after -> File_List, first, Nonempty_File_List (@ if (is_equal) history.pop(); @) before File_List (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; @) before -> Nonempty_CommandList, it, Command (@ if (is_equal) { Nonempty_CommandList obj = (Nonempty_CommandList) history.peek(); Object temp20 = obj.get_it(); if(temp20==null) { is_equal = false; return; } history.push(temp20); } @) after -> Nonempty_CommandList, it, Command (@ if (is_equal) history.pop(); @) before -> Nonempty_CommandList, next, Nonempty_CommandList (@ if (is_equal) { Nonempty_CommandList obj = (Nonempty_CommandList) history.peek(); Object temp21 = obj.get_next(); if(temp21==null) { is_equal = false; return; } history.push(temp21); } @) after -> Nonempty_CommandList, next, Nonempty_CommandList (@ if (is_equal) history.pop(); @) before Nonempty_CommandList (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; @) before -> Nonempty_File_List, it, File (@ if (is_equal) { Nonempty_File_List obj = (Nonempty_File_List) history.peek(); Object temp22 = obj.get_it(); if(temp22==null) { is_equal = false; return; } history.push(temp22); } @) after -> Nonempty_File_List, it, File (@ if (is_equal) history.pop(); @) before -> Nonempty_File_List, next, Nonempty_File_List (@ if (is_equal) { Nonempty_File_List obj = (Nonempty_File_List) history.peek(); Object temp23 = obj.get_next(); if(temp23==null) { is_equal = false; return; } history.push(temp23); } @) after -> Nonempty_File_List, next, Nonempty_File_List (@ if (is_equal) history.pop(); @) before Nonempty_File_List (@ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; @) return boolean (@ is_equal @) }