From 81adac1706ee5f96c97cc26874ebb0d6cbb56c7f Mon Sep 17 00:00:00 2001 From: gegy1000 Date: Sun, 24 Jun 2018 19:12:24 +0200 Subject: Fix handling of null deobf mappings --- .../enigma/mapping/entry/ProcyonEntryFactory.java | 32 +++------------------- 1 file changed, 4 insertions(+), 28 deletions(-) (limited to 'src/main/java/cuchaz/enigma/mapping/entry') diff --git a/src/main/java/cuchaz/enigma/mapping/entry/ProcyonEntryFactory.java b/src/main/java/cuchaz/enigma/mapping/entry/ProcyonEntryFactory.java index 5892a03..73770c5 100644 --- a/src/main/java/cuchaz/enigma/mapping/entry/ProcyonEntryFactory.java +++ b/src/main/java/cuchaz/enigma/mapping/entry/ProcyonEntryFactory.java @@ -11,14 +11,14 @@ package cuchaz.enigma.mapping.entry; -import com.strobel.assembler.metadata.*; +import com.strobel.assembler.metadata.FieldDefinition; +import com.strobel.assembler.metadata.MemberReference; +import com.strobel.assembler.metadata.MethodDefinition; import cuchaz.enigma.bytecode.AccessFlags; import cuchaz.enigma.mapping.MethodDescriptor; import cuchaz.enigma.mapping.Signature; import cuchaz.enigma.mapping.TypeDescriptor; -import java.util.List; - public class ProcyonEntryFactory { private final ReferencedEntryPool entryPool; @@ -26,30 +26,6 @@ public class ProcyonEntryFactory { this.entryPool = entryPool; } - private String getErasedSignature(MemberReference def) { - if (!(def instanceof MethodReference)) - return def.getErasedSignature(); - MethodReference methodReference = (MethodReference) def; - StringBuilder builder = new StringBuilder("("); - for (ParameterDefinition param : methodReference.getParameters()) { - TypeReference paramType = param.getParameterType(); - if (paramType.getErasedSignature().equals("Ljava/lang/Object;") && paramType.hasExtendsBound() && paramType.getExtendsBound() instanceof CompoundTypeReference) { - List interfaces = ((CompoundTypeReference) paramType.getExtendsBound()).getInterfaces(); - interfaces.forEach((inter) -> builder.append(inter.getErasedSignature())); - } else - builder.append(paramType.getErasedSignature()); - } - builder.append(")"); - - 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(); - } - public FieldEntry getFieldEntry(MemberReference def) { ClassEntry classEntry = entryPool.getClass(def.getDeclaringType().getInternalName()); return entryPool.getField(classEntry, def.getName(), def.getErasedSignature()); @@ -62,7 +38,7 @@ public class ProcyonEntryFactory { public MethodEntry getMethodEntry(MemberReference def) { ClassEntry classEntry = entryPool.getClass(def.getDeclaringType().getInternalName()); - return entryPool.getMethod(classEntry, def.getName(), getErasedSignature(def)); + return entryPool.getMethod(classEntry, def.getName(), def.getErasedSignature()); } public MethodDefEntry getMethodDefEntry(MethodDefinition def) { -- cgit v1.2.3