From 730e0ad2f6c4fdffd4fa26753c0b82085ee8b2a5 Mon Sep 17 00:00:00 2001 From: Brad Lewis <22850972+BradLewis@users.noreply.github.com> Date: Sat, 23 Aug 2025 09:50:57 -0400 Subject: Compare symbols uri and range rather than trying to see if they're same type --- src/server/analysis.odin | 9 ++------- src/server/completion.odin | 2 +- 2 files changed, 3 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/server/analysis.odin b/src/server/analysis.odin index d65a410..66299e8 100644 --- a/src/server/analysis.odin +++ b/src/server/analysis.odin @@ -408,12 +408,7 @@ are_symbol_basic_same_keywords :: proc(a, b: Symbol) -> bool { return true } -is_symbol_same_typed :: proc( - ast_context: ^AstContext, - a, b: Symbol, - flags: ast.Field_Flags = {}, - ignore_pointers := false, -) -> bool { +is_symbol_same_typed :: proc(ast_context: ^AstContext, a, b: Symbol, flags: ast.Field_Flags = {}) -> bool { // In order to correctly equate the symbols for overloaded functions, we need to check both directions if same, ok := are_symbol_untyped_basic_same_typed(a, b); ok { return same @@ -428,7 +423,7 @@ is_symbol_same_typed :: proc( return false } - if !ignore_pointers && a.pointers != b.pointers { + if a.pointers != b.pointers { return false } diff --git a/src/server/completion.odin b/src/server/completion.odin index 5d28c3f..7493f5c 100644 --- a/src/server/completion.odin +++ b/src/server/completion.odin @@ -385,7 +385,7 @@ handle_pointers :: proc( } } - if !is_symbol_same_typed(ast_context, arg_symbol, result_symbol, ignore_pointers = true) { + if result_symbol.uri != arg_symbol.uri || result_symbol.range != arg_symbol.range { return } -- cgit v1.2.3