summaryrefslogtreecommitdiff
path: root/src/cuchaz/enigma/mapping/Translator.java
diff options
context:
space:
mode:
authorGravatar jeff2014-08-18 00:55:30 -0400
committerGravatar jeff2014-08-18 00:55:30 -0400
commit34c1e8e64ec4575527a19fb4cb0640c57da784db (patch)
tree44e3f1d50f8d8b8a9ab7c26dd94b58cba750cc67 /src/cuchaz/enigma/mapping/Translator.java
parentadded support for automatic reconstruction of inner and anonymous classes (diff)
downloadenigma-fork-34c1e8e64ec4575527a19fb4cb0640c57da784db.tar.gz
enigma-fork-34c1e8e64ec4575527a19fb4cb0640c57da784db.tar.xz
enigma-fork-34c1e8e64ec4575527a19fb4cb0640c57da784db.zip
crap-ton of bug fixes for inner classes
Diffstat (limited to 'src/cuchaz/enigma/mapping/Translator.java')
-rw-r--r--src/cuchaz/enigma/mapping/Translator.java16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/cuchaz/enigma/mapping/Translator.java b/src/cuchaz/enigma/mapping/Translator.java
index 76f45cd..fc41f94 100644
--- a/src/cuchaz/enigma/mapping/Translator.java
+++ b/src/cuchaz/enigma/mapping/Translator.java
@@ -72,11 +72,21 @@ public class Translator
72 public ClassEntry translateEntry( ClassEntry in ) 72 public ClassEntry translateEntry( ClassEntry in )
73 { 73 {
74 String name = translate( in ); 74 String name = translate( in );
75 if( name == null ) 75 if( name != null )
76 {
77 return new ClassEntry( name );
78 }
79
80 if( in.isInnerClass() )
76 { 81 {
77 return in; 82 // just translate the outer class name
83 String outerClassName = translate( in.getOuterClassEntry() );
84 if( outerClassName != null )
85 {
86 return new ClassEntry( outerClassName + "$" + in.getInnerClassName() );
87 }
78 } 88 }
79 return new ClassEntry( name ); 89 return in;
80 } 90 }
81 91
82 public String translate( FieldEntry in ) 92 public String translate( FieldEntry in )