diff options
author | Rico Tzschichholz <ricotz@ubuntu.com> | 2023-02-06 18:52:11 +0100 |
---|---|---|
committer | Rico Tzschichholz <ricotz@ubuntu.com> | 2023-02-06 19:06:01 +0100 |
commit | 6dec23dc1c5b8567d0e2eddeab226e5cbd817cdc (patch) | |
tree | e313bc7bee6a920c3af642c685196002b4db8f87 /vala | |
parent | 0771248fd47770e0d25d139143de41eb16a6ee07 (diff) | |
download | vala-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.vala | 4 |
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; |