aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/org/shedlang/compiler/ast
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/org/shedlang/compiler/ast')
-rw-r--r--src/test/java/org/shedlang/compiler/ast/typed/TypedNodeMatchers.java11
-rw-r--r--src/test/java/org/shedlang/compiler/ast/untyped/Untyped.java7
2 files changed, 18 insertions, 0 deletions
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 3a46fa54..ef2e4686 100644
--- a/src/test/java/org/shedlang/compiler/ast/typed/TypedNodeMatchers.java
+++ b/src/test/java/org/shedlang/compiler/ast/typed/TypedNodeMatchers.java
@@ -237,4 +237,15 @@ public class TypedNodeMatchers {
has("expression", x -> x.expression(), expression)
);
}
+
+ public static Matcher<TypedNode> isTypedVarNode(
+ Matcher<? super TypedTargetNode> target,
+ Matcher<? super TypedExpressionNode> expression
+ ) {
+ return instanceOf(
+ TypedVarNode.class,
+ has("target", x -> x.target(), target),
+ has("expression", x -> x.expression(), expression)
+ );
+ }
}
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 8dddfa58..141212cc 100644
--- a/src/test/java/org/shedlang/compiler/ast/untyped/Untyped.java
+++ b/src/test/java/org/shedlang/compiler/ast/untyped/Untyped.java
@@ -157,4 +157,11 @@ public class Untyped {
) {
return new UntypedValNode(target, expression, Sources.NULL);
}
+
+ public static UntypedVarNode var(
+ UntypedTargetNode target,
+ UntypedExpressionNode expression
+ ) {
+ return new UntypedVarNode(target, expression, Sources.NULL);
+ }
}