aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2024-03-02 13:55:47 +0000
committerMichael Williamson <mike@zwobble.org>2024-03-02 13:56:00 +0000
commita7108d4744d972886845690df7f66edb3b5d48ec (patch)
tree8c39b4df4c9fefd45ddec7d333c78bc383ca3902 /src/main/java
parentf6a85de5487af16af0f48eced8f770dbada24f75 (diff)
Add test for type-checking type param
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java b/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java
index ed658460..61e7eb9d 100644
--- a/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java
+++ b/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java
@@ -2119,18 +2119,25 @@ public class TypeChecker {
return context.toResult(typed);
}
+ static TypeParam typeCheckTypeLevelParam(
+ UntypedTypeLevelParamNode untyped,
+ Scope scope
+ ) {
+ return new TypeParam(
+ scope,
+ untyped.name()
+ );
+ }
+
+
private static List<TypeParam> typeCheckTypeLevelParams(
List<UntypedTypeLevelParamNode> typeLevelParamNodes,
Scope scope
) {
return typeLevelParamNodes.stream()
- .map(typeLevelParamNode -> new TypeParam(
- scope,
- typeLevelParamNode.name()
- ))
+ .map(typeLevelParamNode -> typeCheckTypeLevelParam(typeLevelParamNode, scope))
.toList();
}
-
private static TypeCheckerResult<TypedExpressionNode> typeCheckUnitLiteral(
UntypedUnitLiteralNode untyped,
TypeCheckerContext context