JS: prohibit inheritance of external classes from non-external (see KT-15130)

This commit is contained in:
Alexey Andreev
2016-12-08 15:07:19 +03:00
parent fff1af4ff6
commit df34e69d7d
6 changed files with 127 additions and 1 deletions
@@ -0,0 +1,23 @@
// !DIAGNOSTICS: -DEPRECATION
open class A
interface I
external open class B
external class <!EXTERNAL_TYPE_EXTENDS_NON_EXTERNAL_TYPE!>C<!> : A()
external class <!EXTERNAL_TYPE_EXTENDS_NON_EXTERNAL_TYPE!>D<!> : B(), I
@native class <!EXTERNAL_TYPE_EXTENDS_NON_EXTERNAL_TYPE!>N<!> : A()
external interface <!EXTERNAL_TYPE_EXTENDS_NON_EXTERNAL_TYPE!>K<!> : I
external enum class E {
X
}
external enum class <!EXTERNAL_TYPE_EXTENDS_NON_EXTERNAL_TYPE!>F<!> : I {
X
}