aboutsummaryrefslogtreecommitdiff
path: root/src/server/analysis.odin
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/analysis.odin')
-rw-r--r--src/server/analysis.odin6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/server/analysis.odin b/src/server/analysis.odin
index 3b7b87e..44245e1 100644
--- a/src/server/analysis.odin
+++ b/src/server/analysis.odin
@@ -1336,14 +1336,16 @@ resolve_soa_selector_field :: proc(
return {}, false
}
+ ast_context.use_locals = true
if symbol, ok := resolve_type_expression(ast_context, expr); ok {
if v, ok := symbol.value.(SymbolStructValue); ok {
for n, i in v.names {
if n == name {
if .SoaPointer in selector.flags {
if resolved, ok := resolve_type_expression(ast_context, v.types[i]); ok {
- symbol.value = resolved.value
- symbol.pkg = symbol.name
+ resolved.pkg = symbol.name
+ resolved.range = v.ranges[i]
+ return resolved, ok
} else {
return {}, false
}