aboutsummaryrefslogtreecommitdiff
path: root/src/server/definition.odin
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/definition.odin')
-rw-r--r--src/server/definition.odin18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/server/definition.odin b/src/server/definition.odin
index 34d1315..9994afa 100644
--- a/src/server/definition.odin
+++ b/src/server/definition.odin
@@ -100,12 +100,14 @@ get_definition_location :: proc(document: ^Document, position: common.Position)
}
if resolved, ok := resolve_location_selector(&ast_context, position_context.selector_expr); ok {
- resolved = try_resolve_proc_group_overload(
- &ast_context,
- &position_context,
- resolved,
- position_context.selector_expr,
- )
+ if common.config.enable_overload_resolution {
+ resolved = try_resolve_proc_group_overload(
+ &ast_context,
+ &position_context,
+ resolved,
+ position_context.selector_expr,
+ )
+ }
location.range = resolved.range
uri = resolved.uri
} else {
@@ -145,7 +147,9 @@ get_definition_location :: proc(document: ^Document, position: common.Position)
&ast_context,
position_context.identifier.derived.(^ast.Ident)^,
); ok {
- resolved = try_resolve_proc_group_overload(&ast_context, &position_context, resolved)
+ if common.config.enable_overload_resolution {
+ resolved = try_resolve_proc_group_overload(&ast_context, &position_context, resolved)
+ }
if v, ok := resolved.value.(SymbolAggregateValue); ok {
for symbol in v.symbols {
append(&locations, common.Location{range = symbol.range, uri = symbol.uri})