JS: add restrictions to external modifier according to KT-13893

This commit is contained in:
Alexey Andreev
2016-11-25 17:52:40 +03:00
parent c0c6992ea6
commit d0ffb5bd32
26 changed files with 298 additions and 290 deletions
@@ -0,0 +1,51 @@
// !DIAGNOSTICS: -DEPRECATION
object O
class TopLevel {
external class <!NESTED_EXTERNAL_DECLARATION!>A<!>
class B
fun foo() = 23
<!NESTED_EXTERNAL_DECLARATION!>external fun bar(): Int<!>
<!NESTED_EXTERNAL_DECLARATION!>@native fun baz(): Int<!>
val x = "a"
<!NESTED_EXTERNAL_DECLARATION!>external val y: String<!>
val O.u: String get() = "O.u"
<!NESTED_EXTERNAL_DECLARATION!>external val O.v: String<!> get() = noImpl
}
external class TopLevelNative {
external class <!NESTED_EXTERNAL_DECLARATION!>A<!>
class B
fun foo() = 23
<!NESTED_EXTERNAL_DECLARATION!>external fun bar(): Int<!>
val x = "a"
<!NESTED_EXTERNAL_DECLARATION!>external val y: String<!>
val O.u: String get() = "O.u"
<!NESTED_EXTERNAL_DECLARATION!>external val O.v: String<!> get() = noImpl
}
fun topLevelFun() {
external class <!NESTED_EXTERNAL_DECLARATION!>A<!>
class B
fun foo() = 23
<!NESTED_EXTERNAL_DECLARATION!>external fun bar(): Int<!>
}