summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build.gradle2
-rw-r--r--readme.txt2
-rw-r--r--src/cuchaz/enigma/Constants.java2
-rw-r--r--src/cuchaz/enigma/Main.java3
-rw-r--r--src/cuchaz/enigma/mapping/ClassMapping.java25
-rw-r--r--src/cuchaz/enigma/mapping/Mappings.java9
-rw-r--r--src/cuchaz/enigma/mapping/MethodMapping.java2
7 files changed, 36 insertions, 9 deletions
diff --git a/build.gradle b/build.gradle
index 77d1524a..6508e982 100644
--- a/build.gradle
+++ b/build.gradle
@@ -19,7 +19,7 @@ targetCompatibility = 1.7
19 19
20group = "com.cuchazinteractive" 20group = "com.cuchazinteractive"
21archivesBaseName = "enigma" 21archivesBaseName = "enigma"
22version = "0.4b" 22version = "0.4.1b"
23 23
24sourceSets 24sourceSets
25{ 25{
diff --git a/readme.txt b/readme.txt
index 7e81fcb5..8e0edaaa 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,5 +1,5 @@
1 1
2Enigma v0.4 beta 2Enigma v0.4.1 beta
3A tool for deobfuscation of Java bytecode 3A tool for deobfuscation of Java bytecode
4 4
5Copyright Jeff Martin, 2014 5Copyright Jeff Martin, 2014
diff --git a/src/cuchaz/enigma/Constants.java b/src/cuchaz/enigma/Constants.java
index 6f6ab315..e407dbd8 100644
--- a/src/cuchaz/enigma/Constants.java
+++ b/src/cuchaz/enigma/Constants.java
@@ -14,7 +14,7 @@ package cuchaz.enigma;
14public class Constants 14public class Constants
15{ 15{
16 public static final String Name = "Enigma"; 16 public static final String Name = "Enigma";
17 public static final String Version = "0.4 beta"; 17 public static final String Version = "0.4.1 beta";
18 public static final String Url = "http://www.cuchazinteractive.com/enigma"; 18 public static final String Url = "http://www.cuchazinteractive.com/enigma";
19 public static final int MiB = 1024*1024; // 1 mebibyte 19 public static final int MiB = 1024*1024; // 1 mebibyte
20 public static final int KiB = 1024; // 1 kebibyte 20 public static final int KiB = 1024; // 1 kebibyte
diff --git a/src/cuchaz/enigma/Main.java b/src/cuchaz/enigma/Main.java
index c69b8907..bbee9024 100644
--- a/src/cuchaz/enigma/Main.java
+++ b/src/cuchaz/enigma/Main.java
@@ -13,7 +13,6 @@ package cuchaz.enigma;
13import java.io.File; 13import java.io.File;
14 14
15import cuchaz.enigma.gui.Gui; 15import cuchaz.enigma.gui.Gui;
16import cuchaz.enigma.mapping.ClassEntry;
17 16
18public class Main 17public class Main
19{ 18{
@@ -33,7 +32,7 @@ public class Main
33 } 32 }
34 33
35 // DEBUG 34 // DEBUG
36 gui.getController().openDeclaration( new ClassEntry( "none/bsp" ) ); 35 //gui.getController().openDeclaration( new ClassEntry( "none/bsp" ) );
37 } 36 }
38 37
39 private static File getFile( String path ) 38 private static File getFile( String path )
diff --git a/src/cuchaz/enigma/mapping/ClassMapping.java b/src/cuchaz/enigma/mapping/ClassMapping.java
index c7f930c6..59365129 100644
--- a/src/cuchaz/enigma/mapping/ClassMapping.java
+++ b/src/cuchaz/enigma/mapping/ClassMapping.java
@@ -129,10 +129,18 @@ public class ClassMapping implements Serializable, Comparable<ClassMapping>
129 129
130 protected void addFieldMapping( FieldMapping fieldMapping ) 130 protected void addFieldMapping( FieldMapping fieldMapping )
131 { 131 {
132 if( m_fieldsByObf.containsKey( fieldMapping.getObfName() ) )
133 {
134 throw new Error( "Already have mapping for " + m_obfName + "." + fieldMapping.getObfName() );
135 }
136 if( m_fieldsByDeobf.containsKey( fieldMapping.getDeobfName() ) )
137 {
138 throw new Error( "Already have mapping for " + m_deobfName + "." + fieldMapping.getDeobfName() );
139 }
132 m_fieldsByObf.put( fieldMapping.getObfName(), fieldMapping ); 140 m_fieldsByObf.put( fieldMapping.getObfName(), fieldMapping );
133 m_fieldsByDeobf.put( fieldMapping.getDeobfName(), fieldMapping ); 141 m_fieldsByDeobf.put( fieldMapping.getDeobfName(), fieldMapping );
142 assert( m_fieldsByObf.size() == m_fieldsByDeobf.size() );
134 } 143 }
135
136 144
137 public String getObfFieldName( String deobfName ) 145 public String getObfFieldName( String deobfName )
138 { 146 {
@@ -179,8 +187,19 @@ public class ClassMapping implements Serializable, Comparable<ClassMapping>
179 187
180 protected void addMethodMapping( MethodMapping methodMapping ) 188 protected void addMethodMapping( MethodMapping methodMapping )
181 { 189 {
182 m_methodsByObf.put( getMethodKey( methodMapping.getObfName(), methodMapping.getObfSignature() ), methodMapping ); 190 String obfKey = getMethodKey( methodMapping.getObfName(), methodMapping.getObfSignature() );
183 m_methodsByDeobf.put( getMethodKey( methodMapping.getDeobfName(), methodMapping.getDeobfSignature() ), methodMapping ); 191 String deobfKey = getMethodKey( methodMapping.getDeobfName(), methodMapping.getDeobfSignature() );
192 if( m_methodsByObf.containsKey( obfKey ) )
193 {
194 throw new Error( "Already have mapping for " + m_obfName + "." + obfKey );
195 }
196 if( m_methodsByDeobf.containsKey( deobfKey ) )
197 {
198 throw new Error( "Already have mapping for " + m_deobfName + "." + deobfKey );
199 }
200 m_methodsByObf.put( obfKey, methodMapping );
201 m_methodsByDeobf.put( deobfKey, methodMapping );
202 assert( m_methodsByObf.size() == m_methodsByDeobf.size() );
184 } 203 }
185 204
186 public MethodMapping getMethodByObf( String obfName, String signature ) 205 public MethodMapping getMethodByObf( String obfName, String signature )
diff --git a/src/cuchaz/enigma/mapping/Mappings.java b/src/cuchaz/enigma/mapping/Mappings.java
index c7cb6a67..f3b8fad1 100644
--- a/src/cuchaz/enigma/mapping/Mappings.java
+++ b/src/cuchaz/enigma/mapping/Mappings.java
@@ -70,8 +70,17 @@ public class Mappings implements Serializable
70 70
71 protected void addClassMapping( ClassMapping classMapping ) 71 protected void addClassMapping( ClassMapping classMapping )
72 { 72 {
73 if( m_classesByObf.containsKey( classMapping.getObfName() ) )
74 {
75 throw new Error( "Already have mapping for " + classMapping.getObfName() );
76 }
77 if( m_classesByDeobf.containsKey( classMapping.getDeobfName() ) )
78 {
79 throw new Error( "Already have mapping for " + classMapping.getDeobfName() );
80 }
73 m_classesByObf.put( classMapping.getObfName(), classMapping ); 81 m_classesByObf.put( classMapping.getObfName(), classMapping );
74 m_classesByDeobf.put( classMapping.getDeobfName(), classMapping ); 82 m_classesByDeobf.put( classMapping.getDeobfName(), classMapping );
83 assert( m_classesByObf.size() == m_classesByDeobf.size() );
75 } 84 }
76 85
77 public ClassMapping getClassByObf( ClassEntry entry ) 86 public ClassMapping getClassByObf( ClassEntry entry )
diff --git a/src/cuchaz/enigma/mapping/MethodMapping.java b/src/cuchaz/enigma/mapping/MethodMapping.java
index 7857ea7e..6e6bec46 100644
--- a/src/cuchaz/enigma/mapping/MethodMapping.java
+++ b/src/cuchaz/enigma/mapping/MethodMapping.java
@@ -137,6 +137,6 @@ public class MethodMapping implements Serializable, Comparable<MethodMapping>
137 @Override 137 @Override
138 public int compareTo( MethodMapping other ) 138 public int compareTo( MethodMapping other )
139 { 139 {
140 return m_obfName.compareTo( other.m_obfName ); 140 return ( m_obfName + m_obfSignature ).compareTo( ( other.m_obfName + other.m_obfSignature ) );
141 } 141 }
142} 142}