From 24a15cb6a4644967f5c8bfdb033b86821b4020bf Mon Sep 17 00:00:00 2001 From: dgelessus <dgelessus@users.noreply.github.com> Date: Wed, 2 Feb 2022 14:39:59 +0100 Subject: [PATCH] Replace NodeIdAssignment with INodeIds in TlaTypePrinter NodeIdAssignment was recently removed from the B parser. --- .../java/de/tla2b/output/TlaTypePrinter.java | 38 +++++++++---------- 1 file changed, 17 insertions(+), 21 deletions(-) diff --git a/src/main/java/de/tla2b/output/TlaTypePrinter.java b/src/main/java/de/tla2b/output/TlaTypePrinter.java index ac60b6a..210c4ac 100644 --- a/src/main/java/de/tla2b/output/TlaTypePrinter.java +++ b/src/main/java/de/tla2b/output/TlaTypePrinter.java @@ -4,7 +4,7 @@ import java.util.ArrayList; import java.util.HashSet; import java.util.Hashtable; -import de.be4.classicalb.core.parser.analysis.prolog.NodeIdAssignment; +import de.be4.classicalb.core.parser.analysis.prolog.INodeIds; import de.be4.classicalb.core.parser.analysis.prolog.PositionPrinter; import de.be4.classicalb.core.parser.node.Node; import de.hhu.stups.sablecc.patch.PositionedNode; @@ -14,13 +14,13 @@ import de.tla2b.types.BoolType; import de.tla2b.types.EnumType; import de.tla2b.types.FunctionType; import de.tla2b.types.IntType; -import de.tla2b.types.TLAType; import de.tla2b.types.ModelValueType; import de.tla2b.types.PairType; import de.tla2b.types.SetType; import de.tla2b.types.StringType; import de.tla2b.types.StructOrFunctionType; import de.tla2b.types.StructType; +import de.tla2b.types.TLAType; import de.tla2b.types.TupleType; import de.tla2b.types.UntypedType; @@ -28,19 +28,15 @@ public class TlaTypePrinter implements PositionPrinter, TypeVisitorInterface { private IPrologTermOutput pout; // to look up the identifier of each node - public final NodeIdAssignment nodeIds; + public final INodeIds nodeIds; private final Hashtable<Node, TLAType> typeTable; private HashSet<PositionedNode> positions; - // public TlaTypePrinter(final NodeIdAssignment nodeIds) { - // this.nodeIds = nodeIds; - // } - - public TlaTypePrinter(NodeIdAssignment nodeIdAssignment, + public TlaTypePrinter(INodeIds nodeIds, Hashtable<Node, TLAType> typeTable) { - this.nodeIds = nodeIdAssignment; + this.nodeIds = nodeIds; this.typeTable = typeTable; } @@ -55,19 +51,19 @@ public class TlaTypePrinter implements PositionPrinter, TypeVisitorInterface { } final Integer id = nodeIds.lookup(node); - if (id == null) { - pout.printAtom("none"); + if (positions != null && positions.contains(node)) { + PositionedNode pNode = (PositionedNode) node; + pout.openTerm("pos", true); + pout.printNumber(id == null ? -1 : id); + pout.printNumber(nodeIds.lookupFileNumber(node)); + pout.printNumber(pNode.getStartPos().getLine()); + pout.printNumber(pNode.getStartPos().getPos()); + pout.printNumber(pNode.getEndPos().getLine()); + pout.printNumber(pNode.getEndPos().getPos()); + pout.closeTerm(); } else { - if (positions != null && positions.contains(node)) { - PositionedNode pNode = (PositionedNode) node; - pout.openTerm("pos", true); - pout.printNumber(id); - pout.printNumber(nodeIds.lookupFileNumber(node)); - pout.printNumber(pNode.getStartPos().getLine()); - pout.printNumber(pNode.getStartPos().getPos()); - pout.printNumber(pNode.getEndPos().getLine()); - pout.printNumber(pNode.getEndPos().getPos()); - pout.closeTerm(); + if (id == null) { + pout.printAtom("none"); } else { pout.printNumber(id); } -- GitLab