diff --git a/src/main/java/de/tla2bAst/BAstCreator.java b/src/main/java/de/tla2bAst/BAstCreator.java index 96df6c1cf117b958914af8a2dabed14197773f91..4e2b110df14a4fd987bb8eeff1d28c6a6d8c16d0 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 d10764c4cbd79a52daef6fcc34977251f8bd8421..a347fff90e2a93e81113eef5a309f5c14cf28e7f 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());