summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar jeff2014-08-26 17:40:47 -0400
committerGravatar jeff2014-08-26 17:40:47 -0400
commit8b09cdca4fd00703fdd6c09144ad4543e5c45862 (patch)
treeb23ed65c1d574c26e89491af5667df3f92e25889 /src
parentimplemented proper support for interfaces (diff)
downloadenigma-fork-8b09cdca4fd00703fdd6c09144ad4543e5c45862.tar.gz
enigma-fork-8b09cdca4fd00703fdd6c09144ad4543e5c45862.tar.xz
enigma-fork-8b09cdca4fd00703fdd6c09144ad4543e5c45862.zip
fix bug with inner class names
Diffstat (limited to 'src')
-rw-r--r--src/cuchaz/enigma/analysis/JarIndex.java2
-rw-r--r--src/cuchaz/enigma/mapping/ClassEntry.java7
2 files changed, 7 insertions, 2 deletions
diff --git a/src/cuchaz/enigma/analysis/JarIndex.java b/src/cuchaz/enigma/analysis/JarIndex.java
index eaf6352..947453e 100644
--- a/src/cuchaz/enigma/analysis/JarIndex.java
+++ b/src/cuchaz/enigma/analysis/JarIndex.java
@@ -136,7 +136,7 @@ public class JarIndex
136 Map<String,String> renames = Maps.newHashMap(); 136 Map<String,String> renames = Maps.newHashMap();
137 for( Map.Entry<String,String> entry : m_outerClasses.entrySet() ) 137 for( Map.Entry<String,String> entry : m_outerClasses.entrySet() )
138 { 138 {
139 renames.put( entry.getKey(), entry.getValue() + "$" + entry.getKey() ); 139 renames.put( entry.getKey(), entry.getValue() + "$" + new ClassEntry( entry.getKey() ).getSimpleName() );
140 } 140 }
141 renameClasses( renames ); 141 renameClasses( renames );
142 142
diff --git a/src/cuchaz/enigma/mapping/ClassEntry.java b/src/cuchaz/enigma/mapping/ClassEntry.java
index fdb7c2c..f87ddc1 100644
--- a/src/cuchaz/enigma/mapping/ClassEntry.java
+++ b/src/cuchaz/enigma/mapping/ClassEntry.java
@@ -25,12 +25,17 @@ public class ClassEntry implements Entry, Serializable
25 { 25 {
26 throw new IllegalArgumentException( "Class name cannot be null!" ); 26 throw new IllegalArgumentException( "Class name cannot be null!" );
27 } 27 }
28 if( className.contains( "." ) ) 28 if( className.indexOf( '.' ) >= 0 )
29 { 29 {
30 throw new IllegalArgumentException( "Class name must be in JVM format. ie, path/to/package/class$inner" ); 30 throw new IllegalArgumentException( "Class name must be in JVM format. ie, path/to/package/class$inner" );
31 } 31 }
32 32
33 m_name = className; 33 m_name = className;
34
35 if( isInnerClass() && getInnerClassName().indexOf( '/' ) >= 0 )
36 {
37 throw new IllegalArgumentException( "Inner cast must not have a package: " + getInnerClassName() );
38 }
34 } 39 }
35 40
36 public ClassEntry( ClassEntry other ) 41 public ClassEntry( ClassEntry other )