diff options
Diffstat (limited to 'src/main/java/org')
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() + "]"; } |
