aboutsummaryrefslogtreecommitdiff
path: root/src/server/analysis.odin
diff options
context:
space:
mode:
authorBrad Lewis <22850972+BradLewis@users.noreply.github.com>2025-09-17 20:11:08 -0400
committerBrad Lewis <22850972+BradLewis@users.noreply.github.com>2025-09-17 20:19:52 -0400
commit9d152084c75aa3b2f0deaaada4cb24d7f368922c (patch)
treeefcb5ad78cb489a0a1d0f3db130bf3b051640b3d /src/server/analysis.odin
parent7be81e2f75e79226148ca83a15bad035c71ead7c (diff)
Correctly handle mutability for global variables in other files
Diffstat (limited to 'src/server/analysis.odin')
-rw-r--r--src/server/analysis.odin8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/server/analysis.odin b/src/server/analysis.odin
index 8dc1877..7798be9 100644
--- a/src/server/analysis.odin
+++ b/src/server/analysis.odin
@@ -2458,6 +2458,12 @@ resolve_symbol_return :: proc(ast_context: ^AstContext, symbol: Symbol, ok := tr
if symbol.type == .Variable {
ret.type = symbol.type
}
+ if .Variable in symbol.flags {
+ ret.flags |= {.Variable}
+ }
+ if .Mutable in symbol.flags {
+ ret.flags |= {.Mutable}
+ }
return ret, ok
}
@@ -2490,7 +2496,7 @@ resolve_unresolved_symbol :: proc(ast_context: ^AstContext, symbol: ^Symbol) ->
symbol.signature = ret.signature
symbol.value = ret.value
symbol.pkg = ret.pkg
- symbol.flags = ret.flags
+ symbol.flags |= ret.flags
} else {
return false
}