summaryrefslogtreecommitdiff
path: root/vala
diff options
context:
space:
mode:
authorRico Tzschichholz <ricotz@ubuntu.com>2023-02-06 18:52:11 +0100
committerRico Tzschichholz <ricotz@ubuntu.com>2023-02-06 19:06:01 +0100
commit6dec23dc1c5b8567d0e2eddeab226e5cbd817cdc (patch)
treee313bc7bee6a920c3af642c685196002b4db8f87 /vala
parent0771248fd47770e0d25d139143de41eb16a6ee07 (diff)
downloadvala-6dec23dc1c5b8567d0e2eddeab226e5cbd817cdc.tar.gz
vala: Better handling of [NoReturn] call inside finally clause
This caused the following criticals: vala_flow_analyzer_jump_target_construct_finally_clause: assertion 'last_block != NULL' failed vala_flow_analyzer_jump_target_get_is_exit_target: assertion 'self != NULL' failed vala_flow_analyzer_jump_target_get_is_error_target: assertion 'self != NULL' failed vala_flow_analyzer_jump_target_get_is_finally_clause: assertion 'self != NULL' failed
Diffstat (limited to 'vala')
-rw-r--r--vala/valaflowanalyzer.vala4
1 files changed, 3 insertions, 1 deletions
diff --git a/vala/valaflowanalyzer.vala b/vala/valaflowanalyzer.vala
index 9c9457fd5..45f524546 100644
--- a/vala/valaflowanalyzer.vala
+++ b/vala/valaflowanalyzer.vala
@@ -1018,7 +1018,9 @@ public class Vala.FlowAnalyzer : CodeVisitor {
return;
}
- jump_stack.add (new JumpTarget.finally_clause (finally_block, current_block));
+ if (current_block != null) {
+ jump_stack.add (new JumpTarget.finally_clause (finally_block, current_block));
+ }
}
int finally_jump_stack_size = jump_stack.size;