JS: prohibit external functions and accessors with bodies other than noImpl. Prohibit to use anything except noImpl for default parameters initializers in external functions. See KT-13892

This commit is contained in:
Alexey Andreev
2016-12-19 19:35:16 +03:00
parent 55d4c0e439
commit 6ef4a3389e
28 changed files with 210 additions and 165 deletions
@@ -8,10 +8,10 @@ external class <!NESTED_JS_MODULE_PROHIBITED!>A<!>
external <!NESTED_JS_MODULE_PROHIBITED!>object B<!>
<!NESTED_JS_MODULE_PROHIBITED!>@JsModule("foo")
external fun foo()<!> = 23
external fun foo(): Int<!>
<!NESTED_JS_MODULE_PROHIBITED!>@JsModule("bar")
external val bar<!> = 42
external val bar: Int<!>
<!NESTED_JS_MODULE_PROHIBITED!>@JsNonModule
external val baz<!> = 99
external val baz: Int<!>
@@ -1,8 +1,8 @@
package
package foo {
@kotlin.js.JsModule(import = "bar") public external val bar: kotlin.Int = 42
@kotlin.js.JsNonModule public external val baz: kotlin.Int = 99
@kotlin.js.JsModule(import = "bar") public external val bar: kotlin.Int
@kotlin.js.JsNonModule public external val baz: kotlin.Int
@kotlin.js.JsModule(import = "foo") public external fun foo(): kotlin.Int
@kotlin.js.JsModule(import = "A") public external final class A {