aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-06-09 18:17:35 +0100
committerMichael Williamson <mike@zwobble.org>2023-06-09 18:17:35 +0100
commit026c9207de0685cc665eef980c2934dc53e9cf90 (patch)
treef85de647f5cddf09ba79ec9ef63b003d42aff41b /src/main/java
parent92bcb4b11954348daa759eb967d2b15c12744dc5 (diff)
Add unit type
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/types/Type.java2
-rw-r--r--src/main/java/org/shedlang/compiler/types/Types.java1
-rw-r--r--src/main/java/org/shedlang/compiler/types/UnitType.java8
3 files changed, 10 insertions, 1 deletions
diff --git a/src/main/java/org/shedlang/compiler/types/Type.java b/src/main/java/org/shedlang/compiler/types/Type.java
index df8cebc5..b104f137 100644
--- a/src/main/java/org/shedlang/compiler/types/Type.java
+++ b/src/main/java/org/shedlang/compiler/types/Type.java
@@ -1,4 +1,4 @@
package org.shedlang.compiler.types;
-public sealed interface Type permits StringType {
+public sealed interface Type permits StringType, UnitType {
}
diff --git a/src/main/java/org/shedlang/compiler/types/Types.java b/src/main/java/org/shedlang/compiler/types/Types.java
index 7c3556a5..0151f7ad 100644
--- a/src/main/java/org/shedlang/compiler/types/Types.java
+++ b/src/main/java/org/shedlang/compiler/types/Types.java
@@ -5,4 +5,5 @@ public class Types {
}
public static final Type STRING = StringType.INSTANCE;
+ public static final Type UNIT = UnitType.INSTANCE;
}
diff --git a/src/main/java/org/shedlang/compiler/types/UnitType.java b/src/main/java/org/shedlang/compiler/types/UnitType.java
new file mode 100644
index 00000000..a84b66bd
--- /dev/null
+++ b/src/main/java/org/shedlang/compiler/types/UnitType.java
@@ -0,0 +1,8 @@
+package org.shedlang.compiler.types;
+
+public final class UnitType implements Type {
+ private UnitType() {
+ }
+
+ static final UnitType INSTANCE = new UnitType();
+}