diff options
| author | 2014-08-18 00:55:30 -0400 | |
|---|---|---|
| committer | 2014-08-18 00:55:30 -0400 | |
| commit | 34c1e8e64ec4575527a19fb4cb0640c57da784db (patch) | |
| tree | 44e3f1d50f8d8b8a9ab7c26dd94b58cba750cc67 /src/cuchaz/enigma/mapping/Translator.java | |
| parent | added support for automatic reconstruction of inner and anonymous classes (diff) | |
| download | enigma-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.java | 16 |
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 ) |