aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-07-21 16:39:16 +0100
committerMichael Williamson <mike@zwobble.org>2023-07-21 16:39:16 +0100
commit539e3cd702ec5f1b158d13db8f71e4ecb8d080bc (patch)
tree806f0a9754a6ba968ab53eeeeb146375fac1a22d /src/main/java
parent802b7f3ba61b0c031206ef8b6db50eaa1c763e8f (diff)
Add byte type to Patio
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/patio/ast/PatioSerializer.java3
-rw-r--r--src/main/java/org/shedlang/compiler/patio/ast/types/PatioByteType.java5
-rw-r--r--src/main/java/org/shedlang/compiler/patio/ast/types/PatioType.java2
-rw-r--r--src/main/java/org/shedlang/compiler/patio/ast/types/PatioTypes.java1
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 5a075ab6..59be2821 100644
--- a/src/main/java/org/shedlang/compiler/patio/ast/PatioSerializer.java
+++ b/src/main/java/org/shedlang/compiler/patio/ast/PatioSerializer.java
@@ -261,6 +261,9 @@ public class PatioSerializer {
case PatioBoolType boolType ->
treeIdentifier("bool");
+ case PatioByteType byteType ->
+ treeIdentifier("byte");
+
case PatioDataPointerType dataPointerType ->
treeIdentifier("data-ptr");
diff --git a/src/main/java/org/shedlang/compiler/patio/ast/types/PatioByteType.java b/src/main/java/org/shedlang/compiler/patio/ast/types/PatioByteType.java
new file mode 100644
index 00000000..5159512d
--- /dev/null
+++ b/src/main/java/org/shedlang/compiler/patio/ast/types/PatioByteType.java
@@ -0,0 +1,5 @@
+package org.shedlang.compiler.patio.ast.types;
+
+public record PatioByteType() implements PatioType {
+ static final PatioByteType INSTANCE = new PatioByteType();
+}
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 fe90466f..b3a1bfa5 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 PatioBoolType, PatioDataPointerType, PatioFunctionPointerType, PatioIntType, PatioVoidType {
+public sealed interface PatioType permits PatioBoolType, PatioByteType, 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 35f82222..edf24ef0 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
@@ -5,6 +5,7 @@ public class PatioTypes {
}
public static final PatioBoolType BOOL = PatioBoolType.INSTANCE;
+ public static final PatioByteType BYTE = PatioByteType.INSTANCE;
public static final PatioDataPointerType DATA_POINTER = PatioDataPointerType.INSTANCE;
public static final PatioFunctionPointerType FUNCTION_POINTER = PatioFunctionPointerType.INSTANCE;
public static final PatioIntType INT = PatioIntType.INSTANCE;