diff options
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java b/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java index 16728f8c..f525a809 100644 --- a/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java +++ b/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java @@ -1722,9 +1722,18 @@ public class TypeChecker { typeCheckMethodStates.put(untypedMethodNode.name(), typeCheckFunctionState); + var functionType = declareFunctionResult.value().type(); + // TODO: check first parameter type? + var methodType = new FunctionType( + functionType.typeLevelParams(), + functionType.positionalParams().stream().skip(1).toList(), + functionType.namedParams(), + functionType.effect(), + functionType.returnType() + ); methodInfos.add(new MethodInfo( untypedMethodNode.name(), - declareFunctionResult.value().type() + methodType )); } |
