From 026c9207de0685cc665eef980c2934dc53e9cf90 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Fri, 9 Jun 2023 18:17:35 +0100 Subject: Add unit type --- src/main/java/org/shedlang/compiler/types/Type.java | 2 +- src/main/java/org/shedlang/compiler/types/Types.java | 1 + src/main/java/org/shedlang/compiler/types/UnitType.java | 8 ++++++++ 3 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 src/main/java/org/shedlang/compiler/types/UnitType.java (limited to 'src/main/java') 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(); +} -- cgit v1.2.3