aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2024-03-02 13:45:41 +0000
committerMichael Williamson <mike@zwobble.org>2024-03-02 13:45:41 +0000
commite9b8c708bb409fd101df6772ce3c740e60ead7dd (patch)
treecc37c0906cc3bd70d812e559447f21682c0409de /src/main/java
parent9065e179d072978e979071629b0235158bae6380 (diff)
Extract UntypedTypeParamNode from UntypedTypeLevelParamNode
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/ast/untyped/UntypedTypeLevelParamNode.java8
-rw-r--r--src/main/java/org/shedlang/compiler/ast/untyped/UntypedTypeParamNode.java9
-rw-r--r--src/main/java/org/shedlang/compiler/parser/Parser.java2
3 files changed, 12 insertions, 7 deletions
diff --git a/src/main/java/org/shedlang/compiler/ast/untyped/UntypedTypeLevelParamNode.java b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedTypeLevelParamNode.java
index 73b31281..46776516 100644
--- a/src/main/java/org/shedlang/compiler/ast/untyped/UntypedTypeLevelParamNode.java
+++ b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedTypeLevelParamNode.java
@@ -1,9 +1,5 @@
package org.shedlang.compiler.ast.untyped;
-import org.shedlang.compiler.sources.Source;
-
-public record UntypedTypeLevelParamNode(
- String name,
- Source source
-) implements UntypedNode {
+public sealed interface UntypedTypeLevelParamNode extends UntypedNode permits UntypedTypeParamNode {
+ String name();
}
diff --git a/src/main/java/org/shedlang/compiler/ast/untyped/UntypedTypeParamNode.java b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedTypeParamNode.java
new file mode 100644
index 00000000..297eac89
--- /dev/null
+++ b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedTypeParamNode.java
@@ -0,0 +1,9 @@
+package org.shedlang.compiler.ast.untyped;
+
+import org.shedlang.compiler.sources.Source;
+
+public record UntypedTypeParamNode(
+ String name,
+ Source source
+) implements UntypedTypeLevelParamNode {
+}
diff --git a/src/main/java/org/shedlang/compiler/parser/Parser.java b/src/main/java/org/shedlang/compiler/parser/Parser.java
index 73f9cb23..2c02d88a 100644
--- a/src/main/java/org/shedlang/compiler/parser/Parser.java
+++ b/src/main/java/org/shedlang/compiler/parser/Parser.java
@@ -1348,7 +1348,7 @@ public class Parser {
var end = tokens.position();
var source = start.to(end);
- return new UntypedTypeLevelParamNode(name, source);
+ return new UntypedTypeParamNode(name, source);
}
private static UntypedTypeLevelReferenceNode parseTypeLevelReference(TokenIterator<TokenType> tokens) {