From 8b09cdca4fd00703fdd6c09144ad4543e5c45862 Mon Sep 17 00:00:00 2001 From: jeff Date: Tue, 26 Aug 2014 17:40:47 -0400 Subject: fix bug with inner class names --- src/cuchaz/enigma/analysis/JarIndex.java | 2 +- src/cuchaz/enigma/mapping/ClassEntry.java | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'src') 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 Map renames = Maps.newHashMap(); for( Map.Entry entry : m_outerClasses.entrySet() ) { - renames.put( entry.getKey(), entry.getValue() + "$" + entry.getKey() ); + renames.put( entry.getKey(), entry.getValue() + "$" + new ClassEntry( entry.getKey() ).getSimpleName() ); } renameClasses( renames ); 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 { throw new IllegalArgumentException( "Class name cannot be null!" ); } - if( className.contains( "." ) ) + if( className.indexOf( '.' ) >= 0 ) { throw new IllegalArgumentException( "Class name must be in JVM format. ie, path/to/package/class$inner" ); } m_name = className; + + if( isInnerClass() && getInnerClassName().indexOf( '/' ) >= 0 ) + { + throw new IllegalArgumentException( "Inner cast must not have a package: " + getInnerClassName() ); + } } public ClassEntry( ClassEntry other ) -- cgit v1.2.3