Mercurial > vim
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 |