diff --git a/src/main/java/de/tla2bAst/BAstCreator.java b/src/main/java/de/tla2bAst/BAstCreator.java index 50ac77db4de99b5ee6b5acfee5eebb33950dc800..4cedf8b28f2af6dee30dd6fed78767a8a352ec91 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 f22e254420558492fa94d87cecbf30ad8a920abb..d16ad39242dfbe7f0ae78e3e215fce66cbf81b0c 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