From 38384f004445b8a25489e0a281c2d5dc7475c591 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 4 Nov 2023 17:08:47 +0000 Subject: Rename effect functions to effect fields --- .../ast/untyped/UntypedEffectDefinitionFieldNode.java | 10 ++++++++++ .../ast/untyped/UntypedEffectDefinitionFunctionNode.java | 10 ---------- .../compiler/ast/untyped/UntypedEffectDefinitionNode.java | 12 ++++++------ src/main/java/org/shedlang/compiler/parser/Parser.java | 10 +++++----- .../java/org/shedlang/compiler/typechecker/TypeChecker.java | 10 +++++----- .../org/shedlang/compiler/types/UserDefinedEffectInfo.java | 2 +- 6 files changed, 27 insertions(+), 27 deletions(-) create mode 100644 src/main/java/org/shedlang/compiler/ast/untyped/UntypedEffectDefinitionFieldNode.java delete mode 100644 src/main/java/org/shedlang/compiler/ast/untyped/UntypedEffectDefinitionFunctionNode.java (limited to 'src/main/java') diff --git a/src/main/java/org/shedlang/compiler/ast/untyped/UntypedEffectDefinitionFieldNode.java b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedEffectDefinitionFieldNode.java new file mode 100644 index 00000000..3ab90d57 --- /dev/null +++ b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedEffectDefinitionFieldNode.java @@ -0,0 +1,10 @@ +package org.shedlang.compiler.ast.untyped; + +import org.shedlang.compiler.sources.Source; + +public record UntypedEffectDefinitionFieldNode( + String name, + UntypedFunctionTypeNode type, + Source source +) implements UntypedNode { +} diff --git a/src/main/java/org/shedlang/compiler/ast/untyped/UntypedEffectDefinitionFunctionNode.java b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedEffectDefinitionFunctionNode.java deleted file mode 100644 index 8940eb24..00000000 --- a/src/main/java/org/shedlang/compiler/ast/untyped/UntypedEffectDefinitionFunctionNode.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.shedlang.compiler.ast.untyped; - -import org.shedlang.compiler.sources.Source; - -public record UntypedEffectDefinitionFunctionNode( - String name, - UntypedFunctionTypeNode type, - Source source -) implements UntypedNode { -} 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 functions, + List 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 functions + PVector 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 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 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 functions) { +public record UserDefinedEffectInfo(FieldsInfo fields) { } -- cgit v1.2.3