Skip to content
Snippets Groups Projects
Commit f7a03673 authored by dgelessus's avatar dgelessus
Browse files

Weaken some collection types in our code

parent 873d2284
No related branches found
No related tags found
No related merge requests found
...@@ -4,6 +4,7 @@ import java.util.ArrayList; ...@@ -4,6 +4,7 @@ import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
import tla2sany.semantic.ExprNode; import tla2sany.semantic.ExprNode;
...@@ -16,23 +17,23 @@ import tlc2.tool.TLCStateInfo; ...@@ -16,23 +17,23 @@ import tlc2.tool.TLCStateInfo;
public class OutputCollector { public class OutputCollector {
private static TLCState initialState = null; private static TLCState initialState = null;
private static ArrayList<TLCStateInfo> trace = null; private static List<TLCStateInfo> trace = null;
private static ArrayList<Message> allMessages = new ArrayList<Message>(); private static List<Message> allMessages = new ArrayList<>();
private static Map<Location, Long> lineCount = new HashMap<>(); private static Map<Location, Long> lineCount = new HashMap<>();
private static ModuleNode moduleNode = null; private static ModuleNode moduleNode = null;
private static ArrayList<ExprNode> violatedAssumptions = new ArrayList<>(); private static List<ExprNode> violatedAssumptions = new ArrayList<>();
public static ArrayList<TLCStateInfo> getTrace() { public static List<TLCStateInfo> getTrace() {
return trace; return Collections.unmodifiableList(trace);
} }
public static void setTrace(ArrayList<TLCStateInfo> trace) { public static void setTrace(List<TLCStateInfo> trace) {
OutputCollector.trace = trace; OutputCollector.trace = trace;
} }
public static void addStateToTrace(TLCStateInfo tlcStateInfo) { public static void addStateToTrace(TLCStateInfo tlcStateInfo) {
if (trace == null) { if (trace == null) {
trace = new ArrayList<TLCStateInfo>(); trace = new ArrayList<>();
} }
trace.add(tlcStateInfo); trace.add(tlcStateInfo);
} }
...@@ -45,16 +46,16 @@ public class OutputCollector { ...@@ -45,16 +46,16 @@ public class OutputCollector {
return OutputCollector.initialState; return OutputCollector.initialState;
} }
public static ArrayList<Message> getAllMessages() { public static List<Message> getAllMessages() {
return allMessages; return Collections.unmodifiableList(allMessages);
} }
public static void addViolatedAssumption(ExprNode assumption) { public static void addViolatedAssumption(ExprNode assumption) {
violatedAssumptions.add(assumption); violatedAssumptions.add(assumption);
} }
public static ArrayList<ExprNode> getViolatedAssumptions() { public static List<ExprNode> getViolatedAssumptions() {
return violatedAssumptions; return Collections.unmodifiableList(violatedAssumptions);
} }
public synchronized static void saveMessage(int messageClass, public synchronized static void saveMessage(int messageClass,
......
...@@ -11,8 +11,8 @@ import java.io.DataOutputStream; ...@@ -11,8 +11,8 @@ import java.io.DataOutputStream;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
import tlc2.output.EC; import tlc2.output.EC;
...@@ -22,6 +22,7 @@ import tlc2.output.StatePrinter; ...@@ -22,6 +22,7 @@ import tlc2.output.StatePrinter;
import tlc2.util.BufferedRandomAccessFile; import tlc2.util.BufferedRandomAccessFile;
import tlc2.util.LongVec; import tlc2.util.LongVec;
import tlc2.value.RandomEnumerableValues; import tlc2.value.RandomEnumerableValues;
import util.FileUtil; import util.FileUtil;
public class TLCTrace { public class TLCTrace {
...@@ -343,7 +344,7 @@ public class TLCTrace { ...@@ -343,7 +344,7 @@ public class TLCTrace {
protected synchronized final void printTrace(final TLCState s1, final TLCState s2, final TLCStateInfo[] prefix) protected synchronized final void printTrace(final TLCState s1, final TLCState s2, final TLCStateInfo[] prefix)
throws IOException, WorkerException { 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()) { if (s1.isInitial()) {
// Do not recreate the potentially expensive error trace - e.g. when the set of // Do not recreate the potentially expensive error trace - e.g. when the set of
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment