aboutsummaryrefslogtreecommitdiff
path: root/src/server/analysis.odin
diff options
context:
space:
mode:
authorBrad Lewis <22850972+BradLewis@users.noreply.github.com>2025-08-01 07:48:22 -0400
committerBrad Lewis <22850972+BradLewis@users.noreply.github.com>2025-08-01 07:48:22 -0400
commit16cfd6fff822faf8116d8648effe171154fa6bc2 (patch)
treea14e155110992951c07c72254a27995299e69cdd /src/server/analysis.odin
parent24b81b6118ce76eb38e2fd33642464e3a7f2063e (diff)
Handle multiple returns
Diffstat (limited to 'src/server/analysis.odin')
-rw-r--r--src/server/analysis.odin6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/server/analysis.odin b/src/server/analysis.odin
index 14a6f39..127c038 100644
--- a/src/server/analysis.odin
+++ b/src/server/analysis.odin
@@ -3274,18 +3274,18 @@ get_generic_assignment :: proc(
if value, ok := symbol.value.(SymbolProcedureValue); ok {
if len(value.return_types) == 1 {
if proc_type, ok := value.return_types[0].type.derived.(^Proc_Type); ok {
- if len(proc_type.results.list) == 1 {
+ for return_item in proc_type.results.list {
get_generic_assignment(
file,
- proc_type.results.list[0].type,
+ return_item.type,
ast_context,
results,
calls,
flags,
is_mutable,
)
- return
}
+ return
}
}
}