From 5bddd28d6ba1bcf1b6245771ae3ce715c3079f93 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Fri, 9 Jun 2023 17:48:54 +0100 Subject: Move untyped nodes into untyped package --- .../java/org/shedlang/compiler/ast/UntypedArgsNode.java | 12 ------------ .../java/org/shedlang/compiler/ast/UntypedCallNode.java | 11 ----------- .../org/shedlang/compiler/ast/UntypedExpressionNode.java | 5 ----- .../compiler/ast/UntypedExpressionStatementNode.java | 9 --------- .../compiler/ast/UntypedFunctionDefinitionNode.java | 16 ---------------- .../compiler/ast/UntypedFunctionStatementNode.java | 4 ---- .../org/shedlang/compiler/ast/UntypedNamedArgNode.java | 10 ---------- .../org/shedlang/compiler/ast/UntypedNamespaceNode.java | 11 ----------- .../compiler/ast/UntypedNamespaceStatementNode.java | 4 ---- src/main/java/org/shedlang/compiler/ast/UntypedNode.java | 7 ------- .../java/org/shedlang/compiler/ast/UntypedParamNode.java | 10 ---------- .../org/shedlang/compiler/ast/UntypedParamsNode.java | 12 ------------ .../org/shedlang/compiler/ast/UntypedReferenceNode.java | 6 ------ .../shedlang/compiler/ast/UntypedStringLiteralNode.java | 6 ------ .../compiler/ast/UntypedTypeLevelExpressionNode.java | 4 ---- .../compiler/ast/UntypedTypeLevelReferenceNode.java | 9 --------- .../shedlang/compiler/ast/untyped/UntypedArgsNode.java | 12 ++++++++++++ .../shedlang/compiler/ast/untyped/UntypedCallNode.java | 11 +++++++++++ .../compiler/ast/untyped/UntypedExpressionNode.java | 5 +++++ .../ast/untyped/UntypedExpressionStatementNode.java | 9 +++++++++ .../ast/untyped/UntypedFunctionDefinitionNode.java | 16 ++++++++++++++++ .../ast/untyped/UntypedFunctionStatementNode.java | 4 ++++ .../compiler/ast/untyped/UntypedNamedArgNode.java | 10 ++++++++++ .../compiler/ast/untyped/UntypedNamespaceNode.java | 11 +++++++++++ .../ast/untyped/UntypedNamespaceStatementNode.java | 4 ++++ .../org/shedlang/compiler/ast/untyped/UntypedNode.java | 7 +++++++ .../shedlang/compiler/ast/untyped/UntypedParamNode.java | 10 ++++++++++ .../shedlang/compiler/ast/untyped/UntypedParamsNode.java | 12 ++++++++++++ .../compiler/ast/untyped/UntypedReferenceNode.java | 6 ++++++ .../compiler/ast/untyped/UntypedStringLiteralNode.java | 6 ++++++ .../ast/untyped/UntypedTypeLevelExpressionNode.java | 4 ++++ .../ast/untyped/UntypedTypeLevelReferenceNode.java | 9 +++++++++ src/main/java/org/shedlang/compiler/parser/Parser.java | 2 +- 33 files changed, 137 insertions(+), 137 deletions(-) delete mode 100644 src/main/java/org/shedlang/compiler/ast/UntypedArgsNode.java delete mode 100644 src/main/java/org/shedlang/compiler/ast/UntypedCallNode.java delete mode 100644 src/main/java/org/shedlang/compiler/ast/UntypedExpressionNode.java delete mode 100644 src/main/java/org/shedlang/compiler/ast/UntypedExpressionStatementNode.java delete mode 100644 src/main/java/org/shedlang/compiler/ast/UntypedFunctionDefinitionNode.java delete mode 100644 src/main/java/org/shedlang/compiler/ast/UntypedFunctionStatementNode.java delete mode 100644 src/main/java/org/shedlang/compiler/ast/UntypedNamedArgNode.java delete mode 100644 src/main/java/org/shedlang/compiler/ast/UntypedNamespaceNode.java delete mode 100644 src/main/java/org/shedlang/compiler/ast/UntypedNamespaceStatementNode.java delete mode 100644 src/main/java/org/shedlang/compiler/ast/UntypedNode.java delete mode 100644 src/main/java/org/shedlang/compiler/ast/UntypedParamNode.java delete mode 100644 src/main/java/org/shedlang/compiler/ast/UntypedParamsNode.java delete mode 100644 src/main/java/org/shedlang/compiler/ast/UntypedReferenceNode.java delete mode 100644 src/main/java/org/shedlang/compiler/ast/UntypedStringLiteralNode.java delete mode 100644 src/main/java/org/shedlang/compiler/ast/UntypedTypeLevelExpressionNode.java delete mode 100644 src/main/java/org/shedlang/compiler/ast/UntypedTypeLevelReferenceNode.java create mode 100644 src/main/java/org/shedlang/compiler/ast/untyped/UntypedArgsNode.java create mode 100644 src/main/java/org/shedlang/compiler/ast/untyped/UntypedCallNode.java create mode 100644 src/main/java/org/shedlang/compiler/ast/untyped/UntypedExpressionNode.java create mode 100644 src/main/java/org/shedlang/compiler/ast/untyped/UntypedExpressionStatementNode.java create mode 100644 src/main/java/org/shedlang/compiler/ast/untyped/UntypedFunctionDefinitionNode.java create mode 100644 src/main/java/org/shedlang/compiler/ast/untyped/UntypedFunctionStatementNode.java create mode 100644 src/main/java/org/shedlang/compiler/ast/untyped/UntypedNamedArgNode.java create mode 100644 src/main/java/org/shedlang/compiler/ast/untyped/UntypedNamespaceNode.java create mode 100644 src/main/java/org/shedlang/compiler/ast/untyped/UntypedNamespaceStatementNode.java create mode 100644 src/main/java/org/shedlang/compiler/ast/untyped/UntypedNode.java create mode 100644 src/main/java/org/shedlang/compiler/ast/untyped/UntypedParamNode.java create mode 100644 src/main/java/org/shedlang/compiler/ast/untyped/UntypedParamsNode.java create mode 100644 src/main/java/org/shedlang/compiler/ast/untyped/UntypedReferenceNode.java create mode 100644 src/main/java/org/shedlang/compiler/ast/untyped/UntypedStringLiteralNode.java create mode 100644 src/main/java/org/shedlang/compiler/ast/untyped/UntypedTypeLevelExpressionNode.java create mode 100644 src/main/java/org/shedlang/compiler/ast/untyped/UntypedTypeLevelReferenceNode.java (limited to 'src/main/java') diff --git a/src/main/java/org/shedlang/compiler/ast/UntypedArgsNode.java b/src/main/java/org/shedlang/compiler/ast/UntypedArgsNode.java deleted file mode 100644 index 4896bdc6..00000000 --- a/src/main/java/org/shedlang/compiler/ast/UntypedArgsNode.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.shedlang.compiler.ast; - -import org.shedlang.compiler.sources.Source; - -import java.util.List; - -public record UntypedArgsNode( - List positional, - List named, - Source source -) implements UntypedNode { -} diff --git a/src/main/java/org/shedlang/compiler/ast/UntypedCallNode.java b/src/main/java/org/shedlang/compiler/ast/UntypedCallNode.java deleted file mode 100644 index 4b95885f..00000000 --- a/src/main/java/org/shedlang/compiler/ast/UntypedCallNode.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.shedlang.compiler.ast; - -import org.shedlang.compiler.sources.Source; - -public record UntypedCallNode( - UntypedExpressionNode receiver, - UntypedArgsNode args, - boolean hasEffects, - Source source -) implements UntypedExpressionNode { -} diff --git a/src/main/java/org/shedlang/compiler/ast/UntypedExpressionNode.java b/src/main/java/org/shedlang/compiler/ast/UntypedExpressionNode.java deleted file mode 100644 index fcabfe0d..00000000 --- a/src/main/java/org/shedlang/compiler/ast/UntypedExpressionNode.java +++ /dev/null @@ -1,5 +0,0 @@ -package org.shedlang.compiler.ast; - -public sealed interface UntypedExpressionNode extends UntypedNode - permits UntypedCallNode, UntypedReferenceNode, UntypedStringLiteralNode { -} diff --git a/src/main/java/org/shedlang/compiler/ast/UntypedExpressionStatementNode.java b/src/main/java/org/shedlang/compiler/ast/UntypedExpressionStatementNode.java deleted file mode 100644 index 548f72c5..00000000 --- a/src/main/java/org/shedlang/compiler/ast/UntypedExpressionStatementNode.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.shedlang.compiler.ast; - -import org.shedlang.compiler.sources.Source; - -public record UntypedExpressionStatementNode( - UntypedExpressionNode expression, - Source source -) implements UntypedFunctionStatementNode { -} diff --git a/src/main/java/org/shedlang/compiler/ast/UntypedFunctionDefinitionNode.java b/src/main/java/org/shedlang/compiler/ast/UntypedFunctionDefinitionNode.java deleted file mode 100644 index f359a469..00000000 --- a/src/main/java/org/shedlang/compiler/ast/UntypedFunctionDefinitionNode.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.shedlang.compiler.ast; - -import org.shedlang.compiler.sources.Source; - -import java.util.List; -import java.util.Optional; - -public record UntypedFunctionDefinitionNode( - String name, - UntypedParamsNode params, - Optional effect, - UntypedTypeLevelExpressionNode returnType, - List body, - Source source -) implements UntypedNamespaceStatementNode { -} diff --git a/src/main/java/org/shedlang/compiler/ast/UntypedFunctionStatementNode.java b/src/main/java/org/shedlang/compiler/ast/UntypedFunctionStatementNode.java deleted file mode 100644 index af97a6f2..00000000 --- a/src/main/java/org/shedlang/compiler/ast/UntypedFunctionStatementNode.java +++ /dev/null @@ -1,4 +0,0 @@ -package org.shedlang.compiler.ast; - -public sealed interface UntypedFunctionStatementNode extends UntypedNode permits UntypedExpressionStatementNode { -} diff --git a/src/main/java/org/shedlang/compiler/ast/UntypedNamedArgNode.java b/src/main/java/org/shedlang/compiler/ast/UntypedNamedArgNode.java deleted file mode 100644 index 149747f1..00000000 --- a/src/main/java/org/shedlang/compiler/ast/UntypedNamedArgNode.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.shedlang.compiler.ast; - -import org.shedlang.compiler.sources.Source; - -public record UntypedNamedArgNode( - String name, - UntypedExpressionNode expression, - Source source -) implements UntypedNode { -} diff --git a/src/main/java/org/shedlang/compiler/ast/UntypedNamespaceNode.java b/src/main/java/org/shedlang/compiler/ast/UntypedNamespaceNode.java deleted file mode 100644 index c0e24f48..00000000 --- a/src/main/java/org/shedlang/compiler/ast/UntypedNamespaceNode.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.shedlang.compiler.ast; - -import org.shedlang.compiler.sources.Source; - -import java.util.List; - -public record UntypedNamespaceNode( - List body, - Source source -) implements UntypedNode { -} diff --git a/src/main/java/org/shedlang/compiler/ast/UntypedNamespaceStatementNode.java b/src/main/java/org/shedlang/compiler/ast/UntypedNamespaceStatementNode.java deleted file mode 100644 index 06de16b6..00000000 --- a/src/main/java/org/shedlang/compiler/ast/UntypedNamespaceStatementNode.java +++ /dev/null @@ -1,4 +0,0 @@ -package org.shedlang.compiler.ast; - -public sealed interface UntypedNamespaceStatementNode extends UntypedNode permits UntypedFunctionDefinitionNode { -} diff --git a/src/main/java/org/shedlang/compiler/ast/UntypedNode.java b/src/main/java/org/shedlang/compiler/ast/UntypedNode.java deleted file mode 100644 index 4b6e3f2f..00000000 --- a/src/main/java/org/shedlang/compiler/ast/UntypedNode.java +++ /dev/null @@ -1,7 +0,0 @@ -package org.shedlang.compiler.ast; - -import org.shedlang.compiler.sources.Source; - -public interface UntypedNode { - Source source(); -} diff --git a/src/main/java/org/shedlang/compiler/ast/UntypedParamNode.java b/src/main/java/org/shedlang/compiler/ast/UntypedParamNode.java deleted file mode 100644 index 7bb6212b..00000000 --- a/src/main/java/org/shedlang/compiler/ast/UntypedParamNode.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.shedlang.compiler.ast; - -import org.shedlang.compiler.sources.Source; - -public record UntypedParamNode( - String name, - UntypedTypeLevelExpressionNode type, - Source source -) implements UntypedNode { -} diff --git a/src/main/java/org/shedlang/compiler/ast/UntypedParamsNode.java b/src/main/java/org/shedlang/compiler/ast/UntypedParamsNode.java deleted file mode 100644 index f5c9e4a0..00000000 --- a/src/main/java/org/shedlang/compiler/ast/UntypedParamsNode.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.shedlang.compiler.ast; - -import org.shedlang.compiler.sources.Source; - -import java.util.List; - -public record UntypedParamsNode( - List positional, - List named, - Source source -) implements UntypedNode { -} diff --git a/src/main/java/org/shedlang/compiler/ast/UntypedReferenceNode.java b/src/main/java/org/shedlang/compiler/ast/UntypedReferenceNode.java deleted file mode 100644 index 721a409f..00000000 --- a/src/main/java/org/shedlang/compiler/ast/UntypedReferenceNode.java +++ /dev/null @@ -1,6 +0,0 @@ -package org.shedlang.compiler.ast; - -import org.shedlang.compiler.sources.Source; - -public record UntypedReferenceNode(String name, Source source) implements UntypedExpressionNode { -} diff --git a/src/main/java/org/shedlang/compiler/ast/UntypedStringLiteralNode.java b/src/main/java/org/shedlang/compiler/ast/UntypedStringLiteralNode.java deleted file mode 100644 index b8fd181b..00000000 --- a/src/main/java/org/shedlang/compiler/ast/UntypedStringLiteralNode.java +++ /dev/null @@ -1,6 +0,0 @@ -package org.shedlang.compiler.ast; - -import org.shedlang.compiler.sources.Source; - -public record UntypedStringLiteralNode(String value, Source source) implements UntypedExpressionNode { -} diff --git a/src/main/java/org/shedlang/compiler/ast/UntypedTypeLevelExpressionNode.java b/src/main/java/org/shedlang/compiler/ast/UntypedTypeLevelExpressionNode.java deleted file mode 100644 index 2d9ed626..00000000 --- a/src/main/java/org/shedlang/compiler/ast/UntypedTypeLevelExpressionNode.java +++ /dev/null @@ -1,4 +0,0 @@ -package org.shedlang.compiler.ast; - -public sealed interface UntypedTypeLevelExpressionNode extends UntypedNode permits UntypedTypeLevelReferenceNode { -} diff --git a/src/main/java/org/shedlang/compiler/ast/UntypedTypeLevelReferenceNode.java b/src/main/java/org/shedlang/compiler/ast/UntypedTypeLevelReferenceNode.java deleted file mode 100644 index 261b6e8f..00000000 --- a/src/main/java/org/shedlang/compiler/ast/UntypedTypeLevelReferenceNode.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.shedlang.compiler.ast; - -import org.shedlang.compiler.sources.Source; - -public record UntypedTypeLevelReferenceNode( - String name, - Source source -) implements UntypedTypeLevelExpressionNode { -} diff --git a/src/main/java/org/shedlang/compiler/ast/untyped/UntypedArgsNode.java b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedArgsNode.java new file mode 100644 index 00000000..735f31ec --- /dev/null +++ b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedArgsNode.java @@ -0,0 +1,12 @@ +package org.shedlang.compiler.ast.untyped; + +import org.shedlang.compiler.sources.Source; + +import java.util.List; + +public record UntypedArgsNode( + List positional, + List named, + Source source +) implements UntypedNode { +} diff --git a/src/main/java/org/shedlang/compiler/ast/untyped/UntypedCallNode.java b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedCallNode.java new file mode 100644 index 00000000..1f62d842 --- /dev/null +++ b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedCallNode.java @@ -0,0 +1,11 @@ +package org.shedlang.compiler.ast.untyped; + +import org.shedlang.compiler.sources.Source; + +public record UntypedCallNode( + UntypedExpressionNode receiver, + UntypedArgsNode args, + boolean hasEffects, + Source source +) implements UntypedExpressionNode { +} diff --git a/src/main/java/org/shedlang/compiler/ast/untyped/UntypedExpressionNode.java b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedExpressionNode.java new file mode 100644 index 00000000..a3b3b460 --- /dev/null +++ b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedExpressionNode.java @@ -0,0 +1,5 @@ +package org.shedlang.compiler.ast.untyped; + +public sealed interface UntypedExpressionNode extends UntypedNode + permits UntypedCallNode, UntypedReferenceNode, UntypedStringLiteralNode { +} diff --git a/src/main/java/org/shedlang/compiler/ast/untyped/UntypedExpressionStatementNode.java b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedExpressionStatementNode.java new file mode 100644 index 00000000..dadc4be6 --- /dev/null +++ b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedExpressionStatementNode.java @@ -0,0 +1,9 @@ +package org.shedlang.compiler.ast.untyped; + +import org.shedlang.compiler.sources.Source; + +public record UntypedExpressionStatementNode( + UntypedExpressionNode expression, + Source source +) implements UntypedFunctionStatementNode { +} diff --git a/src/main/java/org/shedlang/compiler/ast/untyped/UntypedFunctionDefinitionNode.java b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedFunctionDefinitionNode.java new file mode 100644 index 00000000..61e724d5 --- /dev/null +++ b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedFunctionDefinitionNode.java @@ -0,0 +1,16 @@ +package org.shedlang.compiler.ast.untyped; + +import org.shedlang.compiler.sources.Source; + +import java.util.List; +import java.util.Optional; + +public record UntypedFunctionDefinitionNode( + String name, + UntypedParamsNode params, + Optional effect, + UntypedTypeLevelExpressionNode returnType, + List body, + Source source +) implements UntypedNamespaceStatementNode { +} diff --git a/src/main/java/org/shedlang/compiler/ast/untyped/UntypedFunctionStatementNode.java b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedFunctionStatementNode.java new file mode 100644 index 00000000..64704e10 --- /dev/null +++ b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedFunctionStatementNode.java @@ -0,0 +1,4 @@ +package org.shedlang.compiler.ast.untyped; + +public sealed interface UntypedFunctionStatementNode extends UntypedNode permits UntypedExpressionStatementNode { +} diff --git a/src/main/java/org/shedlang/compiler/ast/untyped/UntypedNamedArgNode.java b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedNamedArgNode.java new file mode 100644 index 00000000..6aab6f8b --- /dev/null +++ b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedNamedArgNode.java @@ -0,0 +1,10 @@ +package org.shedlang.compiler.ast.untyped; + +import org.shedlang.compiler.sources.Source; + +public record UntypedNamedArgNode( + String name, + UntypedExpressionNode expression, + Source source +) implements UntypedNode { +} diff --git a/src/main/java/org/shedlang/compiler/ast/untyped/UntypedNamespaceNode.java b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedNamespaceNode.java new file mode 100644 index 00000000..2386ff57 --- /dev/null +++ b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedNamespaceNode.java @@ -0,0 +1,11 @@ +package org.shedlang.compiler.ast.untyped; + +import org.shedlang.compiler.sources.Source; + +import java.util.List; + +public record UntypedNamespaceNode( + List body, + Source source +) implements UntypedNode { +} diff --git a/src/main/java/org/shedlang/compiler/ast/untyped/UntypedNamespaceStatementNode.java b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedNamespaceStatementNode.java new file mode 100644 index 00000000..deb06dce --- /dev/null +++ b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedNamespaceStatementNode.java @@ -0,0 +1,4 @@ +package org.shedlang.compiler.ast.untyped; + +public sealed interface UntypedNamespaceStatementNode extends UntypedNode permits UntypedFunctionDefinitionNode { +} diff --git a/src/main/java/org/shedlang/compiler/ast/untyped/UntypedNode.java b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedNode.java new file mode 100644 index 00000000..de7c0799 --- /dev/null +++ b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedNode.java @@ -0,0 +1,7 @@ +package org.shedlang.compiler.ast.untyped; + +import org.shedlang.compiler.sources.Source; + +public interface UntypedNode { + Source source(); +} diff --git a/src/main/java/org/shedlang/compiler/ast/untyped/UntypedParamNode.java b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedParamNode.java new file mode 100644 index 00000000..323d9333 --- /dev/null +++ b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedParamNode.java @@ -0,0 +1,10 @@ +package org.shedlang.compiler.ast.untyped; + +import org.shedlang.compiler.sources.Source; + +public record UntypedParamNode( + String name, + UntypedTypeLevelExpressionNode type, + Source source +) implements UntypedNode { +} diff --git a/src/main/java/org/shedlang/compiler/ast/untyped/UntypedParamsNode.java b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedParamsNode.java new file mode 100644 index 00000000..ced67544 --- /dev/null +++ b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedParamsNode.java @@ -0,0 +1,12 @@ +package org.shedlang.compiler.ast.untyped; + +import org.shedlang.compiler.sources.Source; + +import java.util.List; + +public record UntypedParamsNode( + List positional, + List named, + Source source +) implements UntypedNode { +} diff --git a/src/main/java/org/shedlang/compiler/ast/untyped/UntypedReferenceNode.java b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedReferenceNode.java new file mode 100644 index 00000000..97183b4e --- /dev/null +++ b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedReferenceNode.java @@ -0,0 +1,6 @@ +package org.shedlang.compiler.ast.untyped; + +import org.shedlang.compiler.sources.Source; + +public record UntypedReferenceNode(String name, Source source) implements UntypedExpressionNode { +} diff --git a/src/main/java/org/shedlang/compiler/ast/untyped/UntypedStringLiteralNode.java b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedStringLiteralNode.java new file mode 100644 index 00000000..55fecfc4 --- /dev/null +++ b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedStringLiteralNode.java @@ -0,0 +1,6 @@ +package org.shedlang.compiler.ast.untyped; + +import org.shedlang.compiler.sources.Source; + +public record UntypedStringLiteralNode(String value, Source source) implements UntypedExpressionNode { +} diff --git a/src/main/java/org/shedlang/compiler/ast/untyped/UntypedTypeLevelExpressionNode.java b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedTypeLevelExpressionNode.java new file mode 100644 index 00000000..86ee9427 --- /dev/null +++ b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedTypeLevelExpressionNode.java @@ -0,0 +1,4 @@ +package org.shedlang.compiler.ast.untyped; + +public sealed interface UntypedTypeLevelExpressionNode extends UntypedNode permits UntypedTypeLevelReferenceNode { +} diff --git a/src/main/java/org/shedlang/compiler/ast/untyped/UntypedTypeLevelReferenceNode.java b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedTypeLevelReferenceNode.java new file mode 100644 index 00000000..97bebbe4 --- /dev/null +++ b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedTypeLevelReferenceNode.java @@ -0,0 +1,9 @@ +package org.shedlang.compiler.ast.untyped; + +import org.shedlang.compiler.sources.Source; + +public record UntypedTypeLevelReferenceNode( + String name, + Source source +) implements UntypedTypeLevelExpressionNode { +} diff --git a/src/main/java/org/shedlang/compiler/parser/Parser.java b/src/main/java/org/shedlang/compiler/parser/Parser.java index 4cdcd7bf..0f79cc28 100644 --- a/src/main/java/org/shedlang/compiler/parser/Parser.java +++ b/src/main/java/org/shedlang/compiler/parser/Parser.java @@ -1,6 +1,6 @@ package org.shedlang.compiler.parser; -import org.shedlang.compiler.ast.*; +import org.shedlang.compiler.ast.untyped.*; import org.shedlang.compiler.sources.Source; import org.shedlang.compiler.tokeniser.TokenIterator; import org.shedlang.compiler.tokeniser.UnexpectedTokenException; -- cgit v1.2.3