comparison src/testdir/test_vim9_class.vim @ 31633:d19377e0a0b4 v9.0.1149

patch 9.0.1149: class members may be garbage collected Commit: https://github.com/vim/vim/commit/cf760d50dceb46bd583321c210b88b92360eb959 Author: Bram Moolenaar <Bram@vim.org> Date: Thu Jan 5 13:16:04 2023 +0000 patch 9.0.1149: class members may be garbage collected Problem: Class members may be garbage collected. Solution: Mark class members as being in use.
author Bram Moolenaar <Bram@vim.org>
date Thu, 05 Jan 2023 14:30:04 +0100
parents 5400eba7c3f3
children 5c1b7a87466e
comparison
equal deleted inserted replaced
31632:874f82a0817c 31633:d19377e0a0b4
491 s.Method(7) 491 s.Method(7)
492 END 492 END
493 v9.CheckScriptFailure(lines, 'E1341: Variable already declared in the class: count') 493 v9.CheckScriptFailure(lines, 'E1341: Variable already declared in the class: count')
494 enddef 494 enddef
495 495
496 func Test_class_garbagecollect()
497 let lines =<< trim END
498 vim9script
499
500 class Point
501 this.p = [2, 3]
502 static pl = ['a', 'b']
503 static pd = {a: 'a', b: 'b'}
504 endclass
505
506 echo Point.pl Point.pd
507 call test_garbagecollect_now()
508 echo Point.pl Point.pd
509 END
510 call v9.CheckScriptSuccess(lines)
511 endfunc
512
496 def Test_class_function() 513 def Test_class_function()
497 var lines =<< trim END 514 var lines =<< trim END
498 vim9script 515 vim9script
499 class Value 516 class Value
500 this.value = 0 517 this.value = 0