From d4229970e549b25139e3fb7348148f7deaab36c5 Mon Sep 17 00:00:00 2001 From: Runemoro Date: Mon, 8 Jul 2019 11:18:46 -0400 Subject: Fix compose-mappings not remapping descriptors of methods on the right side only (#154) * Fix compose-mappings not remapping descriptors of methods on the right side only * Update version --- .../cuchaz/enigma/command/MappingCommandsUtil.java | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/cuchaz/enigma/command/MappingCommandsUtil.java b/src/main/java/cuchaz/enigma/command/MappingCommandsUtil.java index 8384e4e7..394d67bd 100644 --- a/src/main/java/cuchaz/enigma/command/MappingCommandsUtil.java +++ b/src/main/java/cuchaz/enigma/command/MappingCommandsUtil.java @@ -18,9 +18,7 @@ import cuchaz.enigma.translation.representation.entry.MethodEntry; import java.io.IOException; import java.nio.file.Path; -import java.util.HashMap; import java.util.HashSet; -import java.util.Map; import java.util.Set; public final class MappingCommandsUtil { @@ -47,11 +45,9 @@ public final class MappingCommandsUtil { return result; } - @SuppressWarnings("unchecked") public static EntryTree compose(EntryTree left, EntryTree right, boolean keepLeftOnly, boolean keepRightOnly) { Translator leftTranslator = new MappingTranslator(left, VoidEntryResolver.INSTANCE); EntryTree result = new HashEntryTree<>(); - Map, Entry> rightToLeft = new HashMap<>(); Set> addedMappings = new HashSet<>(); for (EntryTreeNode node : left) { @@ -59,7 +55,6 @@ public final class MappingCommandsUtil { EntryMapping leftMapping = node.getValue(); Entry rightEntry = leftTranslator.translate(leftEntry); - rightToLeft.put(rightEntry, leftEntry); EntryMapping rightMapping = right.get(rightEntry); if (rightMapping != null) { @@ -75,18 +70,9 @@ public final class MappingCommandsUtil { Entry rightEntry = node.getEntry(); EntryMapping rightMapping = node.getValue(); - if (addedMappings.contains(rightEntry)) { - continue; + if (!addedMappings.contains(rightEntry)) { + result.insert(leftTranslator.translate(rightEntry), rightMapping); } - - Entry parent = rightEntry.getParent(); - Entry correctEntry = rightEntry; - if (rightToLeft.containsKey(parent)) { - correctEntry = ((Entry>) rightEntry).withParent(rightToLeft.get(parent)); - } - - result.insert(correctEntry, rightMapping); - rightToLeft.put(rightEntry, correctEntry); } } return result; -- cgit v1.2.3