aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-06-10 10:49:15 +0100
committerMichael Williamson <mike@zwobble.org>2023-06-10 10:49:15 +0100
commit677a2627c238c511b33f7586f97197f5cf3ced5b (patch)
tree5341b1d882e29388f1524313600b27d6496bbc0b /src/main/java
parent8c346ff940f7336a9426bc61d7f321b0944f6bdc (diff)
Add local store instruction
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/stackir/instructions/Instruction.java2
-rw-r--r--src/main/java/org/shedlang/compiler/stackir/instructions/LocalStoreInstruction.java6
2 files changed, 7 insertions, 1 deletions
diff --git a/src/main/java/org/shedlang/compiler/stackir/instructions/Instruction.java b/src/main/java/org/shedlang/compiler/stackir/instructions/Instruction.java
index 1f84ba23..59af2b9b 100644
--- a/src/main/java/org/shedlang/compiler/stackir/instructions/Instruction.java
+++ b/src/main/java/org/shedlang/compiler/stackir/instructions/Instruction.java
@@ -1,4 +1,4 @@
package org.shedlang.compiler.stackir.instructions;
-public sealed interface Instruction permits LocalLoadInstruction, PushBoolInstruction, PushIntInstruction, PushStringInstruction {
+public sealed interface Instruction permits LocalLoadInstruction, LocalStoreInstruction, PushBoolInstruction, PushIntInstruction, PushStringInstruction {
}
diff --git a/src/main/java/org/shedlang/compiler/stackir/instructions/LocalStoreInstruction.java b/src/main/java/org/shedlang/compiler/stackir/instructions/LocalStoreInstruction.java
new file mode 100644
index 00000000..038e3d29
--- /dev/null
+++ b/src/main/java/org/shedlang/compiler/stackir/instructions/LocalStoreInstruction.java
@@ -0,0 +1,6 @@
+package org.shedlang.compiler.stackir.instructions;
+
+import org.shedlang.compiler.sources.Source;
+
+public record LocalStoreInstruction(String name, Source source) implements Instruction {
+}