diff options
| author | 2018-06-23 17:28:50 +0200 | |
|---|---|---|
| committer | 2018-06-23 17:28:50 +0200 | |
| commit | 4e0188fef5b982a111bac2fc63624430c71ac299 (patch) | |
| tree | 39df0f1939915a5c071678caae214d8748be4570 /src/main/java/cuchaz | |
| parent | Fix class signatures not being translated (diff) | |
| download | enigma-4e0188fef5b982a111bac2fc63624430c71ac299.tar.gz enigma-4e0188fef5b982a111bac2fc63624430c71ac299.tar.xz enigma-4e0188fef5b982a111bac2fc63624430c71ac299.zip | |
Fix frame array type translation
Diffstat (limited to 'src/main/java/cuchaz')
| -rw-r--r-- | src/main/java/cuchaz/enigma/bytecode/translators/TranslationMethodVisitor.java | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/main/java/cuchaz/enigma/bytecode/translators/TranslationMethodVisitor.java b/src/main/java/cuchaz/enigma/bytecode/translators/TranslationMethodVisitor.java index f3f7c486..fbe05633 100644 --- a/src/main/java/cuchaz/enigma/bytecode/translators/TranslationMethodVisitor.java +++ b/src/main/java/cuchaz/enigma/bytecode/translators/TranslationMethodVisitor.java | |||
| @@ -47,8 +47,12 @@ public class TranslationMethodVisitor extends MethodVisitor { | |||
| 47 | for (int i = 0; i < count; i++) { | 47 | for (int i = 0; i < count; i++) { |
| 48 | Object object = array[i]; | 48 | Object object = array[i]; |
| 49 | if (object instanceof String) { | 49 | if (object instanceof String) { |
| 50 | ClassEntry entry = new ClassEntry((String) object); | 50 | String type = (String) object; |
| 51 | array[i] = translator.getTranslatedClass(entry).getName(); | 51 | if (type.startsWith("[")) { |
| 52 | array[i] = "[" + translator.getTranslatedClass(new ClassEntry(type.substring(1))).getName(); | ||
| 53 | } else { | ||
| 54 | array[i] = translator.getTranslatedClass(new ClassEntry(type)).getName(); | ||
| 55 | } | ||
| 52 | } | 56 | } |
| 53 | } | 57 | } |
| 54 | return array; | 58 | return array; |