Mercurial > vim
annotate .codecov.yml @ 33393:016d8f863230 v9.0.1955
patch 9.0.1955: Vim9: lockvar issues with objects/classes
Commit: https://github.com/vim/vim/commit/ee865f37acab6cac2cee6a171d60e1b365f852b0
Author: Ernie Rael <errael@raelity.com>
Date: Fri Sep 29 19:53:55 2023 +0200
patch 9.0.1955: Vim9: lockvar issues with objects/classes
Problem: Vim9: lockvar issues with objects/classes
Solution: fix `get_lhs()` object/class access and avoid `SEGV`,
make error messages more accurate.
- `get_lval()` detects/returns object/class access
- `compile_lock_unlock()` generate code for bare static and obj_arg access
- `do_lock_var()` check lval for `ll_object`/`ll_class` and fail if so.
Details:
- Add `ll_object`/`ll_class`/`ll_oi` to `lval_T`.
- Add `lockunlock_T` to `isn_T` for `is_arg` to specify handling of `lval_root` in `get_lval()`.
- In `get_lval()`, fill in `ll_object`/`ll_class`/`ll_oi` as needed; when no `[idx] or .key`, check lval_root on the way out.
- In `do_lock_var()` check for `ll_object`/`ll_class`; also bullet proof ll_dict case
and give `Dictionay required` if problem. (not needed to avoid lockvar crash anymore)
- In `compile_lock_unlock()` compile for the class variable and func arg cases.
closes: #13174
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ernie Rael <errael@raelity.com>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Fri, 29 Sep 2023 20:00:07 +0200 |
parents | 035fbd9bd1c6 |
children | 0b8312c5dfe0 |
rev | line source |
---|---|
23608
3b378f03f713
patch 8.2.2346: Codecov reports every little coverage drop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1 coverage: |
3b378f03f713
patch 8.2.2346: Codecov reports every little coverage drop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2 range: "80...100" |
3b378f03f713
patch 8.2.2346: Codecov reports every little coverage drop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3 status: |
3b378f03f713
patch 8.2.2346: Codecov reports every little coverage drop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
4 project: |
3b378f03f713
patch 8.2.2346: Codecov reports every little coverage drop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
5 default: |
3b378f03f713
patch 8.2.2346: Codecov reports every little coverage drop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
6 threshold: 0.05% |
28759
8bb342f944d3
patch 8.2.4904: codecov includes MS-Windows install files
Bram Moolenaar <Bram@vim.org>
parents:
23608
diff
changeset
|
7 |
8bb342f944d3
patch 8.2.4904: codecov includes MS-Windows install files
Bram Moolenaar <Bram@vim.org>
parents:
23608
diff
changeset
|
8 # Files not run by tests |
8bb342f944d3
patch 8.2.4904: codecov includes MS-Windows install files
Bram Moolenaar <Bram@vim.org>
parents:
23608
diff
changeset
|
9 ignore: |
8bb342f944d3
patch 8.2.4904: codecov includes MS-Windows install files
Bram Moolenaar <Bram@vim.org>
parents:
23608
diff
changeset
|
10 - "src/dosinst.c" |
28761
035fbd9bd1c6
patch 8.2.4905: codecov includes MS-Windows install header file
Bram Moolenaar <Bram@vim.org>
parents:
28759
diff
changeset
|
11 - "src/dosinst.h" |
28759
8bb342f944d3
patch 8.2.4904: codecov includes MS-Windows install files
Bram Moolenaar <Bram@vim.org>
parents:
23608
diff
changeset
|
12 - "src/uninstall.c" |