aboutsummaryrefslogtreecommitdiff
path: root/src/server/references.odin
diff options
context:
space:
mode:
authorBrad Lewis <22850972+BradLewis@users.noreply.github.com>2025-07-15 13:30:03 -0400
committerBrad Lewis <22850972+BradLewis@users.noreply.github.com>2025-07-15 13:30:03 -0400
commit428b54c588ba00c84b60ed5d24cec1b264fa5589 (patch)
tree5c346c925af49394590f191f8b1c58a167971205 /src/server/references.odin
parent156d75278e86764f3754c68121f4ed347e167a8b (diff)
Correctly resolve references of proc parameter names
Diffstat (limited to 'src/server/references.odin')
-rw-r--r--src/server/references.odin15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/server/references.odin b/src/server/references.odin
index 7e791b8..230243a 100644
--- a/src/server/references.odin
+++ b/src/server/references.odin
@@ -145,13 +145,18 @@ prepare_references :: proc(
}
} else if position_context.field_value != nil &&
- position_context.comp_lit != nil &&
!is_expr_basic_lit(position_context.field_value.field) &&
position_in_node(position_context.field_value.field, position_context.position) {
- symbol, ok = resolve_location_comp_lit_field(ast_context, position_context)
-
- if !ok {
- return
+ if position_context.comp_lit != nil {
+ symbol, ok = resolve_location_comp_lit_field(ast_context, position_context)
+ if !ok {
+ return
+ }
+ } else if position_context.call != nil {
+ symbol, ok = resolve_location_proc_param_name(ast_context, position_context)
+ if !ok {
+ return
+ }
}
resolve_flag = .Field