aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-11-04 17:08:47 +0000
committerMichael Williamson <mike@zwobble.org>2023-11-04 17:08:47 +0000
commit38384f004445b8a25489e0a281c2d5dc7475c591 (patch)
tree91f6489854fc70bb1b35e71ea996eac58a59040c /src/main/java
parentf05dc81d1dd083a90e6d24c00e658f9a4b04e5be (diff)
Rename effect functions to effect fields
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/ast/untyped/UntypedEffectDefinitionFieldNode.java (renamed from src/main/java/org/shedlang/compiler/ast/untyped/UntypedEffectDefinitionFunctionNode.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.java10
-rw-r--r--src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java10
-rw-r--r--src/main/java/org/shedlang/compiler/types/UserDefinedEffectInfo.java2
5 files changed, 18 insertions, 18 deletions
diff --git a/src/main/java/org/shedlang/compiler/ast/untyped/UntypedEffectDefinitionFunctionNode.java b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedEffectDefinitionFieldNode.java
index 8940eb24..3ab90d57 100644
--- a/src/main/java/org/shedlang/compiler/ast/untyped/UntypedEffectDefinitionFunctionNode.java
+++ b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedEffectDefinitionFieldNode.java
@@ -2,7 +2,7 @@ package org.shedlang.compiler.ast.untyped;
import org.shedlang.compiler.sources.Source;
-public record UntypedEffectDefinitionFunctionNode(
+public record UntypedEffectDefinitionFieldNode(
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 f6b5c2ce..1e4f7e35 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<UntypedEffectDefinitionFunctionNode> functions,
+ List<UntypedEffectDefinitionFieldNode> fields,
Source source
) implements UntypedNamespaceStatementNode, UntypedVariableDeclarationNode {
public static Builder builder() {
@@ -25,13 +25,13 @@ public record UntypedEffectDefinitionNode(
public record Builder(
String name,
Visibility visibility,
- PVector<UntypedEffectDefinitionFunctionNode> functions
+ PVector<UntypedEffectDefinitionFieldNode> fields
) {
public UntypedEffectDefinitionNode build() {
return new UntypedEffectDefinitionNode(
name,
visibility,
- functions,
+ fields,
Sources.NULL
);
}
@@ -40,15 +40,15 @@ public record UntypedEffectDefinitionNode(
return new Builder(
name,
this.visibility,
- this.functions
+ this.fields
);
}
- public Builder addFunction(String name, UntypedFunctionTypeNode type) {
+ public Builder addField(String name, UntypedFunctionTypeNode type) {
return new Builder(
this.name,
this.visibility,
- this.functions.plus(new UntypedEffectDefinitionFunctionNode(name, type, Sources.NULL))
+ this.fields.plus(new UntypedEffectDefinitionFieldNode(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 a1318300..5010ee13 100644
--- a/src/main/java/org/shedlang/compiler/parser/Parser.java
+++ b/src/main/java/org/shedlang/compiler/parser/Parser.java
@@ -214,7 +214,7 @@ public class Parser {
var functions = parseMany(
() -> tokens.isNext(TokenType.SYMBOL_BRACE_CLOSE),
- () -> parseEffectDefinitionFunction(tokens),
+ () -> parseEffectDefinitionField(tokens),
() -> true
);
@@ -226,7 +226,7 @@ public class Parser {
return new UntypedEffectDefinitionNode(name, visibility, functions, source);
}
- private static UntypedEffectDefinitionFunctionNode parseEffectDefinitionFunction(
+ private static UntypedEffectDefinitionFieldNode parseEffectDefinitionField(
TokenIterator<TokenType> tokens
) {
var start = tokens.position();
@@ -235,17 +235,17 @@ public class Parser {
var name = tokens.nextValue(TokenType.IDENTIFIER);
- var type = parseEffectDefinitionFunctionType(tokens);
+ var type = parseEffectDefinitionFieldType(tokens);
tokens.skip(TokenType.SYMBOL_SEMICOLON);
var end = tokens.position();
var source = start.to(end);
- return new UntypedEffectDefinitionFunctionNode(name, type, source);
+ return new UntypedEffectDefinitionFieldNode(name, type, source);
}
- private static UntypedFunctionTypeNode parseEffectDefinitionFunctionType(
+ private static UntypedFunctionTypeNode parseEffectDefinitionFieldType(
TokenIterator<TokenType> tokens
) {
var start = tokens.position();
diff --git a/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java b/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java
index c6c57866..1a27345e 100644
--- a/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java
+++ b/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java
@@ -412,15 +412,15 @@ public class TypeChecker {
public TypeCheckerContext defineTypes(TypeCheckerContext context) {
var effect = context.getLexicalState(UserDefinedEffect.class, untyped.name());
- var functions = untyped.functions().stream()
- .map(functionNode -> {
- var typedFunctionTypeNode = typeCheckFunctionType(functionNode.type(), context);
+ var fields = untyped.fields().stream()
+ .map(fieldNode -> {
+ var typedFunctionTypeNode = typeCheckFunctionType(fieldNode.type(), context);
- return Map.entry(functionNode.name(), typedFunctionTypeNode.value());
+ return Map.entry(fieldNode.name(), typedFunctionTypeNode.value());
})
.collect(PCollectors.toOrderedMap());
- var effectInfo = new UserDefinedEffectInfo(new FieldsInfo<>(functions));
+ var effectInfo = new UserDefinedEffectInfo(new FieldsInfo<>(fields));
return context.addUserDefinedEffectInfo(effect, effectInfo);
}
diff --git a/src/main/java/org/shedlang/compiler/types/UserDefinedEffectInfo.java b/src/main/java/org/shedlang/compiler/types/UserDefinedEffectInfo.java
index eb05cf1d..a36b85a6 100644
--- a/src/main/java/org/shedlang/compiler/types/UserDefinedEffectInfo.java
+++ b/src/main/java/org/shedlang/compiler/types/UserDefinedEffectInfo.java
@@ -1,5 +1,5 @@
package org.shedlang.compiler.types;
-public record UserDefinedEffectInfo(FieldsInfo<FunctionType> functions) {
+public record UserDefinedEffectInfo(FieldsInfo<FunctionType> fields) {
}