diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-06-11 10:28:05 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-06-11 10:28:05 +0100 |
| commit | c5bf0550ad465bed16dab1d9c8bed8d2a036d6ab (patch) | |
| tree | 6547c9f88be663377fa56aa297f6836a41441d66 /src/main/java | |
| parent | ea29df54d21ccfd8fcf93bac37f3b57bad327b13 (diff) | |
Add push-unit instruction
Diffstat (limited to 'src/main/java')
3 files changed, 12 insertions, 1 deletions
diff --git a/src/main/java/org/shedlang/compiler/stackir/InstructionSerializer.java b/src/main/java/org/shedlang/compiler/stackir/InstructionSerializer.java index 1acb949a..70959410 100644 --- a/src/main/java/org/shedlang/compiler/stackir/InstructionSerializer.java +++ b/src/main/java/org/shedlang/compiler/stackir/InstructionSerializer.java @@ -109,6 +109,11 @@ public class InstructionSerializer { treeIdentifier("push-string"), treeString(pushStringInstruction.value()) ); + + case PushUnitInstruction pushUnitInstruction -> + treeList( + treeIdentifier("push-unit") + ); }; } 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 0cd97c83..fde83eed 100644 --- a/src/main/java/org/shedlang/compiler/stackir/instructions/Instruction.java +++ b/src/main/java/org/shedlang/compiler/stackir/instructions/Instruction.java @@ -3,7 +3,7 @@ package org.shedlang.compiler.stackir.instructions; import org.shedlang.compiler.sources.Source; public sealed interface Instruction - permits CallInstruction, DefineFunctionInstruction, DiscardInstruction, LocalLoadInstruction, LocalStoreInstruction, ModuleExportInstruction, PushBoolInstruction, PushIntInstruction, PushStringInstruction { + permits CallInstruction, DefineFunctionInstruction, DiscardInstruction, LocalLoadInstruction, LocalStoreInstruction, ModuleExportInstruction, PushBoolInstruction, PushIntInstruction, PushStringInstruction, PushUnitInstruction { Source source(); } diff --git a/src/main/java/org/shedlang/compiler/stackir/instructions/PushUnitInstruction.java b/src/main/java/org/shedlang/compiler/stackir/instructions/PushUnitInstruction.java new file mode 100644 index 00000000..c7c306c4 --- /dev/null +++ b/src/main/java/org/shedlang/compiler/stackir/instructions/PushUnitInstruction.java @@ -0,0 +1,6 @@ +package org.shedlang.compiler.stackir.instructions; + +import org.shedlang.compiler.sources.Source; + +public record PushUnitInstruction(Source source) implements Instruction { +} |
