diff options
| author | Michael Williamson <mike@zwobble.org> | 2026-07-06 21:08:19 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2026-07-06 21:08:19 +0100 |
| commit | 044c79e110a2d65dd186a89030b72f53cb9804cb (patch) | |
| tree | 5c05354ed7a3e837eac93fa2a3b82b00fd8c4cf7 /src/main | |
| parent | 494f3e6c9d3abbba55b2ee5ba4845652f00796c5 (diff) | |
Add name() to Type
Diffstat (limited to 'src/main')
3 files changed, 11 insertions, 0 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 e7de654..0f8051a 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/types/ConstructedNativeType.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/types/ConstructedNativeType.java @@ -8,6 +8,11 @@ public record ConstructedNativeType( List<Type> args ) implements Type { @Override + public String name() { + return constructor.genericType().name(); + } + + @Override public String describe() { var argsString = args().stream() .map(arg -> arg.describe()) diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/types/Type.java b/src/main/java/org/zwobble/hobgoblin/compiler/types/Type.java index 4989821..b82de7d 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/types/Type.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/types/Type.java @@ -1,4 +1,5 @@ package org.zwobble.hobgoblin.compiler.types; public sealed interface Type extends TypeLevelValue permits ConstructedNativeType, ConstructibleType, EnumType, SimpleNativeType, StructType, SumType, TypeLevelValueType, TypeParam { + String name(); } diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/types/TypeLevelValueType.java b/src/main/java/org/zwobble/hobgoblin/compiler/types/TypeLevelValueType.java index b885c25..f2a2e47 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/types/TypeLevelValueType.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/types/TypeLevelValueType.java @@ -2,6 +2,11 @@ package org.zwobble.hobgoblin.compiler.types; public record TypeLevelValueType(TypeLevelValue value) implements Type { @Override + public String name() { + return "TypeLevelValue"; + } + + @Override public String describe() { return "TypeLevelValue[" + value.describe() + "]"; } |
