From b26ab6804267d54843153190a13983c91fbe872c Mon Sep 17 00:00:00 2001
From: Jan Gruteser <jan.gruteser@hhu.de>
Date: Mon, 30 Dec 2024 19:47:29 +0100
Subject: [PATCH] move creation of helper classes to constructor of BAstCreator

---
 src/main/java/de/tla2bAst/BAstCreator.java | 14 ++++++--------
 src/main/java/de/tla2bAst/Translator.java  |  8 +++-----
 2 files changed, 9 insertions(+), 13 deletions(-)

diff --git a/src/main/java/de/tla2bAst/BAstCreator.java b/src/main/java/de/tla2bAst/BAstCreator.java
index 96df6c1..4e2b110 100644
--- a/src/main/java/de/tla2bAst/BAstCreator.java
+++ b/src/main/java/de/tla2bAst/BAstCreator.java
@@ -85,17 +85,15 @@ public class BAstCreator extends BuiltInOPs implements TranslationGlobals, BBuil
 		return false;
 	}
 
-	public BAstCreator(ModuleNode moduleNode, ConfigfileEvaluator conEval, SpecAnalyser specAnalyser,
-	                   UsedExternalFunctions usedExternalFunctions, PredicateVsExpression predicateVsExpression,
-	                   BMacroHandler bMacroHandler, RecursiveFunctionHandler recursiveFunctionHandler) {
-		this.predicateVsExpression = predicateVsExpression;
-		this.bMacroHandler = bMacroHandler;
-		this.recursiveFunctionHandler = recursiveFunctionHandler;
-
+	public BAstCreator(ModuleNode moduleNode, ConfigfileEvaluator conEval, SpecAnalyser specAnalyser) {
 		this.conEval = conEval;
 		this.moduleNode = moduleNode;
 		this.specAnalyser = specAnalyser;
-		this.usedExternalFunctions = usedExternalFunctions;
+
+		this.usedExternalFunctions = new UsedExternalFunctions(moduleNode, specAnalyser);
+		this.predicateVsExpression = new PredicateVsExpression(moduleNode);
+		this.bMacroHandler = new BMacroHandler(specAnalyser, conEval);
+		this.recursiveFunctionHandler = new RecursiveFunctionHandler(specAnalyser);
 
 		if (conEval != null) {
 			this.bConstants = conEval.getbConstantList();
diff --git a/src/main/java/de/tla2bAst/Translator.java b/src/main/java/de/tla2bAst/Translator.java
index d10764c..a347fff 100644
--- a/src/main/java/de/tla2bAst/Translator.java
+++ b/src/main/java/de/tla2bAst/Translator.java
@@ -180,7 +180,9 @@ public class Translator implements TranslationGlobals {
 
 		ConfigfileEvaluator conEval = null;
 		if (modelConfig != null) {
+			// evaluate config file (get overrides and assignments):
 			conEval = new ConfigfileEvaluator(modelConfig, moduleNode);
+			// apply overrides from config file:
 			ModuleOverrider.run(moduleNode, conEval);
 			specAnalyser = SpecAnalyser.createSpecAnalyser(moduleNode, conEval);
 		} else {
@@ -190,11 +192,7 @@ public class Translator implements TranslationGlobals {
 		typechecker = new TypeChecker(moduleNode, conEval, specAnalyser);
 		typechecker.start();
 		SymbolRenamer.run(moduleNode, specAnalyser);
-		bAstCreator = new BAstCreator(moduleNode, conEval, specAnalyser,
-				new UsedExternalFunctions(moduleNode, specAnalyser),
-				new PredicateVsExpression(moduleNode),
-				new BMacroHandler(specAnalyser, conEval),
-				new RecursiveFunctionHandler(specAnalyser));
+		bAstCreator = new BAstCreator(moduleNode, conEval, specAnalyser);
 
 		this.moduleFiles = bAstCreator.getFilesOrderedById().stream()
 				.map(file -> new File(parentPath, file + ".tla")).collect(Collectors.toList());
-- 
GitLab