From a9b41afb9d12e69354a28dc740aabd30dec7c632 Mon Sep 17 00:00:00 2001
From: dgelessus <dgelessus@users.noreply.github.com>
Date: Tue, 30 Jul 2024 14:44:37 +0200
Subject: [PATCH] Refactor TracePrinter construction

---
 src/main/java/de/tlc4b/tlc/TLCResults.java   | 13 +++++++------
 src/main/java/de/tlc4b/tlc/TracePrinter.java | 10 ----------
 2 files changed, 7 insertions(+), 16 deletions(-)

diff --git a/src/main/java/de/tlc4b/tlc/TLCResults.java b/src/main/java/de/tlc4b/tlc/TLCResults.java
index a8c4e42..3578220 100644
--- a/src/main/java/de/tlc4b/tlc/TLCResults.java
+++ b/src/main/java/de/tlc4b/tlc/TLCResults.java
@@ -9,6 +9,7 @@ import tlc2.output.MP;
 import tlc2.output.Message;
 import tlc2.output.OutputCollector;
 import tlc2.tool.BuiltInOPs;
+import tlc2.tool.TLCState;
 import tlc2.tool.TLCStateInfo;
 import tlc2.tool.ToolGlobals;
 
@@ -179,13 +180,13 @@ public class TLCResults implements ToolGlobals {
 
 	private void evalTrace() {
 		List<TLCStateInfo> trace = OutputCollector.getTrace();
-		TracePrinter printer = null;
-		if (!trace.isEmpty()) {
-			printer = new TracePrinter(trace, tlcOutputInfo);
-		} else if (OutputCollector.getInitialState() != null) {
-			printer = new TracePrinter(OutputCollector.getInitialState(), tlcOutputInfo);
+		TLCState initialState = OutputCollector.getInitialState();
+		if (trace.isEmpty() && initialState != null) {
+			trace = Collections.singletonList(new TLCStateInfo(initialState));
 		}
-		if (printer != null) {
+
+		if (!trace.isEmpty()) {
+			TracePrinter printer = new TracePrinter(trace, tlcOutputInfo);
 			traceString = printer.getTrace().toString();
 		}
 	}
diff --git a/src/main/java/de/tlc4b/tlc/TracePrinter.java b/src/main/java/de/tlc4b/tlc/TracePrinter.java
index c3dcfb9..6e5fd3e 100644
--- a/src/main/java/de/tlc4b/tlc/TracePrinter.java
+++ b/src/main/java/de/tlc4b/tlc/TracePrinter.java
@@ -31,10 +31,6 @@ public class TracePrinter {
 		this.trace = trace;
 		this.tlcOutputInfo = tlcOutputInfo;
 
-		setup();
-	}
-
-	private void setup() {
 		constants = new ArrayList<>();
 		variables = new ArrayList<>();
 		for (int i = 0; i < TLCState.vars.length; i++) {
@@ -49,12 +45,6 @@ public class TracePrinter {
 		evalTrace();
 	}
 
-	public TracePrinter(TLCState initialState, TLCOutputInfo tlcOutputInfo) {
-		this.initialState = initialState;
-		this.tlcOutputInfo = tlcOutputInfo;
-		setup();
-	}
-
 	public StringBuilder getTrace() {
 		return traceBuilder;
 	}
-- 
GitLab