From 57f45b0409d5363782052183bb090175c469f89a Mon Sep 17 00:00:00 2001 From: jeff Date: Mon, 4 Aug 2014 00:26:48 -0400 Subject: added stable save order for mappings to hopefully help with merging added color-coding for source identifiers redesigned rename GUI customized editor pane, added popup menu finished name validation added last-chance save on window close --- src/cuchaz/enigma/mapping/MappingsWriter.java | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) (limited to 'src/cuchaz/enigma/mapping/MappingsWriter.java') diff --git a/src/cuchaz/enigma/mapping/MappingsWriter.java b/src/cuchaz/enigma/mapping/MappingsWriter.java index 2086368..a97052f 100644 --- a/src/cuchaz/enigma/mapping/MappingsWriter.java +++ b/src/cuchaz/enigma/mapping/MappingsWriter.java @@ -13,6 +13,9 @@ package cuchaz.enigma.mapping; import java.io.IOException; import java.io.PrintWriter; import java.io.Writer; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; public class MappingsWriter { @@ -25,7 +28,7 @@ public class MappingsWriter public void write( PrintWriter out, Mappings mappings ) throws IOException { - for( ClassMapping classMapping : mappings.classes() ) + for( ClassMapping classMapping : sorted( mappings.classes() ) ) { write( out, classMapping ); } @@ -36,12 +39,12 @@ public class MappingsWriter { out.format( "CLASS %s %s\n", classMapping.getObfName(), classMapping.getDeobfName() ); - for( FieldMapping fieldMapping : classMapping.fields() ) + for( FieldMapping fieldMapping : sorted( classMapping.fields() ) ) { write( out, fieldMapping ); } - for( MethodMapping methodMapping : classMapping.methods() ) + for( MethodMapping methodMapping : sorted( classMapping.methods() ) ) { write( out, methodMapping ); } @@ -61,7 +64,7 @@ public class MappingsWriter methodMapping.getObfSignature(), methodMapping.getDeobfSignature() ); - for( ArgumentMapping argumentMapping : methodMapping.arguments() ) + for( ArgumentMapping argumentMapping : sorted( methodMapping.arguments() ) ) { write( out, argumentMapping ); } @@ -72,4 +75,15 @@ public class MappingsWriter { out.format( "\t\tARG %d %s\n", argumentMapping.getIndex(), argumentMapping.getName() ); } + + private > List sorted( Iterable classes ) + { + List out = new ArrayList(); + for( T t : classes ) + { + out.add( t ); + } + Collections.sort( out ); + return out; + } } -- cgit v1.2.3