aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-11-07 18:59:44 +0000
committerMichael Williamson <mike@zwobble.org>2023-11-07 18:59:44 +0000
commit965936c9d2983fae0201412df1d7adf4a1bc1c66 (patch)
tree9f93bccc6765a2ba80ee4d5ee090732dd58f893b /src/main/java
parent73915b6f89e4551575b349d5fda6bacf2b578288 (diff)
Rename effect field to effect method
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/ast/untyped/UntypedEffectDefinitionMethodNode.java (renamed from src/main/java/org/shedlang/compiler/ast/untyped/UntypedEffectDefinitionFieldNode.java)2
-rw-r--r--src/main/java/org/shedlang/compiler/ast/untyped/UntypedEffectDefinitionNode.java12
-rw-r--r--src/main/java/org/shedlang/compiler/parser/Parser.java4
-rw-r--r--src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java8
-rw-r--r--src/main/java/org/shedlang/compiler/types/UserDefinedEffectInfo.java8
5 files changed, 17 insertions, 17 deletions
diff --git a/src/main/java/org/shedlang/compiler/ast/untyped/UntypedEffectDefinitionFieldNode.java b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedEffectDefinitionMethodNode.java
index 3ab90d57..461e3dd5 100644
--- a/src/main/java/org/shedlang/compiler/ast/untyped/UntypedEffectDefinitionFieldNode.java
+++ b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedEffectDefinitionMethodNode.java
@@ -2,7 +2,7 @@ package org.shedlang.compiler.ast.untyped;
import org.shedlang.compiler.sources.Source;
-public record UntypedEffectDefinitionFieldNode(
+public record UntypedEffectDefinitionMethodNode(
String name,
UntypedFunctionTypeNode type,
Source source
diff --git a/src/main/java/org/shedlang/compiler/ast/untyped/UntypedEffectDefinitionNode.java b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedEffectDefinitionNode.java
index 1e4f7e35..37f3dce1 100644
--- a/src/main/java/org/shedlang/compiler/ast/untyped/UntypedEffectDefinitionNode.java
+++ b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedEffectDefinitionNode.java
@@ -11,7 +11,7 @@ import java.util.List;
public record UntypedEffectDefinitionNode(
String name,
Visibility visibility,
- List<UntypedEffectDefinitionFieldNode> fields,
+ List<UntypedEffectDefinitionMethodNode> methods,
Source source
) implements UntypedNamespaceStatementNode, UntypedVariableDeclarationNode {
public static Builder builder() {
@@ -25,13 +25,13 @@ public record UntypedEffectDefinitionNode(
public record Builder(
String name,
Visibility visibility,
- PVector<UntypedEffectDefinitionFieldNode> fields
+ PVector<UntypedEffectDefinitionMethodNode> methods
) {
public UntypedEffectDefinitionNode build() {
return new UntypedEffectDefinitionNode(
name,
visibility,
- fields,
+ methods,
Sources.NULL
);
}
@@ -40,15 +40,15 @@ public record UntypedEffectDefinitionNode(
return new Builder(
name,
this.visibility,
- this.fields
+ this.methods
);
}
- public Builder addField(String name, UntypedFunctionTypeNode type) {
+ public Builder addMethod(String name, UntypedFunctionTypeNode type) {
return new Builder(
this.name,
this.visibility,
- this.fields.plus(new UntypedEffectDefinitionFieldNode(name, type, Sources.NULL))
+ this.methods.plus(new UntypedEffectDefinitionMethodNode(name, type, Sources.NULL))
);
}
}
diff --git a/src/main/java/org/shedlang/compiler/parser/Parser.java b/src/main/java/org/shedlang/compiler/parser/Parser.java
index 7536f3b9..55e2202d 100644
--- a/src/main/java/org/shedlang/compiler/parser/Parser.java
+++ b/src/main/java/org/shedlang/compiler/parser/Parser.java
@@ -226,7 +226,7 @@ public class Parser {
return new UntypedEffectDefinitionNode(name, visibility, functions, source);
}
- private static UntypedEffectDefinitionFieldNode parseEffectDefinitionField(
+ private static UntypedEffectDefinitionMethodNode parseEffectDefinitionField(
TokenIterator<TokenType> tokens
) {
var start = tokens.position();
@@ -242,7 +242,7 @@ public class Parser {
var end = tokens.position();
var source = start.to(end);
- return new UntypedEffectDefinitionFieldNode(name, type, source);
+ return new UntypedEffectDefinitionMethodNode(name, type, source);
}
private static UntypedFunctionTypeNode parseEffectDefinitionFieldType(
diff --git a/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java b/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java
index 29afe86f..51bb441f 100644
--- a/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java
+++ b/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java
@@ -407,7 +407,7 @@ public class TypeChecker {
public TypeCheckerContext defineTypes(TypeCheckerContext context) {
var effect = context.getLexicalState(UserDefinedEffect.class, untyped.name());
- var fields = untyped.fields().stream()
+ var fields = untyped.methods().stream()
.map(fieldNode -> {
var typedFunctionTypeNode = typeCheckFunctionType(fieldNode.type(), context);
return new FieldInfo<>(fieldNode.name(), typedFunctionTypeNode.value());
@@ -539,7 +539,7 @@ public class TypeChecker {
) {
var effectInfo = context.userDefinedEffectInfo(effect, source);
- return effectInfo.fields().fieldType(fieldName)
+ return effectInfo.methods().fieldType(fieldName)
.orElseThrow(() -> new NoSuchFieldError(receiverType, fieldName, source))
.withEffect(effect);
} else {
@@ -1682,7 +1682,7 @@ public class TypeChecker {
for (var untypedHandlerMethod : untyped.handlerMethods()) {
handledFieldNames.add(untypedHandlerMethod.name());
- var effectFieldType = effectInfo.fields()
+ var effectFieldType = effectInfo.methods()
.fieldType(untypedHandlerMethod.name())
.orElseThrow(() -> new NoSuchFieldError(
Types.effectType(handledEffect),
@@ -1705,7 +1705,7 @@ public class TypeChecker {
}
// TODO: Don't create unnecessary list
- for (var effectField : effectInfo.fields().stream().toList()) {
+ for (var effectField : effectInfo.methods().stream().toList()) {
if (!handledFieldNames.contains(effectField.name())) {
throw new MissingEffectHandlerMethodError(effectField.name(), untyped.source());
}
diff --git a/src/main/java/org/shedlang/compiler/types/UserDefinedEffectInfo.java b/src/main/java/org/shedlang/compiler/types/UserDefinedEffectInfo.java
index 1785d22b..5282a9a4 100644
--- a/src/main/java/org/shedlang/compiler/types/UserDefinedEffectInfo.java
+++ b/src/main/java/org/shedlang/compiler/types/UserDefinedEffectInfo.java
@@ -1,17 +1,17 @@
package org.shedlang.compiler.types;
-public record UserDefinedEffectInfo(FieldsInfo<FunctionType> fields) {
+public record UserDefinedEffectInfo(FieldsInfo<FunctionType> methods) {
public static Builder builder() {
return new Builder(FieldsInfo.builder());
}
- public record Builder(FieldsInfo.Builder<FunctionType> fields) {
+ public record Builder(FieldsInfo.Builder<FunctionType> methods) {
public UserDefinedEffectInfo build() {
- return new UserDefinedEffectInfo(fields.build());
+ return new UserDefinedEffectInfo(methods.build());
}
public Builder addField(String name, FunctionType type) {
- return new Builder(this.fields.addField(name, type));
+ return new Builder(this.methods.addField(name, type));
}
}
}