diff options
| author | Daniel Gavin <danielgavin5@hotmail.com> | 2021-12-05 20:36:59 +0100 |
|---|---|---|
| committer | Daniel Gavin <danielgavin5@hotmail.com> | 2021-12-05 20:36:59 +0100 |
| commit | bbbff41f1b4edd5d227f291158191c214cf57706 (patch) | |
| tree | 293881010a58bea022b9f0d53878d94e63ad3352 /src | |
| parent | 8f73e4e4f64b46bee43fe659cad8ea4d505fb3f0 (diff) | |
Incorrect behavior where globals were not added as variables.
Diffstat (limited to 'src')
| -rw-r--r-- | src/analysis/analysis.odin | 2 | ||||
| -rw-r--r-- | src/common/ast.odin | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/src/analysis/analysis.odin b/src/analysis/analysis.odin index 1efcb13..ce94c4f 100644 --- a/src/analysis/analysis.odin +++ b/src/analysis/analysis.odin @@ -809,6 +809,8 @@ resolve_type_expression :: proc(ast_context: ^AstContext, node: ^ast.Expr) -> (i return resolve_type_expression(ast_context, v.type); case Auto_Cast: return resolve_type_expression(ast_context, v.expr); + case Comp_Lit: + return resolve_type_expression(ast_context, v.type); case Unary_Expr: if v.op.kind == .And { symbol, ok := resolve_type_expression(ast_context, v.expr); diff --git a/src/common/ast.odin b/src/common/ast.odin index 3f857cf..840d73b 100644 --- a/src/common/ast.odin +++ b/src/common/ast.odin @@ -60,7 +60,7 @@ collect_value_decl :: proc(exprs: ^[dynamic]GlobalExpr, file: ast.File, stmt: ^a append(exprs, GlobalExpr {name = str, expr = value_decl.type, mutable = value_decl.is_mutable, docs = value_decl.docs, attributes = value_decl.attributes[:]}); } else { if len(value_decl.values) > i { - append(exprs, GlobalExpr {name = str, expr = value_decl.values[i], docs = value_decl.docs, attributes = value_decl.attributes[:]}); + append(exprs, GlobalExpr {name = str, expr = value_decl.values[i], mutable = value_decl.is_mutable, docs = value_decl.docs, attributes = value_decl.attributes[:]}); } } } |