diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-07-20 16:55:12 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-07-20 16:55:12 +0100 |
| commit | f37915a2907d090b10fb5a323211cf858bb8f2bf (patch) | |
| tree | ad0ce833288a9b91f925e4ef5d0d8b5d460c70d0 /src/main/java | |
| parent | 1bf46b8978d87e40012da86af60545e0c37dfb79 (diff) | |
Add Patio void type
Diffstat (limited to 'src/main/java')
4 files changed, 10 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 6059101e..4182b918 100644 --- a/src/main/java/org/shedlang/compiler/patio/ast/PatioSerializer.java +++ b/src/main/java/org/shedlang/compiler/patio/ast/PatioSerializer.java @@ -206,6 +206,9 @@ public class PatioSerializer { case PatioIntType intType -> treeIdentifier("int"); + + case PatioVoidType voidType -> + treeIdentifier("void"); }; } diff --git a/src/main/java/org/shedlang/compiler/patio/ast/types/PatioType.java b/src/main/java/org/shedlang/compiler/patio/ast/types/PatioType.java index 37b7ec4c..69b07faf 100644 --- a/src/main/java/org/shedlang/compiler/patio/ast/types/PatioType.java +++ b/src/main/java/org/shedlang/compiler/patio/ast/types/PatioType.java @@ -1,4 +1,4 @@ package org.shedlang.compiler.patio.ast.types; -public sealed interface PatioType permits PatioDataPointerType, PatioFunctionPointerType, PatioIntType { +public sealed interface PatioType permits PatioDataPointerType, PatioFunctionPointerType, PatioIntType, PatioVoidType { } diff --git a/src/main/java/org/shedlang/compiler/patio/ast/types/PatioTypes.java b/src/main/java/org/shedlang/compiler/patio/ast/types/PatioTypes.java index 7059715d..95e07fbf 100644 --- a/src/main/java/org/shedlang/compiler/patio/ast/types/PatioTypes.java +++ b/src/main/java/org/shedlang/compiler/patio/ast/types/PatioTypes.java @@ -9,6 +9,7 @@ public class PatioTypes { public static final PatioDataPointerType DATA_POINTER = PatioDataPointerType.INSTANCE; public static final PatioFunctionPointerType FUNCTION_POINTER = PatioFunctionPointerType.INSTANCE; public static final PatioIntType INT = PatioIntType.INSTANCE; + public static final PatioVoidType VOID = PatioVoidType.INSTANCE; public static PatioDataLayout scalar(PatioType type) { return new PatioScalar(type); diff --git a/src/main/java/org/shedlang/compiler/patio/ast/types/PatioVoidType.java b/src/main/java/org/shedlang/compiler/patio/ast/types/PatioVoidType.java new file mode 100644 index 00000000..359f17e3 --- /dev/null +++ b/src/main/java/org/shedlang/compiler/patio/ast/types/PatioVoidType.java @@ -0,0 +1,5 @@ +package org.shedlang.compiler.patio.ast.types; + +public record PatioVoidType() implements PatioType { + public static final PatioVoidType INSTANCE = new PatioVoidType(); +} |
