From 21a0bdcedd03ac7664bbd3c3fdb5e3ac544a9813 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 22 Oct 2023 13:39:37 +0100 Subject: Have UntypedSumTypeDefinitionNode implement UntypedVariableDeclarationNode --- .../compiler/ast/untyped/UntypedSumTypeDefinitionNode.java | 2 +- .../java/org/shedlang/compiler/typechecker/DeclaredVariables.java | 7 ++----- 2 files changed, 3 insertions(+), 6 deletions(-) (limited to 'src/main/java') 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 18bdc6d8..a478e588 100644 --- a/src/main/java/org/shedlang/compiler/ast/untyped/UntypedSumTypeDefinitionNode.java +++ b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedSumTypeDefinitionNode.java @@ -13,7 +13,7 @@ public record UntypedSumTypeDefinitionNode( Visibility visibility, List variants, Source source -) implements UntypedNamespaceStatementNode { +) implements UntypedNamespaceStatementNode, UntypedVariableDeclarationNode { public static Builder builder() { return new Builder("DefaultSumTypeName", 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 6d1c80eb..35af5842 100644 --- a/src/main/java/org/shedlang/compiler/typechecker/DeclaredVariables.java +++ b/src/main/java/org/shedlang/compiler/typechecker/DeclaredVariables.java @@ -2,7 +2,6 @@ package org.shedlang.compiler.typechecker; import org.pcollections.PVector; import org.shedlang.compiler.ast.untyped.*; -import org.shedlang.compiler.types.Visibility; import java.util.List; @@ -100,11 +99,9 @@ class DeclaredVariables { )); case UntypedSumTypeDefinitionNode sumType -> - variables.plus(new DeclaredVariable( - sumType.name(), + variables.plus(DeclaredVariable.fromNode( VariableType.CONSTANT, - Visibility.PRIVATE, - sumType.source() + sumType )); }; } -- cgit v1.2.3