diff options
| -rw-r--r-- | src/main/java/cuchaz/enigma/mapping/entry/ReferencedEntryPool.java | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/main/java/cuchaz/enigma/mapping/entry/ReferencedEntryPool.java b/src/main/java/cuchaz/enigma/mapping/entry/ReferencedEntryPool.java index 338d209e..12b39554 100644 --- a/src/main/java/cuchaz/enigma/mapping/entry/ReferencedEntryPool.java +++ b/src/main/java/cuchaz/enigma/mapping/entry/ReferencedEntryPool.java | |||
| @@ -23,7 +23,13 @@ public class ReferencedEntryPool { | |||
| 23 | private final Map<String, Map<String, FieldEntry>> fieldEntries = new HashMap<>(); | 23 | private final Map<String, Map<String, FieldEntry>> fieldEntries = new HashMap<>(); |
| 24 | 24 | ||
| 25 | public ClassEntry getClass(String name) { | 25 | public ClassEntry getClass(String name) { |
| 26 | return this.classEntries.computeIfAbsent(name, s -> new ClassEntry(name)); | 26 | // TODO: FIXME - I'm a hack! |
| 27 | if ("[T".equals(name) || "[[T".equals(name) || "[[[T".equals(name)) { | ||
| 28 | name = name.replaceAll("T", "Ljava/lang/Object;"); | ||
| 29 | } | ||
| 30 | |||
| 31 | final String computeName = name; | ||
| 32 | return this.classEntries.computeIfAbsent(name, s -> new ClassEntry(computeName)); | ||
| 27 | } | 33 | } |
| 28 | 34 | ||
| 29 | public MethodEntry getMethod(ClassEntry ownerEntry, String name, String desc) { | 35 | public MethodEntry getMethod(ClassEntry ownerEntry, String name, String desc) { |