diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-07-20 23:52:38 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-07-20 23:52:38 +0100 |
| commit | a1c86fe89a5e2b049f81745b0666887766826dd6 (patch) | |
| tree | 502f569c035a74252f9925bbfe2392ba84569d1d /src/main/java | |
| parent | 496326a4f3443092a3b0a1128de66f9e3bff1683 (diff) | |
Add function-ptr operand
Diffstat (limited to 'src/main/java')
3 files changed, 8 insertions, 1 deletions
diff --git a/src/main/java/org/shedlang/compiler/patio/ast/PatioSerializer.java b/src/main/java/org/shedlang/compiler/patio/ast/PatioSerializer.java index 50ab1e42..523ac805 100644 --- a/src/main/java/org/shedlang/compiler/patio/ast/PatioSerializer.java +++ b/src/main/java/org/shedlang/compiler/patio/ast/PatioSerializer.java @@ -219,6 +219,9 @@ public class PatioSerializer { case PatioDataPtr dataPtr -> treeList(treeIdentifier("data-ptr"), treeString(dataPtr.name())); + case PatioFunctionPtr functionPtr -> + treeList(treeIdentifier("function-ptr"), treeString(functionPtr.name())); + case PatioInt int_ -> treeList(treeIdentifier("int"), treeInt(int_.value())); diff --git a/src/main/java/org/shedlang/compiler/patio/ast/operands/PatioFunctionPtr.java b/src/main/java/org/shedlang/compiler/patio/ast/operands/PatioFunctionPtr.java new file mode 100644 index 00000000..87b4dd19 --- /dev/null +++ b/src/main/java/org/shedlang/compiler/patio/ast/operands/PatioFunctionPtr.java @@ -0,0 +1,4 @@ +package org.shedlang.compiler.patio.ast.operands; + +public record PatioFunctionPtr(String name) implements PatioOperand { +} diff --git a/src/main/java/org/shedlang/compiler/patio/ast/operands/PatioOperand.java b/src/main/java/org/shedlang/compiler/patio/ast/operands/PatioOperand.java index 47d0d0ec..ccad9a11 100644 --- a/src/main/java/org/shedlang/compiler/patio/ast/operands/PatioOperand.java +++ b/src/main/java/org/shedlang/compiler/patio/ast/operands/PatioOperand.java @@ -1,5 +1,5 @@ package org.shedlang.compiler.patio.ast.operands; -public sealed interface PatioOperand permits PatioBool, PatioDataPtr, PatioInt, PatioLocalRef { +public sealed interface PatioOperand permits PatioBool, PatioDataPtr, PatioFunctionPtr, PatioInt, PatioLocalRef { } |
