summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Thog2016-09-11 17:51:37 +0200
committerGravatar Thog2016-09-11 17:51:37 +0200
commiteccda558cb3ecf07bd66f726022d9cd7d2c8e99d (patch)
treed49720b9f3bb72d46861bb23546d14789f32f014
parentAdd a recursive scan for interfaces (diff)
downloadenigma-eccda558cb3ecf07bd66f726022d9cd7d2c8e99d.tar.gz
enigma-eccda558cb3ecf07bd66f726022d9cd7d2c8e99d.tar.xz
enigma-eccda558cb3ecf07bd66f726022d9cd7d2c8e99d.zip
Fix generic issue with return type signature
-rw-r--r--src/main/java/cuchaz/enigma/mapping/ProcyonEntryFactory.java11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/main/java/cuchaz/enigma/mapping/ProcyonEntryFactory.java b/src/main/java/cuchaz/enigma/mapping/ProcyonEntryFactory.java
index 8cbca13d..941caf9d 100644
--- a/src/main/java/cuchaz/enigma/mapping/ProcyonEntryFactory.java
+++ b/src/main/java/cuchaz/enigma/mapping/ProcyonEntryFactory.java
@@ -34,7 +34,16 @@ public class ProcyonEntryFactory {
34 builder.append(paramType.getErasedSignature()); 34 builder.append(paramType.getErasedSignature());
35 } 35 }
36 builder.append(")"); 36 builder.append(")");
37 builder.append(methodReference.getReturnType().getErasedSignature()); 37
38 // TODO: Fix Procyon render
39 TypeReference returnType = methodReference.getReturnType();
40 if (returnType.getErasedSignature().equals("Ljava/lang/Object;") && returnType.hasExtendsBound() && returnType.getExtendsBound() instanceof CompoundTypeReference)
41 {
42 List<TypeReference> interfaces = ((CompoundTypeReference) returnType.getExtendsBound()).getInterfaces();
43 interfaces.forEach((inter) -> builder.append(inter.getErasedSignature()));
44 }
45 else
46 builder.append(returnType.getErasedSignature());
38 return builder.toString(); 47 return builder.toString();
39 } 48 }
40 49