From 15a393fe86a5c6eab4af8729634fcf53f08a3e2f Mon Sep 17 00:00:00 2001 From: Tony Wang <74754989+hwang-pku@users.noreply.github.com> Date: Sat, 26 Feb 2022 03:12:21 +0800 Subject: [PATCH] cache: script: use linkedhashmap for switch map The switch maps are iterated in the assembler and disassembler and the generated code depends on the iteration order --- .../java/net/runelite/cache/script/assembler/ScriptWriter.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cache/src/main/java/net/runelite/cache/script/assembler/ScriptWriter.java b/cache/src/main/java/net/runelite/cache/script/assembler/ScriptWriter.java index 2797d4a4c6..429971d237 100644 --- a/cache/src/main/java/net/runelite/cache/script/assembler/ScriptWriter.java +++ b/cache/src/main/java/net/runelite/cache/script/assembler/ScriptWriter.java @@ -26,6 +26,7 @@ package net.runelite.cache.script.assembler; import java.util.ArrayList; import java.util.HashMap; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Objects; @@ -267,7 +268,7 @@ public class ScriptWriter extends rs2asmBaseListener continue; } - Map map = maps[index++] = new HashMap<>(); + Map map = maps[index++] = new LinkedHashMap<>(); for (LookupCase scase : lswitch.getCases()) {