aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-09-28 14:21:12 +0100
committerMichael Williamson <mike@zwobble.org>2023-09-28 14:21:12 +0100
commit862359008799b4038c32d909cd31808421e60739 (patch)
treee38320c972825deac796ef13d80d592d62709e2c /src/main/java
parent8bcc629a7c6d7d30b403c0a13ee032e7e75298e8 (diff)
Store struct type instead of name in typed struct definition node
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/ast/typed/TypedStructDefinitionNode.java3
-rw-r--r--src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java2
2 files changed, 3 insertions, 2 deletions
diff --git a/src/main/java/org/shedlang/compiler/ast/typed/TypedStructDefinitionNode.java b/src/main/java/org/shedlang/compiler/ast/typed/TypedStructDefinitionNode.java
index 4a956ee3..ac66bfae 100644
--- a/src/main/java/org/shedlang/compiler/ast/typed/TypedStructDefinitionNode.java
+++ b/src/main/java/org/shedlang/compiler/ast/typed/TypedStructDefinitionNode.java
@@ -1,11 +1,12 @@
package org.shedlang.compiler.ast.typed;
import org.shedlang.compiler.sources.Source;
+import org.shedlang.compiler.types.StructType;
import java.util.List;
public record TypedStructDefinitionNode(
- String name,
+ StructType type,
List<TypedStructFieldDefinitionNode> fields,
Source source
) implements TypedNamespaceStatementNode {
diff --git a/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java b/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java
index 4644f695..737c4797 100644
--- a/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java
+++ b/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java
@@ -875,7 +875,7 @@ public class TypeChecker {
context = context.addStructTypeInfo(type, new StructTypeInfo(fieldTypes));
var typedNode = new TypedStructDefinitionNode(
- untyped.name(),
+ type,
typedFieldNodes,
untyped.source()
);