From 15dcbeff0e28f0d6d3da8702b24f60ac52686609 Mon Sep 17 00:00:00 2001 From: OszkarSemerath Date: Sun, 5 Feb 2023 00:13:13 +0100 Subject: Code quality improvements in nodes printer appending + empty node stack checking --- .../main/java/tools/refinery/store/map/internal/ImmutableNode.java | 7 ++++--- .../main/java/tools/refinery/store/map/internal/MutableNode.java | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) (limited to 'subprojects') diff --git a/subprojects/store/src/main/java/tools/refinery/store/map/internal/ImmutableNode.java b/subprojects/store/src/main/java/tools/refinery/store/map/internal/ImmutableNode.java index e437aceb..914bab08 100644 --- a/subprojects/store/src/main/java/tools/refinery/store/map/internal/ImmutableNode.java +++ b/subprojects/store/src/main/java/tools/refinery/store/map/internal/ImmutableNode.java @@ -225,6 +225,9 @@ public class ImmutableNode extends Node { // 2. look inside the subnodes int nodes = Integer.bitCount(this.nodeMap); + if(cursor.nodeIndexStack.peek()==null) { + throw new IllegalStateException("Cursor moved to the next state when the state is empty."); + } int newNodeIndex = cursor.nodeIndexStack.peek() + 1; if (newNodeIndex < nodes) { // 2.1 found next subnode, move down to the subnode @@ -252,9 +255,7 @@ public class ImmutableNode extends Node { @Override public void prettyPrint(StringBuilder builder, int depth, int code) { - for (int i = 0; i < depth; i++) { - builder.append("\t"); - } + builder.append("\t".repeat(Math.max(0, depth))); if (code >= 0) { builder.append(code); builder.append(":"); diff --git a/subprojects/store/src/main/java/tools/refinery/store/map/internal/MutableNode.java b/subprojects/store/src/main/java/tools/refinery/store/map/internal/MutableNode.java index 9d15a0d7..cdc66a10 100644 --- a/subprojects/store/src/main/java/tools/refinery/store/map/internal/MutableNode.java +++ b/subprojects/store/src/main/java/tools/refinery/store/map/internal/MutableNode.java @@ -306,6 +306,9 @@ public class MutableNode extends Node { } // 2. look inside the subnodes + if(cursor.nodeIndexStack.peek()==null) { + throw new IllegalStateException("Cursor moved to the next state when the state is empty."); + } for (int index = cursor.nodeIndexStack.peek() + 1; index < FACTOR; index++) { if (this.content[index * 2] == null && this.content[index * 2 + 1] != null) { // 2.1 found next subnode, move down to the subnode @@ -335,9 +338,7 @@ public class MutableNode extends Node { @Override public void prettyPrint(StringBuilder builder, int depth, int code) { - for (int i = 0; i < depth; i++) { - builder.append("\t"); - } + builder.append("\t".repeat(Math.max(0, depth))); if (code >= 0) { builder.append(code); builder.append(":"); -- cgit v1.2.3-70-g09d2