From 371a4e8db3aa6fdc0a6d144351e9c0169c13badf Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Wed, 22 Apr 2026 11:28:02 +0100 Subject: Parse type level references --- .../parser/ParserTypeLevelReferenceTests.java | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/test/java/org/zwobble/hobgoblin/compiler/parser/ParserTypeLevelReferenceTests.java (limited to 'src/test') diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/parser/ParserTypeLevelReferenceTests.java b/src/test/java/org/zwobble/hobgoblin/compiler/parser/ParserTypeLevelReferenceTests.java new file mode 100644 index 0000000..4f50199 --- /dev/null +++ b/src/test/java/org/zwobble/hobgoblin/compiler/parser/ParserTypeLevelReferenceTests.java @@ -0,0 +1,25 @@ +package org.zwobble.hobgoblin.compiler.parser; + +import org.junit.jupiter.api.Test; +import org.zwobble.hobgoblin.compiler.ast.untyped.UntypedTypeLevelReferenceNode; + +import static org.zwobble.hobgoblin.compiler.parser.ParserTesting.parseString; +import static org.zwobble.precisely.AssertThat.assertThat; +import static org.zwobble.precisely.Matchers.*; + +public class ParserTypeLevelReferenceTests { + @Test + public void canParseIdentifierAsTypeLevelReference() { + var source = "Point"; + + var node = parseString( + source, + Parser::parseTypeLevelExpression + ); + + assertThat(node, instanceOf( + UntypedTypeLevelReferenceNode.class, + has("name", UntypedTypeLevelReferenceNode::name, equalTo("Point")) + )); + } +} -- cgit v1.2.3