Mercurial > vim
comparison src/testdir/test_vim9_class.vim @ 32088:cdab211f342a v9.0.1375
patch 9.0.1375: crash when getting member of obj of unknown class
Commit: https://github.com/vim/vim/commit/f77a7f704ffd0ca1050e82f609c8b8bd61863277
Author: Ernie Rael <errael@raelity.com>
Date: Fri Mar 3 15:05:30 2023 +0000
patch 9.0.1375: crash when getting member of obj of unknown class
Problem: Crash when getting member of obj of unknown class.
Solution: Check for NULL class and give an error message. (Ernie Rael,
closes #12096)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 03 Mar 2023 16:15:03 +0100 |
parents | 615964c77be3 |
children | 64e8cd965e79 |
comparison
equal
deleted
inserted
replaced
32087:25f303c924e3 | 32088:cdab211f342a |
---|---|
270 | 270 |
271 var bg: Background # UNINITIALIZED | 271 var bg: Background # UNINITIALIZED |
272 echo Colorscheme.new(bg).GetBackground() | 272 echo Colorscheme.new(bg).GetBackground() |
273 END | 273 END |
274 v9.CheckScriptFailure(lines, 'E1012: Type mismatch; expected object<Background> but got object<Unknown>') | 274 v9.CheckScriptFailure(lines, 'E1012: Type mismatch; expected object<Background> but got object<Unknown>') |
275 | |
276 # TODO: this should not give an error but be handled at runtime | |
277 lines =<< trim END | |
278 vim9script | |
279 | |
280 class Class | |
281 this.id: string | |
282 def Method1() | |
283 echo 'Method1' .. this.id | |
284 enddef | |
285 endclass | |
286 | |
287 var obj = null_object | |
288 def Func() | |
289 obj.Method1() | |
290 enddef | |
291 Func() | |
292 END | |
293 v9.CheckScriptFailure(lines, 'E1363:') | |
275 enddef | 294 enddef |
276 | 295 |
277 def Test_class_member_initializer() | 296 def Test_class_member_initializer() |
278 var lines =<< trim END | 297 var lines =<< trim END |
279 vim9script | 298 vim9script |