summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/cuchaz/enigma/mapping/entry/ReferencedEntryPool.java8
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) {