aboutsummaryrefslogtreecommitdiff
path: root/src/server/file_resolve.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/file_resolve.odin
parent156d75278e86764f3754c68121f4ed347e167a8b (diff)
Correctly resolve references of proc parameter names
Diffstat (limited to 'src/server/file_resolve.odin')
-rw-r--r--src/server/file_resolve.odin8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/server/file_resolve.odin b/src/server/file_resolve.odin
index 70a4b99..e930f9d 100644
--- a/src/server/file_resolve.odin
+++ b/src/server/file_resolve.odin
@@ -229,6 +229,14 @@ resolve_node :: proc(node: ^ast.Node, data: ^FileResolveData) {
}
resolve_node(n.value, data)
+ } else if data.flag != .None && data.position_context.call != nil {
+ if symbol, ok := resolve_location_proc_param_name(data.ast_context, data.position_context); ok {
+ data.symbols[cast(uintptr)node] = SymbolAndNode {
+ node = n.field,
+ symbol = symbol,
+ }
+ }
+ resolve_node(n.value, data)
} else {
resolve_node(n.field, data)
resolve_node(n.value, data)