diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-11-07 18:59:44 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-11-07 18:59:44 +0000 |
| commit | 965936c9d2983fae0201412df1d7adf4a1bc1c66 (patch) | |
| tree | 9f93bccc6765a2ba80ee4d5ee090732dd58f893b /src/main/java | |
| parent | 73915b6f89e4551575b349d5fda6bacf2b578288 (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.java | 12 | ||||
| -rw-r--r-- | src/main/java/org/shedlang/compiler/parser/Parser.java | 4 | ||||
| -rw-r--r-- | src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java | 8 | ||||
| -rw-r--r-- | src/main/java/org/shedlang/compiler/types/UserDefinedEffectInfo.java | 8 |
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)); } } } |
