aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBrad Lewis <22850972+BradLewis@users.noreply.github.com>2025-12-30 08:53:11 +1100
committerBrad Lewis <22850972+BradLewis@users.noreply.github.com>2025-12-30 08:53:11 +1100
commitddc4a61653f0dc620bfa565c598f92b840500a9a (patch)
tree34847a691ce312078b7259f4b80f43bf4598a752 /src
parent5872154f56d21074f0e77950612bc769351094aa (diff)
Improve bitset completions with proc groups
Diffstat (limited to 'src')
-rw-r--r--src/server/analysis.odin5
-rw-r--r--src/server/completion.odin5
2 files changed, 10 insertions, 0 deletions
diff --git a/src/server/analysis.odin b/src/server/analysis.odin
index 2c7f4f4..3ced0ad 100644
--- a/src/server/analysis.odin
+++ b/src/server/analysis.odin
@@ -2451,6 +2451,11 @@ resolve_implicit_selector :: proc(
if position_context.call != nil {
if call, ok := position_context.call.derived.(^ast.Call_Expr); ok {
parameter_index, parameter_ok := find_position_in_call_param(position_context, call^)
+ old := ast_context.resolve_specific_overload
+ ast_context.resolve_specific_overload = true
+ defer {
+ ast_context.resolve_specific_overload = old
+ }
if symbol, ok := resolve_type_expression(ast_context, call.expr); ok && parameter_ok {
if proc_value, ok := symbol.value.(SymbolProcedureValue); ok {
if len(proc_value.arg_types) <= parameter_index {
diff --git a/src/server/completion.odin b/src/server/completion.odin
index d80e451..62f0488 100644
--- a/src/server/completion.odin
+++ b/src/server/completion.odin
@@ -1403,6 +1403,11 @@ get_implicit_completion :: proc(
if position_context.call != nil {
if call, ok := position_context.call.derived.(^ast.Call_Expr); ok {
parameter_index, parameter_ok := find_position_in_call_param(position_context, call^)
+ old := ast_context.resolve_specific_overload
+ ast_context.resolve_specific_overload = true
+ defer {
+ ast_context.resolve_specific_overload = old
+ }
if symbol, ok := resolve_type_expression(ast_context, call.expr); ok && parameter_ok {
set_ast_package_set_scoped(ast_context, symbol.pkg)