diff options
| author | Michael Williamson <mike@zwobble.org> | 2024-12-19 18:21:30 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2024-12-19 18:21:30 +0000 |
| commit | 550bdc5177fa72234a1359795615df9f80a98657 (patch) | |
| tree | 0d604f4b72f2824690c575681528a0b71bd8f2a2 /src/test/java | |
| parent | 7bbacfafc62ffa7f8ca5b384f29749dacfb5f86b (diff) | |
Rename field access to member access
Diffstat (limited to 'src/test/java')
9 files changed, 58 insertions, 58 deletions
diff --git a/src/test/java/org/shedlang/compiler/ast/typed/Typed.java b/src/test/java/org/shedlang/compiler/ast/typed/Typed.java index bfa2564b..f391a316 100644 --- a/src/test/java/org/shedlang/compiler/ast/typed/Typed.java +++ b/src/test/java/org/shedlang/compiler/ast/typed/Typed.java @@ -78,14 +78,6 @@ public class Typed { return new TypedExpressionStatementNode(expression, Sources.NULL); } - public static TypedFieldAccessNode fieldAccess( - TypedExpressionNode receiver, - String fieldName, - Type type - ) { - return new TypedFieldAccessNode(receiver, fieldName, type, Sources.NULL); - } - public static TypedFunctionReturnNode functionReturn(TypedExpressionNode expression) { return new TypedFunctionReturnNode(expression, Sources.NULL); } @@ -159,6 +151,14 @@ public class Typed { ); } + public static TypedMemberAccessNode memberAccess( + TypedExpressionNode receiver, + String memberName, + Type type + ) { + return new TypedMemberAccessNode(receiver, memberName, type, Sources.NULL); + } + public static TypedNamedArgNode namedArg(String name, TypedExpressionNode expression) { return new TypedNamedArgNode(name, expression, Sources.NULL); } diff --git a/src/test/java/org/shedlang/compiler/ast/typed/TypedNodeMatchers.java b/src/test/java/org/shedlang/compiler/ast/typed/TypedNodeMatchers.java index 2b63f11c..3c67685b 100644 --- a/src/test/java/org/shedlang/compiler/ast/typed/TypedNodeMatchers.java +++ b/src/test/java/org/shedlang/compiler/ast/typed/TypedNodeMatchers.java @@ -125,15 +125,15 @@ public class TypedNodeMatchers { ); } - public static Matcher<TypedExpressionNode> isTypedFieldAccessNode( + public static Matcher<TypedExpressionNode> isTypedMemberAccessNode( Matcher<TypedExpressionNode> receiver, - String fieldName, + String memberName, Type type ) { return instanceOf( - TypedFieldAccessNode.class, + TypedMemberAccessNode.class, has("receiver", x -> x.receiver(), receiver), - has("fieldName", x -> x.fieldName(), equalTo(fieldName)), + has("memberName", x -> x.memberName(), equalTo(memberName)), has("type", x -> x.type(), equalTo(type)) ); } diff --git a/src/test/java/org/shedlang/compiler/ast/untyped/Untyped.java b/src/test/java/org/shedlang/compiler/ast/untyped/Untyped.java index 2eacfade..58b061cb 100644 --- a/src/test/java/org/shedlang/compiler/ast/untyped/Untyped.java +++ b/src/test/java/org/shedlang/compiler/ast/untyped/Untyped.java @@ -106,13 +106,6 @@ public class Untyped { return new UntypedExpressionStatementNode(expression, Sources.NULL); } - public static UntypedExpressionNode fieldAccess( - UntypedExpressionNode receiver, - String fieldName - ) { - return new UntypedFieldAccessNode(receiver, fieldName, Sources.NULL); - } - public static UntypedFunctionReturnNode functionReturn(UntypedExpressionNode expression) { return functionReturn(Optional.of(expression)); } @@ -142,6 +135,13 @@ public class Untyped { return new UntypedIntLiteralNode(value, Sources.NULL); } + public static UntypedExpressionNode memberAccess( + UntypedExpressionNode receiver, + String memberName + ) { + return new UntypedMemberAccessNode(receiver, memberName, Sources.NULL); + } + public static UntypedNamedArgNode namedArg(String name, UntypedExpressionNode expression) { return new UntypedNamedArgNode(name, expression, Sources.NULL); } diff --git a/src/test/java/org/shedlang/compiler/ast/untyped/UntypedNodeMatchers.java b/src/test/java/org/shedlang/compiler/ast/untyped/UntypedNodeMatchers.java index e0597387..0e11231b 100644 --- a/src/test/java/org/shedlang/compiler/ast/untyped/UntypedNodeMatchers.java +++ b/src/test/java/org/shedlang/compiler/ast/untyped/UntypedNodeMatchers.java @@ -141,17 +141,6 @@ public class UntypedNodeMatchers { ); } - public static Matcher<UntypedExpressionNode> isUntypedFieldAccessNode( - Matcher<UntypedExpressionNode> receiver, - String fieldName - ) { - return instanceOf( - UntypedFieldAccessNode.class, - has("receiver", x -> x.receiver(), receiver), - has("fieldName", x -> x.fieldName(), equalTo(fieldName)) - ); - } - public static UntypedFunctionDefinitionNodeMatcher isUntypedFunctionDefinitionNode() { return UntypedFunctionDefinitionNodeMatcher.empty(); } @@ -225,6 +214,17 @@ public class UntypedNodeMatchers { ); } + public static Matcher<UntypedExpressionNode> isUntypedMemberAccessNode( + Matcher<UntypedExpressionNode> receiver, + String memberName + ) { + return instanceOf( + UntypedMemberAccessNode.class, + has("receiver", x -> x.receiver(), receiver), + has("memberName", x -> x.memberName(), equalTo(memberName)) + ); + } + public static Matcher<UntypedNamedArgNode> isUntypedNamedArgNode( String name, Matcher<UntypedExpressionNode> expression diff --git a/src/test/java/org/shedlang/compiler/parser/ParserFieldAccessTests.java b/src/test/java/org/shedlang/compiler/parser/ParserMemberAccessTests.java index a543d38e..ccb881b7 100644 --- a/src/test/java/org/shedlang/compiler/parser/ParserFieldAccessTests.java +++ b/src/test/java/org/shedlang/compiler/parser/ParserMemberAccessTests.java @@ -2,21 +2,21 @@ package org.shedlang.compiler.parser; import org.junit.jupiter.api.Test; -import static org.shedlang.compiler.ast.untyped.UntypedNodeMatchers.isUntypedFieldAccessNode; +import static org.shedlang.compiler.ast.untyped.UntypedNodeMatchers.isUntypedMemberAccessNode; import static org.shedlang.compiler.ast.untyped.UntypedNodeMatchers.isUntypedReferenceNode; import static org.shedlang.compiler.parser.ParserTesting.parseString; import static org.zwobble.precisely.AssertThat.assertThat; -public class ParserFieldAccessTests { +public class ParserMemberAccessTests { @Test - public void canParseFieldAccess() { + public void canParseMemberAccess() { var source = "x.y"; var node = parseString(source, Parser::parseTopLevelExpression); assertThat( node, - isUntypedFieldAccessNode(isUntypedReferenceNode("x"), "y") + isUntypedMemberAccessNode(isUntypedReferenceNode("x"), "y") ); } } diff --git a/src/test/java/org/shedlang/compiler/shid/ShidCodeGenFieldAccessTests.java b/src/test/java/org/shedlang/compiler/shid/ShidCodeGenMemberAccessTests.java index e7560770..9c82692d 100644 --- a/src/test/java/org/shedlang/compiler/shid/ShidCodeGenFieldAccessTests.java +++ b/src/test/java/org/shedlang/compiler/shid/ShidCodeGenMemberAccessTests.java @@ -16,11 +16,11 @@ import static org.shedlang.compiler.shid.instructions.ShidMatchers.isShidLocalLo import static org.zwobble.precisely.AssertThat.assertThat; import static org.zwobble.precisely.Matchers.isSequence; -public class ShidCodeGenFieldAccessTests { +public class ShidCodeGenMemberAccessTests { @Test public void namespaceFieldAccessIsCompiledToFieldLoad() { var namespaceType = Types.namespace(NamespaceName.of("Example", "Project")); - var node = Typed.fieldAccess( + var node = Typed.memberAccess( Typed.reference("Project", namespaceType), "name", Types.STRING @@ -42,7 +42,7 @@ public class ShidCodeGenFieldAccessTests { @Test public void structFieldAccessIsCompiledToFieldLoad() { var structType = Types.struct(NamespaceName.of("Example", "Project"), "User"); - var node = Typed.fieldAccess( + var node = Typed.memberAccess( Typed.reference("user", structType), "name", Types.STRING @@ -69,7 +69,7 @@ public class ShidCodeGenFieldAccessTests { typeConstructor, List.of(Types.STRING) ); - var node = Typed.fieldAccess( + var node = Typed.memberAccess( Typed.reference("box", constructedType), "value", Types.STRING @@ -88,7 +88,7 @@ public class ShidCodeGenFieldAccessTests { @Test public void userDefinedEffectFieldAccessIsCompiledToFieldLoad() { var effect = Effects.userDefined(NamespaceName.of("Example", "Project"), "State"); - var node = Typed.fieldAccess( + var node = Typed.memberAccess( Typed.reference("State", Types.effectType(effect)), "read", Types.STRING diff --git a/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerFieldAccessTests.java b/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerMemberAccessTests.java index e555181b..7c794243 100644 --- a/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerFieldAccessTests.java +++ b/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerMemberAccessTests.java @@ -11,16 +11,16 @@ import java.util.List; import java.util.Map; import static org.junit.jupiter.api.Assertions.assertThrows; -import static org.shedlang.compiler.ast.typed.TypedNodeMatchers.isTypedFieldAccessNode; +import static org.shedlang.compiler.ast.typed.TypedNodeMatchers.isTypedMemberAccessNode; import static org.shedlang.compiler.ast.typed.TypedNodeMatchers.isTypedReferenceNode; import static org.shedlang.compiler.typechecker.TypeCheckerTesting.typeCheckExpression; import static org.zwobble.precisely.AssertThat.assertThat; import static org.zwobble.precisely.Matchers.equalTo; -public class TypeCheckerFieldAccessTests { +public class TypeCheckerMemberAccessTests { @Test public void canAccessFieldOnStructType() { - var untyped = Untyped.fieldAccess( + var untyped = Untyped.memberAccess( Untyped.reference("user"), "name" ); @@ -36,7 +36,7 @@ public class TypeCheckerFieldAccessTests { assertThat( typed.value(), - isTypedFieldAccessNode( + isTypedMemberAccessNode( isTypedReferenceNode("user", structType), "name", Types.STRING @@ -46,7 +46,7 @@ public class TypeCheckerFieldAccessTests { @Test public void canAccessFieldWithFixedTypeOnConstructedStructType() { - var untyped = Untyped.fieldAccess( + var untyped = Untyped.memberAccess( Untyped.reference("x"), "size" ); @@ -70,7 +70,7 @@ public class TypeCheckerFieldAccessTests { assertThat( typed.value(), - isTypedFieldAccessNode( + isTypedMemberAccessNode( isTypedReferenceNode("x", constructedType), "size", Types.INT @@ -80,7 +80,7 @@ public class TypeCheckerFieldAccessTests { @Test public void canAccessFieldWithGenericTypeOnConstructedStructType() { - var untyped = Untyped.fieldAccess( + var untyped = Untyped.memberAccess( Untyped.reference("x"), "value" ); @@ -108,7 +108,7 @@ public class TypeCheckerFieldAccessTests { assertThat( typed.value(), - isTypedFieldAccessNode( + isTypedMemberAccessNode( isTypedReferenceNode("x", constructedType), "value", Types.STRING @@ -118,7 +118,7 @@ public class TypeCheckerFieldAccessTests { @Test public void canAccessFieldOnNamespaceType() { - var untyped = Untyped.fieldAccess( + var untyped = Untyped.memberAccess( Untyped.reference("Example"), "name" ); @@ -136,7 +136,7 @@ public class TypeCheckerFieldAccessTests { assertThat( typed.value(), - isTypedFieldAccessNode( + isTypedMemberAccessNode( isTypedReferenceNode("Example", namespaceType), "name", Types.STRING @@ -146,7 +146,7 @@ public class TypeCheckerFieldAccessTests { @Test public void canAccessFieldOnEffect() { - var untyped = Untyped.fieldAccess( + var untyped = Untyped.memberAccess( Untyped.reference("Effect"), "mark" ); @@ -171,7 +171,7 @@ public class TypeCheckerFieldAccessTests { assertThat( typed.value(), - isTypedFieldAccessNode( + isTypedMemberAccessNode( isTypedReferenceNode("Effect", Types.effectType(effect)), "mark", FunctionType.builder() @@ -186,7 +186,7 @@ public class TypeCheckerFieldAccessTests { @Test public void whenReceiverIsTypeWithoutFieldsThenErrorIsThrown() { - var untyped = Untyped.fieldAccess( + var untyped = Untyped.memberAccess( Untyped.reference("user"), "name" ); @@ -201,7 +201,7 @@ public class TypeCheckerFieldAccessTests { @Test public void whenReceiverHasNoSuchFieldThenErrorIsThrown() { - var untyped = Untyped.fieldAccess( + var untyped = Untyped.memberAccess( Untyped.reference("user"), "name" ); @@ -221,7 +221,7 @@ public class TypeCheckerFieldAccessTests { @Test public void whenStructTypeInfoIsMissingThenErrorIsThrown() { - var untyped = Untyped.fieldAccess( + var untyped = Untyped.memberAccess( Untyped.reference("user"), "name" ); diff --git a/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerNamespaceTests.java b/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerNamespaceTests.java index 28b2421e..e7bf1044 100644 --- a/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerNamespaceTests.java +++ b/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerNamespaceTests.java @@ -430,7 +430,7 @@ public class TypeCheckerNamespaceTests { .withName("printUser") .addPositionalParam("user", Untyped.typeLevelReference("User")) .withReturnType(Untyped.typeLevelReference("Unit")) - .addStatement(Untyped.expressionStatement(Untyped.fieldAccess(Untyped.reference("user"), "name"))) + .addStatement(Untyped.expressionStatement(Untyped.memberAccess(Untyped.reference("user"), "name"))) .build(), UntypedStructDefinitionNode.builder() .withName("User") diff --git a/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerWhenTests.java b/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerWhenTests.java index c6fd0480..02f40efa 100644 --- a/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerWhenTests.java +++ b/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerWhenTests.java @@ -281,7 +281,7 @@ public class TypeCheckerWhenTests { Untyped.typeLevelReference(VARIANT_TYPE_1.name()), Untyped.block(List.of( Untyped.blockReturn( - Untyped.fieldAccess( + Untyped.memberAccess( Untyped.reference("x"), "value" ) @@ -542,7 +542,7 @@ public class TypeCheckerWhenTests { Untyped.whenCase( Untyped.typeLevelReference(VARIANT_TYPE_1.name()), Untyped.block(List.of( - Untyped.blockReturn(Untyped.fieldAccess( + Untyped.blockReturn(Untyped.memberAccess( Untyped.reference("x"), "a" )) @@ -551,7 +551,7 @@ public class TypeCheckerWhenTests { Untyped.whenCase( Untyped.typeLevelReference(VARIANT_TYPE_2.name()), Untyped.block(List.of( - Untyped.blockReturn(Untyped.fieldAccess( + Untyped.blockReturn(Untyped.memberAccess( Untyped.reference("x"), "b" )) |
