aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-10-22 13:36:37 +0100
committerMichael Williamson <mike@zwobble.org>2023-10-22 13:36:37 +0100
commit9030b7977a785f6e92a3385a64084a5a4e11fa04 (patch)
treee79033c1a92b7dd539135c806f9974ddac507f94 /src/main/java
parentf270dedd0e6b6631f440dcce81df5c7dc90f1655 (diff)
Have UntypedStructDefinitionNode implement UntypedVariableDeclarationNode
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/ast/untyped/UntypedStructDefinitionNode.java2
-rw-r--r--src/main/java/org/shedlang/compiler/typechecker/DeclaredVariables.java6
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 ->