diff options
| author | Michael Williamson <mike@zwobble.org> | 2024-03-02 13:55:47 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2024-03-02 13:56:00 +0000 |
| commit | a7108d4744d972886845690df7f66edb3b5d48ec (patch) | |
| tree | 8c39b4df4c9fefd45ddec7d333c78bc383ca3902 /src/main/java | |
| parent | f6a85de5487af16af0f48eced8f770dbada24f75 (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.java | 17 |
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 |
