From f7a03673dd2da17a4f655a6579f651a64be2abb3 Mon Sep 17 00:00:00 2001 From: dgelessus <dgelessus@users.noreply.github.com> Date: Wed, 24 Jul 2024 12:46:05 +0200 Subject: [PATCH] Weaken some collection types in our code --- .../src/tlc2/output/OutputCollector.java | 23 ++++++++++--------- .../src/tlc2/tool/TLCTrace.java | 5 ++-- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/tlatools/org.lamport.tlatools/src/tlc2/output/OutputCollector.java b/tlatools/org.lamport.tlatools/src/tlc2/output/OutputCollector.java index 920504f58..55a832033 100644 --- a/tlatools/org.lamport.tlatools/src/tlc2/output/OutputCollector.java +++ b/tlatools/org.lamport.tlatools/src/tlc2/output/OutputCollector.java @@ -4,6 +4,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.Date; import java.util.HashMap; +import java.util.List; import java.util.Map; import tla2sany.semantic.ExprNode; @@ -16,23 +17,23 @@ import tlc2.tool.TLCStateInfo; public class OutputCollector { private static TLCState initialState = null; - private static ArrayList<TLCStateInfo> trace = null; - private static ArrayList<Message> allMessages = new ArrayList<Message>(); + private static List<TLCStateInfo> trace = null; + private static List<Message> allMessages = new ArrayList<>(); private static Map<Location, Long> lineCount = new HashMap<>(); private static ModuleNode moduleNode = null; - private static ArrayList<ExprNode> violatedAssumptions = new ArrayList<>(); + private static List<ExprNode> violatedAssumptions = new ArrayList<>(); - public static ArrayList<TLCStateInfo> getTrace() { - return trace; + public static List<TLCStateInfo> getTrace() { + return Collections.unmodifiableList(trace); } - public static void setTrace(ArrayList<TLCStateInfo> trace) { + public static void setTrace(List<TLCStateInfo> trace) { OutputCollector.trace = trace; } public static void addStateToTrace(TLCStateInfo tlcStateInfo) { if (trace == null) { - trace = new ArrayList<TLCStateInfo>(); + trace = new ArrayList<>(); } trace.add(tlcStateInfo); } @@ -45,16 +46,16 @@ public class OutputCollector { return OutputCollector.initialState; } - public static ArrayList<Message> getAllMessages() { - return allMessages; + public static List<Message> getAllMessages() { + return Collections.unmodifiableList(allMessages); } public static void addViolatedAssumption(ExprNode assumption) { violatedAssumptions.add(assumption); } - public static ArrayList<ExprNode> getViolatedAssumptions() { - return violatedAssumptions; + public static List<ExprNode> getViolatedAssumptions() { + return Collections.unmodifiableList(violatedAssumptions); } public synchronized static void saveMessage(int messageClass, diff --git a/tlatools/org.lamport.tlatools/src/tlc2/tool/TLCTrace.java b/tlatools/org.lamport.tlatools/src/tlc2/tool/TLCTrace.java index 4cd1d64e0..98d791a37 100644 --- a/tlatools/org.lamport.tlatools/src/tlc2/tool/TLCTrace.java +++ b/tlatools/org.lamport.tlatools/src/tlc2/tool/TLCTrace.java @@ -11,8 +11,8 @@ import java.io.DataOutputStream; import java.io.File; import java.io.IOException; import java.util.ArrayList; -import java.util.Arrays; import java.util.HashMap; +import java.util.List; import java.util.Map; import tlc2.output.EC; @@ -22,6 +22,7 @@ import tlc2.output.StatePrinter; import tlc2.util.BufferedRandomAccessFile; import tlc2.util.LongVec; import tlc2.value.RandomEnumerableValues; + import util.FileUtil; public class TLCTrace { @@ -343,7 +344,7 @@ public class TLCTrace { protected synchronized final void printTrace(final TLCState s1, final TLCState s2, final TLCStateInfo[] prefix) throws IOException, WorkerException { - ArrayList<TLCStateInfo> trace = new ArrayList<TLCStateInfo>(); // collecting the whole error trace + List<TLCStateInfo> trace = new ArrayList<>(); // collecting the whole error trace if (s1.isInitial()) { // Do not recreate the potentially expensive error trace - e.g. when the set of -- GitLab