diff options
| author | Michael Williamson <mike@zwobble.org> | 2024-12-10 23:40:54 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2024-12-10 23:40:54 +0000 |
| commit | eed6af3b589f6c6eee94585447028e492653d499 (patch) | |
| tree | 1900c627ddd801014b0c10cda1269673120d613a /src/main/java | |
| parent | 4c0a26032280424c48ba364ea1f738b164cb064c (diff) | |
Preserve positionality of struct fields when typing struct
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/org/shedlang/compiler/ast/typed/TypedStructFieldDefinitionNode.java | 1 | ||||
| -rw-r--r-- | src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/src/main/java/org/shedlang/compiler/ast/typed/TypedStructFieldDefinitionNode.java b/src/main/java/org/shedlang/compiler/ast/typed/TypedStructFieldDefinitionNode.java index a84517a0..6dc492d2 100644 --- a/src/main/java/org/shedlang/compiler/ast/typed/TypedStructFieldDefinitionNode.java +++ b/src/main/java/org/shedlang/compiler/ast/typed/TypedStructFieldDefinitionNode.java @@ -6,6 +6,7 @@ import org.shedlang.compiler.types.Type; public record TypedStructFieldDefinitionNode( String name, TypedTypeLevelExpressionNode<Type> type, + boolean isPositional, Source source ) implements TypedNode { } diff --git a/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java b/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java index 2cb726d4..08ce187b 100644 --- a/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java +++ b/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java @@ -1661,6 +1661,7 @@ public class TypeChecker { var typedFieldNode = new TypedStructFieldDefinitionNode( untypedField.name(), typeCheckTypeExpression(untypedField.type(), context), + untypedField.isPositional(), untypedField.source() ); typedFieldNodes.add(typedFieldNode); |
