comparison src/vim9.h @ 27084:6fc63c6a7ee7 v8.2.4071

patch 8.2.4071: Vim9: no detection of return in try/endtry Commit: https://github.com/vim/vim/commit/53c296112edd8471eb63afbca03f96bad164c813 Author: Bram Moolenaar <Bram@vim.org> Date: Wed Jan 12 16:18:18 2022 +0000 patch 8.2.4071: Vim9: no detection of return in try/endtry Problem: Vim9: no detection of return in try/endtry. (Dominique Pell?) Solution: Check if any of the blocks inside try/endtry did not end in return.
author Bram Moolenaar <Bram@vim.org>
date Wed, 12 Jan 2022 17:30:07 +0100
parents 4e77f9961650
children 1a6421c5be20
comparison
equal deleted inserted replaced
27083:15f9359846ad 27084:6fc63c6a7ee7
592 typedef struct { 592 typedef struct {
593 int ts_try_label; // instruction idx at TRY 593 int ts_try_label; // instruction idx at TRY
594 endlabel_T *ts_end_label; // jump to :finally or :endtry 594 endlabel_T *ts_end_label; // jump to :finally or :endtry
595 int ts_catch_label; // instruction idx of last CATCH 595 int ts_catch_label; // instruction idx of last CATCH
596 int ts_caught_all; // "catch" without argument encountered 596 int ts_caught_all; // "catch" without argument encountered
597 int ts_has_finally; // "finally" encountered
598 int ts_no_return; // one of the blocks did not end in return
597 } tryscope_T; 599 } tryscope_T;
598 600
599 typedef enum { 601 typedef enum {
600 NO_SCOPE, 602 NO_SCOPE,
601 IF_SCOPE, 603 IF_SCOPE,