diff --git a/src/main/java/de/tla2bAst/BAstCreator.java b/src/main/java/de/tla2bAst/BAstCreator.java index c88eaa6fa8fc4a3fb72d5132d931f89347f150db..032a348afc14bcb4f023532bd6d2807677bd2515 100644 --- a/src/main/java/de/tla2bAst/BAstCreator.java +++ b/src/main/java/de/tla2bAst/BAstCreator.java @@ -997,15 +997,15 @@ public class BAstCreator extends BuiltInOPs implements TranslationGlobals, BBuil } case B_OPCODE_setsum: { - AGeneralSumExpression sum = new AGeneralSumExpression(); - String variableName = "t_"; // TODO unused identifier name - sum.setIdentifiers(Collections.singletonList(createIdentifierNode(variableName))); - AMemberPredicate memberPredicate = new AMemberPredicate(); - memberPredicate.setLeft(createIdentifierNode(variableName)); - memberPredicate.setRight(visitExprOrOpArgNodeExpression(opApplNode.getArgs()[0])); - sum.setPredicates(memberPredicate); - sum.setExpression(createIdentifierNode(variableName)); - returnNode = sum; + AIdentifierExpression variable = createIdentifierNode("t_"); // TODO unused identifier name + returnNode = new AGeneralSumExpression( + Collections.singletonList(variable.clone()), + new AMemberPredicate( + variable.clone(), + visitExprOrOpArgNodeExpression(opApplNode.getArgs()[0]) + ), + variable.clone() + ); break; }