Skip to content

Commit 79cc55e

Browse files
committed
rt: Allow deleting symbols at runtime. This is NEVER exposed to the language
1 parent 5dfc1bc commit 79cc55e

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

src/main/java/org/piccode/rt/Context.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,12 @@ public void putLocal(String name, PiccodeValue value) {
194194
frame.putLocal(name, value);
195195
}
196196

197+
public void deleteLocal(String name) {
198+
var frame = call_frames.peek();
199+
frame.deleteLocal(name);
200+
}
201+
202+
197203
public PiccodeValue getValue(String name) {
198204
if (call_frames.isEmpty()) {
199205
return global_scope.get(name);

src/main/java/org/piccode/rt/StackFrame.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,4 +78,9 @@ public void dropScope() {
7878
}
7979
}
8080

81+
void deleteLocal(String name) {
82+
var frame = scope_stack.peek();
83+
frame.remove(name);
84+
}
85+
8186
}

0 commit comments

Comments
 (0)