diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-10-22 13:39:03 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-10-22 13:39:03 +0100 |
| commit | 697cc09329f8e8b1a76f408c12b88d6f387f16e7 (patch) | |
| tree | 2a47d57aeb3cc1c6919655bf3d312e0abf3796a4 /src/main/java | |
| parent | 1248589625d7be5435441c1e48b6f5ce72933897 (diff) | |
Add visibility to UntypedSumTypeDefinitionNode
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/org/shedlang/compiler/ast/untyped/UntypedSumTypeDefinitionNode.java | 18 | ||||
| -rw-r--r-- | src/main/java/org/shedlang/compiler/parser/Parser.java | 2 |
2 files changed, 16 insertions, 4 deletions
diff --git a/src/main/java/org/shedlang/compiler/ast/untyped/UntypedSumTypeDefinitionNode.java b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedSumTypeDefinitionNode.java index 150c2c59..18bdc6d8 100644 --- a/src/main/java/org/shedlang/compiler/ast/untyped/UntypedSumTypeDefinitionNode.java +++ b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedSumTypeDefinitionNode.java @@ -3,37 +3,49 @@ package org.shedlang.compiler.ast.untyped; import org.pcollections.PVector; import org.shedlang.compiler.sources.Source; import org.shedlang.compiler.sources.Sources; +import org.shedlang.compiler.types.Visibility; import org.shedlang.compiler.util.P; import java.util.List; public record UntypedSumTypeDefinitionNode( String name, + Visibility visibility, List<UntypedTypeLevelExpressionNode> variants, Source source ) implements UntypedNamespaceStatementNode { public static Builder builder() { - return new Builder("DefaultSumTypeName", P.vector()); + return new Builder("DefaultSumTypeName", Visibility.PRIVATE, P.vector()); } public record Builder( String name, + Visibility visibility, PVector<UntypedTypeLevelExpressionNode> variants ) { public UntypedSumTypeDefinitionNode build() { return new UntypedSumTypeDefinitionNode( this.name, + this.visibility, this.variants, Sources.NULL ); } public Builder withName(String name) { - return new Builder(name, this.variants); + return new Builder( + name, + this.visibility, + this.variants + ); } public Builder addVariant(UntypedTypeLevelExpressionNode variant) { - return new Builder(this.name, this.variants.plus(variant)); + return new Builder( + this.name, + this.visibility, + this.variants.plus(variant) + ); } } } diff --git a/src/main/java/org/shedlang/compiler/parser/Parser.java b/src/main/java/org/shedlang/compiler/parser/Parser.java index 0151e7d6..92052722 100644 --- a/src/main/java/org/shedlang/compiler/parser/Parser.java +++ b/src/main/java/org/shedlang/compiler/parser/Parser.java @@ -696,7 +696,7 @@ public class Parser { var end = tokens.position(); var source = start.to(end); - return new UntypedSumTypeDefinitionNode(name, variants, source); + return new UntypedSumTypeDefinitionNode(name, Visibility.PRIVATE, variants, source); } static UntypedExpressionNode parseTopLevelExpression(TokenIterator<TokenType> tokens) { |
