diff options
| author | 2014-08-26 17:40:47 -0400 | |
|---|---|---|
| committer | 2014-08-26 17:40:47 -0400 | |
| commit | 8b09cdca4fd00703fdd6c09144ad4543e5c45862 (patch) | |
| tree | b23ed65c1d574c26e89491af5667df3f92e25889 /src | |
| parent | implemented proper support for interfaces (diff) | |
| download | enigma-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.java | 2 | ||||
| -rw-r--r-- | src/cuchaz/enigma/mapping/ClassEntry.java | 7 |
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 ) |