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