From e9b8c708bb409fd101df6772ce3c740e60ead7dd Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 2 Mar 2024 13:45:41 +0000 Subject: Extract UntypedTypeParamNode from UntypedTypeLevelParamNode --- .../shedlang/compiler/ast/untyped/UntypedTypeLevelParamNode.java | 8 ++------ .../org/shedlang/compiler/ast/untyped/UntypedTypeParamNode.java | 9 +++++++++ src/main/java/org/shedlang/compiler/parser/Parser.java | 2 +- 3 files changed, 12 insertions(+), 7 deletions(-) create mode 100644 src/main/java/org/shedlang/compiler/ast/untyped/UntypedTypeParamNode.java (limited to 'src/main/java') 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 tokens) { -- cgit v1.2.3