From 9eae31ae92dd7691cb0ed19bba3913a9229af311 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 8 Aug 2026 22:21:27 +0100 Subject: Extract notion of ConstructedType --- .../org/zwobble/hobgoblin/compiler/types/ConstructedNativeType.java | 6 +++++- .../java/org/zwobble/hobgoblin/compiler/types/ConstructedType.java | 4 ++++ 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 src/main/java/org/zwobble/hobgoblin/compiler/types/ConstructedType.java (limited to 'src') 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 constructor, List 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 { +} -- cgit v1.2.3