From 94410eea3a2ea77f06998e3a79ef5f3950a09ead Mon Sep 17 00:00:00 2001 From: Wide_Cat Date: Mon, 1 Sep 2025 18:33:17 +0100 Subject: [PATCH 1/2] Make peeking the Value stack return Value.NULL if it's empty --- src/main/java/org/meteordev/starscript/Starscript.java | 2 ++ src/main/java/org/meteordev/starscript/utils/Stack.java | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/src/main/java/org/meteordev/starscript/Starscript.java b/src/main/java/org/meteordev/starscript/Starscript.java index bbd3af5..a8b4a2e 100644 --- a/src/main/java/org/meteordev/starscript/Starscript.java +++ b/src/main/java/org/meteordev/starscript/Starscript.java @@ -125,11 +125,13 @@ public Value pop() { /** Returns a value from the stack without removing it. */ public Value peek() { + if (stack.size() == 0) return Value.null_(); return stack.peek(); } /** Returns a value from the stack with an offset without removing it. */ public Value peek(int offset) { + if (stack.size() <= offset) return Value.null_(); return stack.peek(offset); } diff --git a/src/main/java/org/meteordev/starscript/utils/Stack.java b/src/main/java/org/meteordev/starscript/utils/Stack.java index 05f0967..8f14e9b 100644 --- a/src/main/java/org/meteordev/starscript/utils/Stack.java +++ b/src/main/java/org/meteordev/starscript/utils/Stack.java @@ -34,4 +34,8 @@ public T peek() { public T peek(int offset) { return items[size - 1 - offset]; } + + public int size() { + return size; + } } From 51938d387de327524acc6bbf0bda59d157d797f9 Mon Sep 17 00:00:00 2001 From: Wide_Cat Date: Thu, 4 Sep 2025 15:34:12 +0100 Subject: [PATCH 2/2] Update .gitignore --- .gitignore | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 835e8dc..a7d2c8e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ .gradle .idea -build \ No newline at end of file +build +/src/test/generated_tests/ +/out/