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

minor simplification in TupleType

parent f5ddaf11
No related branches found
No related tags found
No related merge requests found
Pipeline #144761 passed
package de.tla2b.types; package de.tla2b.types;
import de.be4.classicalb.core.parser.node.AMultOrCartExpression;
import de.be4.classicalb.core.parser.node.PExpression; import de.be4.classicalb.core.parser.node.PExpression;
import de.tla2b.exceptions.UnificationException; import de.tla2b.exceptions.UnificationException;
import de.tla2b.output.TypeVisitorInterface; import de.tla2b.output.TypeVisitorInterface;
import de.tla2bAst.BAstCreator;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
...@@ -25,7 +25,7 @@ public class TupleType extends AbstractHasFollowers { ...@@ -25,7 +25,7 @@ public class TupleType extends AbstractHasFollowers {
setTypes(list); setTypes(list);
} }
public ArrayList<TLAType> getTypes() { public List<TLAType> getTypes() {
return new ArrayList<>(types); return new ArrayList<>(types);
} }
...@@ -95,7 +95,7 @@ public class TupleType extends AbstractHasFollowers { ...@@ -95,7 +95,7 @@ public class TupleType extends AbstractHasFollowers {
@Override @Override
public TLAType cloneTLAType() { public TLAType cloneTLAType() {
ArrayList<TLAType> list = new ArrayList<>(); List<TLAType> list = new ArrayList<>();
for (TLAType tlaType : types) { for (TLAType tlaType : types) {
list.add(tlaType.cloneTLAType()); list.add(tlaType.cloneTLAType());
} }
...@@ -146,24 +146,7 @@ public class TupleType extends AbstractHasFollowers { ...@@ -146,24 +146,7 @@ public class TupleType extends AbstractHasFollowers {
@Override @Override
public PExpression getBNode() { public PExpression getBNode() {
List<PExpression> list = new ArrayList<>(); return BAstCreator.createNestedCouple(types);
for (TLAType t : types) {
list.add(t.getBNode());
}
AMultOrCartExpression card = new AMultOrCartExpression();
card.setLeft(list.get(0));
for (int i = 1; i < list.size(); i++) {
if (i < list.size() - 1) {
AMultOrCartExpression old = card;
old.setRight(list.get(i));
card = new AMultOrCartExpression();
card.setLeft(old);
} else {
card.setRight(list.get(i));
}
}
return card;
} }
public void apply(TypeVisitorInterface visitor) { public void apply(TypeVisitorInterface visitor) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment