From eccda558cb3ecf07bd66f726022d9cd7d2c8e99d Mon Sep 17 00:00:00 2001 From: Thog Date: Sun, 11 Sep 2016 17:51:37 +0200 Subject: Fix generic issue with return type signature --- src/main/java/cuchaz/enigma/mapping/ProcyonEntryFactory.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) 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 { builder.append(paramType.getErasedSignature()); } builder.append(")"); - builder.append(methodReference.getReturnType().getErasedSignature()); + + // TODO: Fix Procyon render + TypeReference returnType = methodReference.getReturnType(); + if (returnType.getErasedSignature().equals("Ljava/lang/Object;") && returnType.hasExtendsBound() && returnType.getExtendsBound() instanceof CompoundTypeReference) + { + List interfaces = ((CompoundTypeReference) returnType.getExtendsBound()).getInterfaces(); + interfaces.forEach((inter) -> builder.append(inter.getErasedSignature())); + } + else + builder.append(returnType.getErasedSignature()); return builder.toString(); } -- cgit v1.2.3