aboutsummaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2024-12-19 18:21:30 +0000
committerMichael Williamson <mike@zwobble.org>2024-12-19 18:21:30 +0000
commit550bdc5177fa72234a1359795615df9f80a98657 (patch)
tree0d604f4b72f2824690c575681528a0b71bd8f2a2 /src/test/java
parent7bbacfafc62ffa7f8ca5b384f29749dacfb5f86b (diff)
Rename field access to member access
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/org/shedlang/compiler/ast/typed/Typed.java16
-rw-r--r--src/test/java/org/shedlang/compiler/ast/typed/TypedNodeMatchers.java8
-rw-r--r--src/test/java/org/shedlang/compiler/ast/untyped/Untyped.java14
-rw-r--r--src/test/java/org/shedlang/compiler/ast/untyped/UntypedNodeMatchers.java22
-rw-r--r--src/test/java/org/shedlang/compiler/parser/ParserMemberAccessTests.java (renamed from src/test/java/org/shedlang/compiler/parser/ParserFieldAccessTests.java)8
-rw-r--r--src/test/java/org/shedlang/compiler/shid/ShidCodeGenMemberAccessTests.java (renamed from src/test/java/org/shedlang/compiler/shid/ShidCodeGenFieldAccessTests.java)10
-rw-r--r--src/test/java/org/shedlang/compiler/typechecker/TypeCheckerMemberAccessTests.java (renamed from src/test/java/org/shedlang/compiler/typechecker/TypeCheckerFieldAccessTests.java)30
-rw-r--r--src/test/java/org/shedlang/compiler/typechecker/TypeCheckerNamespaceTests.java2
-rw-r--r--src/test/java/org/shedlang/compiler/typechecker/TypeCheckerWhenTests.java6
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"
))