diff options
| author | Michael Williamson <mike@zwobble.org> | 2024-03-02 13:45:41 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2024-03-02 13:45:41 +0000 |
| commit | e9b8c708bb409fd101df6772ce3c740e60ead7dd (patch) | |
| tree | cc37c0906cc3bd70d812e559447f21682c0409de /src/main/java | |
| parent | 9065e179d072978e979071629b0235158bae6380 (diff) | |
Extract UntypedTypeParamNode from UntypedTypeLevelParamNode
Diffstat (limited to 'src/main/java')
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) { |
