aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2024-12-19 18:31:25 +0000
committerMichael Williamson <mike@zwobble.org>2024-12-19 18:31:25 +0000
commit69d904e54d413e58ee854de474fbd82d3e94a81e (patch)
treebf1c30d9a68b9731ea90f647682a6fdd9ce8264e /src/main/java
parent8f812ba74b95cfb68f8792b6b0dde61e42c36a5f (diff)
Remove this parameter from method type
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java11
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
));
}