From f3da8bbffe9cdf80ba3f422ec2d8ff7ce13ea2ae Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Fri, 28 Jul 2023 22:18:28 +0100 Subject: Type check var statements --- .../org/shedlang/compiler/ast/typed/TypedNodeMatchers.java | 11 +++++++++++ src/test/java/org/shedlang/compiler/ast/untyped/Untyped.java | 7 +++++++ 2 files changed, 18 insertions(+) (limited to 'src/test/java/org/shedlang/compiler/ast') 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 isTypedVarNode( + Matcher target, + Matcher 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); + } } -- cgit v1.2.3