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