JS: prohibit non-abstract members of external interfaces, except for nullable properties. See KT-15308

This commit is contained in:
Alexey Andreev
2016-12-19 14:39:26 +03:00
parent 403753f5b5
commit 55d4c0e439
10 changed files with 81 additions and 5 deletions
@@ -0,0 +1,21 @@
external interface I {
<!NON_ABSTRACT_MEMBER_OF_EXTERNAL_INTERFACE!>fun foo(): Unit<!> = noImpl
val a: Int?
get() = noImpl
var b: String?
get() = noImpl
set(value) = noImpl
<!NON_ABSTRACT_MEMBER_OF_EXTERNAL_INTERFACE!>val c: Int<!>
get() = noImpl
<!NON_ABSTRACT_MEMBER_OF_EXTERNAL_INTERFACE!>var d: String<!>
get() = noImpl
set(value) = noImpl
var e: dynamic
get() = noImpl
set(value) = noImpl
}