From 9030b7977a785f6e92a3385a64084a5a4e11fa04 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 22 Oct 2023 13:36:37 +0100 Subject: Have UntypedStructDefinitionNode implement UntypedVariableDeclarationNode --- .../shedlang/compiler/ast/untyped/UntypedStructDefinitionNode.java | 2 +- .../java/org/shedlang/compiler/typechecker/DeclaredVariables.java | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) (limited to 'src/main/java') 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 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 -> -- cgit v1.2.3