mirror of
https://github.com/vim/vim.git
synced 2025-10-04 05:25:06 -04:00
patch 9.0.1720: Vim9 class using wrong index for overridden method
Problem: Vim9 class using wrong index for overridden method Solution: Use correct index for overridden method closes: #12524 closes: #12813 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
This commit is contained in:
committed by
Christian Brabandt
parent
20b33b56ad
commit
a456b12011
@@ -1948,4 +1948,42 @@ def Test_call_method_in_extended_class()
|
||||
v9.CheckScriptSuccess(lines)
|
||||
enddef
|
||||
|
||||
" Test for calling a method in the parent class that is extended partially.
|
||||
" This used to fail with the 'E118: Too many arguments for function: Text' error
|
||||
" message (Github issue #12524).
|
||||
def Test_call_method_in_parent_class()
|
||||
var lines =<< trim END
|
||||
vim9script
|
||||
|
||||
class Widget
|
||||
this._lnum: number = 1
|
||||
|
||||
def SetY(lnum: number)
|
||||
this._lnum = lnum
|
||||
enddef
|
||||
|
||||
def Text(): string
|
||||
return ''
|
||||
enddef
|
||||
endclass
|
||||
|
||||
class Foo extends Widget
|
||||
def Text(): string
|
||||
return '<Foo>'
|
||||
enddef
|
||||
endclass
|
||||
|
||||
def Stack(w1: Widget, w2: Widget): list<Widget>
|
||||
w1.SetY(1)
|
||||
w2.SetY(2)
|
||||
return [w1, w2]
|
||||
enddef
|
||||
|
||||
var foo1 = Foo.new()
|
||||
var foo2 = Foo.new()
|
||||
var l = Stack(foo1, foo2)
|
||||
END
|
||||
v9.CheckScriptSuccess(lines)
|
||||
enddef
|
||||
|
||||
" vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker
|
||||
|
Reference in New Issue
Block a user