JS: prohibit native (external) extension properties and functions. See KT-13896

This commit is contained in:
Alexey Andreev
2016-11-28 11:38:29 +03:00
parent cf25e17209
commit 3882bf7564
36 changed files with 48 additions and 346 deletions
@@ -7,12 +7,6 @@ external class A {
@nativeInvoke
fun invoke(a: String): Int = 0
<!NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN!>@nativeInvoke
fun Int.ext()<!> = 1
<!NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN!>@nativeInvoke
fun Int.invoke(a: String, b: Int)<!> = "OK"
<!WRONG_ANNOTATION_TARGET!>@nativeInvoke<!>
val foo = 0
@@ -26,12 +20,6 @@ external class A {
@nativeInvoke
fun invoke(a: String): Int = 0
<!NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN!>@nativeInvoke
fun Int.ext()<!> = 1
<!NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN!>@nativeInvoke
fun Int.invoke(a: String, b: Int)<!> = "OK"
<!WRONG_ANNOTATION_TARGET!>@nativeInvoke<!>
val foo = 0
@@ -8,8 +8,6 @@ public external final class A {
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.js.nativeInvoke public final fun invoke(/*0*/ a: kotlin.String): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
@kotlin.js.nativeInvoke public final fun kotlin.Int.ext(): kotlin.Int
@kotlin.js.nativeInvoke public final fun kotlin.Int.invoke(/*0*/ a: kotlin.String, /*1*/ b: kotlin.Int): kotlin.String
public companion object Companion {
private constructor Companion()
@@ -19,8 +17,6 @@ public external final class A {
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.js.nativeInvoke public final fun invoke(/*0*/ a: kotlin.String): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
@kotlin.js.nativeInvoke public final fun kotlin.Int.ext(): kotlin.Int
@kotlin.js.nativeInvoke public final fun kotlin.Int.invoke(/*0*/ a: kotlin.String, /*1*/ b: kotlin.Int): kotlin.String
@kotlin.js.nativeInvoke public object Obj2 {
private constructor Obj2()
@@ -8,12 +8,6 @@ external class A {
@nativeInvoke
fun invoke(a: String): Int = 0
<!NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN!>@nativeInvoke
fun Int.ext()<!> = 1
<!NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN!>@nativeInvoke
fun Int.invoke(a: String, b: Int)<!> = "OK"
}
object obj {
@@ -22,12 +16,6 @@ external class A {
@nativeInvoke
fun invoke(a: String): Int = 0
<!NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN!>@nativeInvoke
fun Int.ext()<!> = 1
<!NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN!>@nativeInvoke
fun Int.invoke(a: String, b: Int)<!> = "OK"
}
companion object {
@@ -20,8 +20,6 @@ public external final class A {
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.js.nativeInvoke public final fun invoke(/*0*/ a: kotlin.String): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
@kotlin.js.nativeInvoke public final fun kotlin.Int.ext(): kotlin.Int
@kotlin.js.nativeInvoke public final fun kotlin.Int.invoke(/*0*/ a: kotlin.String, /*1*/ b: kotlin.Int): kotlin.String
}
public companion object Companion {
@@ -40,8 +38,6 @@ public external final class A {
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@kotlin.js.nativeInvoke public final fun invoke(/*0*/ a: kotlin.String): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
@kotlin.js.nativeInvoke public final fun kotlin.Int.ext(): kotlin.Int
@kotlin.js.nativeInvoke public final fun kotlin.Int.invoke(/*0*/ a: kotlin.String, /*1*/ b: kotlin.Int): kotlin.String
}
}
}