Skip to content
Snippets Groups Projects
Commit d2a88f60 authored by Jan Gruteser's avatar Jan Gruteser
Browse files

use only one Start in BAstCreator

parent 4e0e476b
No related branches found
No related tags found
No related merge requests found
Pipeline #148221 passed
...@@ -43,15 +43,13 @@ public class BAstCreator extends BuiltInOPs ...@@ -43,15 +43,13 @@ public class BAstCreator extends BuiltInOPs
private final Definitions bDefinitions = new Definitions(); private final Definitions bDefinitions = new Definitions();
private Start start; private final Start start;
private final Map<Node, TLAType> types = new HashMap<>(); private final Map<Node, TLAType> types = new HashMap<>();
private final Set<PositionedNode> sourcePosition = new HashSet<>(); private final Set<PositionedNode> sourcePosition = new HashSet<>();
private final NodeFileNumbers nodeFileNumbers = new NodeFileNumbers(); private final NodeFileNumbers nodeFileNumbers = new NodeFileNumbers();
private final List<String> filesOrderedById = new ArrayList<>(); private final List<String> filesOrderedById = new ArrayList<>();
private List<String> toplevelUnchangedVariableNames = new ArrayList<>(); private List<String> toplevelUnchangedVariableNames = new ArrayList<>();
public Start expressionStart;
/** /**
* Creates a B AST node for a TLA expression * Creates a B AST node for a TLA expression
*/ */
...@@ -64,13 +62,9 @@ public class BAstCreator extends BuiltInOPs ...@@ -64,13 +62,9 @@ public class BAstCreator extends BuiltInOPs
ExprNode expr = moduleNode.getOpDefs()[moduleNode.getOpDefs().length - 1].getBody(); ExprNode expr = moduleNode.getOpDefs()[moduleNode.getOpDefs().length - 1].getBody();
if (expressionIsAPredicate(expr)) { if (expressionIsAPredicate(expr)) {
APredicateParseUnit predicateParseUnit = new APredicateParseUnit(); start = new Start(new APredicateParseUnit(visitExprNodePredicate(expr)), new EOF());
predicateParseUnit.setPredicate(visitExprNodePredicate(expr));
expressionStart = new Start(predicateParseUnit, new EOF());
} else { } else {
AExpressionParseUnit expressionParseUnit = new AExpressionParseUnit(); start = new Start(new AExpressionParseUnit(visitExprNodeExpression(expr)), new EOF());
expressionParseUnit.setExpression(visitExprNodeExpression(expr));
expressionStart = new Start(expressionParseUnit, new EOF());
} }
} }
......
...@@ -134,10 +134,7 @@ public class ExpressionTranslator implements SyntaxTreeConstants { ...@@ -134,10 +134,7 @@ public class ExpressionTranslator implements SyntaxTreeConstants {
throw new ExpressionTranslationException(message); throw new ExpressionTranslationException(message);
} }
SymbolRenamer.run(moduleNode, specAnalyser); SymbolRenamer.run(moduleNode, specAnalyser);
BAstCreator bASTCreator = new BAstCreator(moduleNode, specAnalyser); return this.expressionStart = new BAstCreator(moduleNode, specAnalyser).getStartNode();
this.expressionStart = bASTCreator.expressionStart;
return this.expressionStart;
} }
public Start translateWithoutModel() { public Start translateWithoutModel() {
...@@ -151,10 +148,7 @@ public class ExpressionTranslator implements SyntaxTreeConstants { ...@@ -151,10 +148,7 @@ public class ExpressionTranslator implements SyntaxTreeConstants {
throw new ExpressionTranslationException(message); throw new ExpressionTranslationException(message);
} }
SymbolRenamer.run(moduleNode, specAnalyser); SymbolRenamer.run(moduleNode, specAnalyser);
BAstCreator bASTCreator = new BAstCreator(moduleNode, specAnalyser); return this.expressionStart = new BAstCreator(moduleNode, specAnalyser).getStartNode();
this.expressionStart = bASTCreator.expressionStart;
return this.expressionStart;
} }
@Deprecated @Deprecated
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment