From d2a88f60d0f2974d1524fb97fe33d09f09bd02e3 Mon Sep 17 00:00:00 2001 From: Jan Gruteser <jan.gruteser@hhu.de> Date: Fri, 20 Dec 2024 09:12:23 +0100 Subject: [PATCH] use only one Start in BAstCreator --- src/main/java/de/tla2bAst/BAstCreator.java | 12 +++--------- src/main/java/de/tla2bAst/ExpressionTranslator.java | 10 ++-------- 2 files changed, 5 insertions(+), 17 deletions(-) diff --git a/src/main/java/de/tla2bAst/BAstCreator.java b/src/main/java/de/tla2bAst/BAstCreator.java index 50ac77d..4cedf8b 100644 --- a/src/main/java/de/tla2bAst/BAstCreator.java +++ b/src/main/java/de/tla2bAst/BAstCreator.java @@ -43,15 +43,13 @@ public class BAstCreator extends BuiltInOPs private final Definitions bDefinitions = new Definitions(); - private Start start; + private final Start start; private final Map<Node, TLAType> types = new HashMap<>(); private final Set<PositionedNode> sourcePosition = new HashSet<>(); private final NodeFileNumbers nodeFileNumbers = new NodeFileNumbers(); private final List<String> filesOrderedById = new ArrayList<>(); private List<String> toplevelUnchangedVariableNames = new ArrayList<>(); - public Start expressionStart; - /** * Creates a B AST node for a TLA expression */ @@ -64,13 +62,9 @@ public class BAstCreator extends BuiltInOPs ExprNode expr = moduleNode.getOpDefs()[moduleNode.getOpDefs().length - 1].getBody(); if (expressionIsAPredicate(expr)) { - APredicateParseUnit predicateParseUnit = new APredicateParseUnit(); - predicateParseUnit.setPredicate(visitExprNodePredicate(expr)); - expressionStart = new Start(predicateParseUnit, new EOF()); + start = new Start(new APredicateParseUnit(visitExprNodePredicate(expr)), new EOF()); } else { - AExpressionParseUnit expressionParseUnit = new AExpressionParseUnit(); - expressionParseUnit.setExpression(visitExprNodeExpression(expr)); - expressionStart = new Start(expressionParseUnit, new EOF()); + start = new Start(new AExpressionParseUnit(visitExprNodeExpression(expr)), new EOF()); } } diff --git a/src/main/java/de/tla2bAst/ExpressionTranslator.java b/src/main/java/de/tla2bAst/ExpressionTranslator.java index f22e254..d16ad39 100644 --- a/src/main/java/de/tla2bAst/ExpressionTranslator.java +++ b/src/main/java/de/tla2bAst/ExpressionTranslator.java @@ -134,10 +134,7 @@ public class ExpressionTranslator implements SyntaxTreeConstants { throw new ExpressionTranslationException(message); } SymbolRenamer.run(moduleNode, specAnalyser); - BAstCreator bASTCreator = new BAstCreator(moduleNode, specAnalyser); - - this.expressionStart = bASTCreator.expressionStart; - return this.expressionStart; + return this.expressionStart = new BAstCreator(moduleNode, specAnalyser).getStartNode(); } public Start translateWithoutModel() { @@ -151,10 +148,7 @@ public class ExpressionTranslator implements SyntaxTreeConstants { throw new ExpressionTranslationException(message); } SymbolRenamer.run(moduleNode, specAnalyser); - BAstCreator bASTCreator = new BAstCreator(moduleNode, specAnalyser); - - this.expressionStart = bASTCreator.expressionStart; - return this.expressionStart; + return this.expressionStart = new BAstCreator(moduleNode, specAnalyser).getStartNode(); } @Deprecated -- GitLab