diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-10-22 13:36:37 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-10-22 13:36:37 +0100 |
| commit | 9030b7977a785f6e92a3385a64084a5a4e11fa04 (patch) | |
| tree | e79033c1a92b7dd539135c806f9974ddac507f94 /src/main/java | |
| parent | f270dedd0e6b6631f440dcce81df5c7dc90f1655 (diff) | |
Have UntypedStructDefinitionNode implement UntypedVariableDeclarationNode
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/org/shedlang/compiler/ast/untyped/UntypedStructDefinitionNode.java | 2 | ||||
| -rw-r--r-- | src/main/java/org/shedlang/compiler/typechecker/DeclaredVariables.java | 6 |
2 files changed, 3 insertions, 5 deletions
diff --git a/src/main/java/org/shedlang/compiler/ast/untyped/UntypedStructDefinitionNode.java b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedStructDefinitionNode.java index 979b590e..8767da19 100644 --- a/src/main/java/org/shedlang/compiler/ast/untyped/UntypedStructDefinitionNode.java +++ b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedStructDefinitionNode.java @@ -13,7 +13,7 @@ public record UntypedStructDefinitionNode( Visibility visibility, List<UntypedStructFieldDefinitionNode> fields, Source source -) implements UntypedNamespaceStatementNode { +) implements UntypedNamespaceStatementNode, UntypedVariableDeclarationNode { public static Builder builder() { return new Builder("X", Visibility.PRIVATE, P.vector()); } diff --git a/src/main/java/org/shedlang/compiler/typechecker/DeclaredVariables.java b/src/main/java/org/shedlang/compiler/typechecker/DeclaredVariables.java index a153f49d..4fc0d8fd 100644 --- a/src/main/java/org/shedlang/compiler/typechecker/DeclaredVariables.java +++ b/src/main/java/org/shedlang/compiler/typechecker/DeclaredVariables.java @@ -96,11 +96,9 @@ class DeclaredVariables { )); case UntypedStructDefinitionNode struct -> - variables.plus(new DeclaredVariable( - struct.name(), + variables.plus(DeclaredVariable.fromNode( VariableType.CONSTANT, - struct.visibility(), - struct.source() + struct )); case UntypedSumTypeDefinitionNode sumType -> |
