0
0
mirror of https://github.com/vim/vim.git synced 2025-10-03 05:14:07 -04:00

patch 9.0.1249: cannot export an abstract class

Problem:    Cannot export an abstract class. (Ernie Rael)
Solution:   Add the EX_EXPORT flag to :abstract. (closes #11884)
This commit is contained in:
Bram Moolenaar
2023-01-27 13:16:19 +00:00
parent 53f54e49b7
commit 657aea7fc4
5 changed files with 38 additions and 2 deletions

View File

@@ -164,6 +164,24 @@ def Test_class_basic()
v9.CheckScriptSuccess(lines)
enddef
def Test_class_interface_wrong_end()
var lines =<< trim END
vim9script
abstract class SomeName
this.member = 'text'
endinterface
END
v9.CheckScriptFailure(lines, 'E476: Invalid command: endinterface, expected endclass')
lines =<< trim END
vim9script
export interface AnotherName
this.member: string
endclass
END
v9.CheckScriptFailure(lines, 'E476: Invalid command: endclass, expected endinterface')
enddef
def Test_class_member_initializer()
var lines =<< trim END
vim9script
@@ -845,6 +863,20 @@ def Test_interface_basics()
enddef
END
v9.CheckScriptSuccess(lines)
var imported =<< trim END
vim9script
export abstract class EnterExit
def Enter(): void
enddef
def Exit(): void
enddef
endclass
END
writefile(imported, 'XdefIntf2.vim', 'D')
lines[1] = " import './XdefIntf2.vim' as defIntf"
v9.CheckScriptSuccess(lines)
enddef
def Test_class_implements_interface()