summaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-08-08 22:21:27 +0100
committerMichael Williamson <mike@zwobble.org>2026-08-08 22:21:27 +0100
commit9eae31ae92dd7691cb0ed19bba3913a9229af311 (patch)
treec7f41e624b19229ac36d649e36bc3b4bbc942a44 /src/main/java/org/zwobble
parentee1024c97dee34d4998cd1f8f134a6403f74073e (diff)
Extract notion of ConstructedType
Diffstat (limited to 'src/main/java/org/zwobble')
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/types/ConstructedNativeType.java6
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/types/ConstructedType.java4
2 files changed, 9 insertions, 1 deletions
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/types/ConstructedNativeType.java b/src/main/java/org/zwobble/hobgoblin/compiler/types/ConstructedNativeType.java
index 0f8051a..5e49e31 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/types/ConstructedNativeType.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/types/ConstructedNativeType.java
@@ -6,7 +6,11 @@ import java.util.stream.Collectors;
public record ConstructedNativeType(
TypeConstructor<SimpleNativeType> constructor,
List<Type> args
-) implements Type {
+) implements ConstructedType, Type {
+ public NamespaceName namespaceName() {
+ return constructor.genericType().namespaceName();
+ }
+
@Override
public String name() {
return constructor.genericType().name();
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/types/ConstructedType.java b/src/main/java/org/zwobble/hobgoblin/compiler/types/ConstructedType.java
new file mode 100644
index 0000000..03d4718
--- /dev/null
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/types/ConstructedType.java
@@ -0,0 +1,4 @@
+package org.zwobble.hobgoblin.compiler.types;
+
+public sealed interface ConstructedType permits ConstructedNativeType {
+}