diff --git a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeGetter/onLocalNativeClassMembers.kt b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeGetter/onLocalNativeClassMembers.kt index cb8996b34c4..9b34d25a2fe 100644 --- a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeGetter/onLocalNativeClassMembers.kt +++ b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeGetter/onLocalNativeClassMembers.kt @@ -21,6 +21,15 @@ fun foo() { [native] class C { + nativeGetter + fun Int.get(a: String): Int? = 1 + + nativeGetter + fun Int.get2(a: Number): String? = "OK" + + nativeGetter + fun Int.get3(a: Int): String? = "OK" + nativeGetter fun get(): Any? = null diff --git a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeGetter/onLocalNonNativeClassMembers.kt b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeGetter/onLocalNonNativeClassMembers.kt index c93f27d09d4..7f84de913a9 100644 --- a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeGetter/onLocalNonNativeClassMembers.kt +++ b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeGetter/onLocalNonNativeClassMembers.kt @@ -18,6 +18,15 @@ fun foo() { } class C { + nativeGetter + fun Int.get(a: String): Int? = 1 + + nativeGetter + fun Int.get2(a: Number): String? = "OK" + + nativeGetter + fun Int.get3(a: Int): String? = "OK" + nativeGetter fun get(): Any? = null diff --git a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeGetter/onNativeClassMembers.kt b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeGetter/onNativeClassMembers.kt index a106d846414..b590c795b36 100644 --- a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeGetter/onNativeClassMembers.kt +++ b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeGetter/onNativeClassMembers.kt @@ -42,6 +42,15 @@ class B { native class C { + nativeGetter + fun Int.get(a: String): Int? = 1 + + nativeGetter + fun Int.get2(a: Number): String? = "OK" + + nativeGetter + fun Int.get3(a: Int): String? = "OK" + nativeGetter fun get(): Any? = null @@ -53,4 +62,16 @@ class C { nativeGetter fun bar(a: String): Int = 0 + + class object { + nativeGetter + fun Int.get(a: String): Int? = 1 + + nativeGetter + fun Int.get2(a: Number): String? = "OK" + + nativeGetter + fun Int.get3(a: Int): String? = "OK" + } + } \ No newline at end of file diff --git a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeGetter/onNativeClassMembers.txt b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeGetter/onNativeClassMembers.txt index 6f603fd3376..ce7d90a6056 100644 --- a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeGetter/onNativeClassMembers.txt +++ b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeGetter/onNativeClassMembers.txt @@ -73,4 +73,17 @@ kotlin.js.native() internal final class C { kotlin.js.nativeGetter() internal final fun get(/*0*/ a: A): kotlin.Any? public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + kotlin.js.nativeGetter() internal final fun kotlin.Int.get(/*0*/ a: kotlin.String): kotlin.Int? + kotlin.js.nativeGetter() internal final fun kotlin.Int.get2(/*0*/ a: kotlin.Number): kotlin.String? + kotlin.js.nativeGetter() internal final fun kotlin.Int.get3(/*0*/ a: kotlin.Int): kotlin.String? + + internal class object { + private constructor () + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + kotlin.js.nativeGetter() internal final fun kotlin.Int.get(/*0*/ a: kotlin.String): kotlin.Int? + kotlin.js.nativeGetter() internal final fun kotlin.Int.get2(/*0*/ a: kotlin.Number): kotlin.String? + kotlin.js.nativeGetter() internal final fun kotlin.Int.get3(/*0*/ a: kotlin.Int): kotlin.String? + } } diff --git a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeGetter/onNestedDeclarationsInsideNativeClass.kt b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeGetter/onNestedDeclarationsInsideNativeClass.kt index 15102b3d878..373883f6bf3 100644 --- a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeGetter/onNestedDeclarationsInsideNativeClass.kt +++ b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeGetter/onNestedDeclarationsInsideNativeClass.kt @@ -42,6 +42,15 @@ class A { } class C { + nativeGetter + fun Int.get(a: String): Int? = 1 + + nativeGetter + fun Int.get2(a: Number): String? = "OK" + + nativeGetter + fun Int.get3(a: Int): String? = "OK" + nativeGetter fun get(): Any? = null @@ -56,6 +65,15 @@ class A { } object obj { + nativeGetter + fun Int.get(a: String): Int? = 1 + + nativeGetter + fun Int.get2(a: Number): String? = "OK" + + nativeGetter + fun Int.get3(a: Int): String? = "OK" + nativeGetter fun get(): Any? = null @@ -70,6 +88,15 @@ class A { } val anonymous = object { + nativeGetter + fun Int.get(a: String): Int? = 1 + + nativeGetter + fun Int.get2(a: Number): String? = "OK" + + nativeGetter + fun Int.get3(a: Int): String? = "OK" + nativeGetter fun get(): Any? = null diff --git a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeGetter/onNestedDeclarationsInsideNativeClass.txt b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeGetter/onNestedDeclarationsInsideNativeClass.txt index e77f03c8776..d36dd09e4a7 100644 --- a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeGetter/onNestedDeclarationsInsideNativeClass.txt +++ b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeGetter/onNestedDeclarationsInsideNativeClass.txt @@ -86,6 +86,9 @@ kotlin.js.native() internal final class A { kotlin.js.nativeGetter() internal final fun get(/*0*/ a: A.B.A): kotlin.Any? public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + kotlin.js.nativeGetter() internal final fun kotlin.Int.get(/*0*/ a: kotlin.String): kotlin.Int? + kotlin.js.nativeGetter() internal final fun kotlin.Int.get2(/*0*/ a: kotlin.Number): kotlin.String? + kotlin.js.nativeGetter() internal final fun kotlin.Int.get3(/*0*/ a: kotlin.Int): kotlin.String? } internal object obj { @@ -97,6 +100,9 @@ kotlin.js.native() internal final class A { kotlin.js.nativeGetter() internal final fun get(/*0*/ a: A.B.A): kotlin.Any? public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + kotlin.js.nativeGetter() internal final fun kotlin.Int.get(/*0*/ a: kotlin.String): kotlin.Int? + kotlin.js.nativeGetter() internal final fun kotlin.Int.get2(/*0*/ a: kotlin.Number): kotlin.String? + kotlin.js.nativeGetter() internal final fun kotlin.Int.get3(/*0*/ a: kotlin.Int): kotlin.String? public class object : A.B.obj { private constructor () @@ -107,6 +113,9 @@ kotlin.js.native() internal final class A { kotlin.js.nativeGetter() internal final override /*1*/ /*fake_override*/ fun get(/*0*/ a: A.B.A): kotlin.Any? public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + kotlin.js.nativeGetter() internal final override /*1*/ /*fake_override*/ fun kotlin.Int.get(/*0*/ a: kotlin.String): kotlin.Int? + kotlin.js.nativeGetter() internal final override /*1*/ /*fake_override*/ fun kotlin.Int.get2(/*0*/ a: kotlin.Number): kotlin.String? + kotlin.js.nativeGetter() internal final override /*1*/ /*fake_override*/ fun kotlin.Int.get3(/*0*/ a: kotlin.Int): kotlin.String? } } } diff --git a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeGetter/onNestedDeclarationsInsideNonNativeClass.kt b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeGetter/onNestedDeclarationsInsideNonNativeClass.kt index d04ef93c73a..67c4c18781f 100644 --- a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeGetter/onNestedDeclarationsInsideNonNativeClass.kt +++ b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeGetter/onNestedDeclarationsInsideNonNativeClass.kt @@ -25,6 +25,15 @@ class A { } class B { + nativeGetter + fun Int.get(a: String): Int? = 1 + + nativeGetter + fun Int.get2(a: Number): String? = "OK" + + nativeGetter + fun Int.get3(a: Int): String? = "OK" + nativeGetter val foo = 0 @@ -37,6 +46,15 @@ class A { nativeGetter object Obj2 {} + + nativeGetter + fun Int.get(a: String): Int? = 1 + + nativeGetter + fun Int.get2(a: Number): String? = "OK" + + nativeGetter + fun Int.get3(a: Int): String? = "OK" } } diff --git a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeGetter/onNestedDeclarationsInsideNonNativeClass.txt b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeGetter/onNestedDeclarationsInsideNonNativeClass.txt index 16b4c0cf55a..7ef09d9751f 100644 --- a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeGetter/onNestedDeclarationsInsideNonNativeClass.txt +++ b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeGetter/onNestedDeclarationsInsideNonNativeClass.txt @@ -39,6 +39,9 @@ internal final class A { public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + kotlin.js.nativeGetter() internal final fun kotlin.Int.get(/*0*/ a: kotlin.String): kotlin.Int? + kotlin.js.nativeGetter() internal final fun kotlin.Int.get2(/*0*/ a: kotlin.Number): kotlin.String? + kotlin.js.nativeGetter() internal final fun kotlin.Int.get3(/*0*/ a: kotlin.Int): kotlin.String? internal class object { private constructor () @@ -46,6 +49,9 @@ internal final class A { public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + kotlin.js.nativeGetter() internal final fun kotlin.Int.get(/*0*/ a: kotlin.String): kotlin.Int? + kotlin.js.nativeGetter() internal final fun kotlin.Int.get2(/*0*/ a: kotlin.Number): kotlin.String? + kotlin.js.nativeGetter() internal final fun kotlin.Int.get3(/*0*/ a: kotlin.Int): kotlin.String? kotlin.js.nativeGetter() internal object Obj2 { private constructor Obj2() diff --git a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeGetter/onNonNativeClassMembers.kt b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeGetter/onNonNativeClassMembers.kt index f34ea0db2d9..e57de8b02b2 100644 --- a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeGetter/onNonNativeClassMembers.kt +++ b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeGetter/onNonNativeClassMembers.kt @@ -39,6 +39,15 @@ class B { } class C { + nativeGetter + fun Int.get(a: String): Int? = 1 + + nativeGetter + fun Int.get2(a: Number): String? = "OK" + + nativeGetter + fun Int.get3(a: Int): String? = "OK" + nativeGetter fun get(): Any? = null diff --git a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeGetter/onNonNativeClassMembers.txt b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeGetter/onNonNativeClassMembers.txt index 290cf76ce11..854ddc5e8a2 100644 --- a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeGetter/onNonNativeClassMembers.txt +++ b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeGetter/onNonNativeClassMembers.txt @@ -73,4 +73,7 @@ internal final class C { kotlin.js.nativeGetter() internal final fun get(/*0*/ a: A): kotlin.Any? public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + kotlin.js.nativeGetter() internal final fun kotlin.Int.get(/*0*/ a: kotlin.String): kotlin.Int? + kotlin.js.nativeGetter() internal final fun kotlin.Int.get2(/*0*/ a: kotlin.Number): kotlin.String? + kotlin.js.nativeGetter() internal final fun kotlin.Int.get3(/*0*/ a: kotlin.Int): kotlin.String? } diff --git a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeInvoke/onLocalNativeClassMembers.kt b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeInvoke/onLocalNativeClassMembers.kt index 5eb97515e45..808db78d583 100644 --- a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeInvoke/onLocalNativeClassMembers.kt +++ b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeInvoke/onLocalNativeClassMembers.kt @@ -9,6 +9,12 @@ fun foo() { nativeInvoke fun invoke(a: String): Int = 0 + nativeInvoke + fun Int.ext() = 1 + + nativeInvoke + fun Int.invoke(a: String, b: Int) = "OK" + val anonymous = object { nativeInvoke fun foo() {} diff --git a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeInvoke/onLocalNonNativeClassMembers.kt b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeInvoke/onLocalNonNativeClassMembers.kt index 0ff4efa5847..a92d00345c4 100644 --- a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeInvoke/onLocalNonNativeClassMembers.kt +++ b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeInvoke/onLocalNonNativeClassMembers.kt @@ -8,6 +8,12 @@ fun foo() { nativeInvoke fun invoke(a: String): Int = 0 + nativeInvoke + fun Int.ext() = 1 + + nativeInvoke + fun Int.invoke(a: String, b: Int) = "OK" + val anonymous = object { nativeInvoke fun foo() {} diff --git a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeInvoke/onNativeClassMembers.kt b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeInvoke/onNativeClassMembers.kt index 8b195dce20c..4d1b733ed32 100644 --- a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeInvoke/onNativeClassMembers.kt +++ b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeInvoke/onNativeClassMembers.kt @@ -8,11 +8,17 @@ class A { nativeInvoke fun invoke(a: String): Int = 0 + nativeInvoke + fun Int.ext() = 1 + + nativeInvoke + fun Int.invoke(a: String, b: Int) = "OK" + nativeInvoke val foo = 0 nativeInvoke - object Obj {} + object Obj1 {} class object { nativeInvoke @@ -20,5 +26,17 @@ class A { nativeInvoke fun invoke(a: String): Int = 0 + + nativeInvoke + fun Int.ext() = 1 + + nativeInvoke + fun Int.invoke(a: String, b: Int) = "OK" + + nativeInvoke + val foo = 0 + + nativeInvoke + object Obj2 {} } } \ No newline at end of file diff --git a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeInvoke/onNativeClassMembers.txt b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeInvoke/onNativeClassMembers.txt index dd7ec9cfcd7..8d355f622c2 100644 --- a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeInvoke/onNativeClassMembers.txt +++ b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeInvoke/onNativeClassMembers.txt @@ -1,4 +1,4 @@ -package +package kotlin.js.native() internal final class A { public constructor A() @@ -8,24 +8,43 @@ kotlin.js.native() internal final class A { public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int kotlin.js.nativeInvoke() internal final fun invoke(/*0*/ a: kotlin.String): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + kotlin.js.nativeInvoke() internal final fun kotlin.Int.ext(): kotlin.Int + kotlin.js.nativeInvoke() internal final fun kotlin.Int.invoke(/*0*/ a: kotlin.String, /*1*/ b: kotlin.Int): kotlin.String internal class object { private constructor () + kotlin.js.nativeInvoke() internal final val foo: kotlin.Int = 0 public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean kotlin.js.nativeInvoke() internal final fun foo(): kotlin.Unit public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int kotlin.js.nativeInvoke() internal final fun invoke(/*0*/ a: kotlin.String): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + kotlin.js.nativeInvoke() internal final fun kotlin.Int.ext(): kotlin.Int + kotlin.js.nativeInvoke() internal final fun kotlin.Int.invoke(/*0*/ a: kotlin.String, /*1*/ b: kotlin.Int): kotlin.String + + kotlin.js.nativeInvoke() internal object Obj2 { + private constructor Obj2() + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + + public class object : A.Obj2 { + private constructor () + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + } + } } - kotlin.js.nativeInvoke() internal object Obj { - private constructor Obj() + kotlin.js.nativeInvoke() internal object Obj1 { + private constructor Obj1() public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String - public class object : A.Obj { - private constructor () + public class object : A.Obj1 { + private constructor () public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String diff --git a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeInvoke/onNestedDeclarationsInsideNativeClass.kt b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeInvoke/onNestedDeclarationsInsideNativeClass.kt index 7f9fcc36ec9..a1bec617d93 100644 --- a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeInvoke/onNestedDeclarationsInsideNativeClass.kt +++ b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeInvoke/onNestedDeclarationsInsideNativeClass.kt @@ -9,6 +9,12 @@ class A { nativeInvoke fun invoke(a: String): Int = 0 + + nativeInvoke + fun Int.ext() = 1 + + nativeInvoke + fun Int.invoke(a: String, b: Int) = "OK" } object obj { @@ -17,6 +23,12 @@ class A { nativeInvoke fun invoke(a: String): Int = 0 + + nativeInvoke + fun Int.ext() = 1 + + nativeInvoke + fun Int.invoke(a: String, b: Int) = "OK" } class object { @@ -35,4 +47,4 @@ class A { fun invoke(a: String): Int = 0 } } -} +} \ No newline at end of file diff --git a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeInvoke/onNestedDeclarationsInsideNativeClass.txt b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeInvoke/onNestedDeclarationsInsideNativeClass.txt index 12ac1365884..29f5b129762 100644 --- a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeInvoke/onNestedDeclarationsInsideNativeClass.txt +++ b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeInvoke/onNestedDeclarationsInsideNativeClass.txt @@ -29,6 +29,8 @@ kotlin.js.native() internal final class A { public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int kotlin.js.nativeInvoke() internal final fun invoke(/*0*/ a: kotlin.String): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + kotlin.js.nativeInvoke() internal final fun kotlin.Int.ext(): kotlin.Int + kotlin.js.nativeInvoke() internal final fun kotlin.Int.invoke(/*0*/ a: kotlin.String, /*1*/ b: kotlin.Int): kotlin.String } internal object obj { @@ -38,6 +40,8 @@ kotlin.js.native() internal final class A { public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int kotlin.js.nativeInvoke() internal final fun invoke(/*0*/ a: kotlin.String): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + kotlin.js.nativeInvoke() internal final fun kotlin.Int.ext(): kotlin.Int + kotlin.js.nativeInvoke() internal final fun kotlin.Int.invoke(/*0*/ a: kotlin.String, /*1*/ b: kotlin.Int): kotlin.String public class object : A.B.obj { private constructor () @@ -46,6 +50,8 @@ kotlin.js.native() internal final class A { public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int kotlin.js.nativeInvoke() internal final override /*1*/ /*fake_override*/ fun invoke(/*0*/ a: kotlin.String): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + kotlin.js.nativeInvoke() internal final override /*1*/ /*fake_override*/ fun kotlin.Int.ext(): kotlin.Int + kotlin.js.nativeInvoke() internal final override /*1*/ /*fake_override*/ fun kotlin.Int.invoke(/*0*/ a: kotlin.String, /*1*/ b: kotlin.Int): kotlin.String } } } diff --git a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeInvoke/onNestedDeclarationsInsideNonNativeClass.kt b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeInvoke/onNestedDeclarationsInsideNonNativeClass.kt index 5481f075bf5..2fb818e52b3 100644 --- a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeInvoke/onNestedDeclarationsInsideNonNativeClass.kt +++ b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeInvoke/onNestedDeclarationsInsideNonNativeClass.kt @@ -8,6 +8,12 @@ class A { nativeInvoke fun invoke(a: String): Int = 0 + + nativeInvoke + fun Int.ext() = 1 + + nativeInvoke + fun Int.invoke(a: String, b: Int) = "OK" } object obj { diff --git a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeInvoke/onNestedDeclarationsInsideNonNativeClass.txt b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeInvoke/onNestedDeclarationsInsideNonNativeClass.txt index c3eff356958..d96a96746fa 100644 --- a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeInvoke/onNestedDeclarationsInsideNonNativeClass.txt +++ b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeInvoke/onNestedDeclarationsInsideNonNativeClass.txt @@ -29,6 +29,8 @@ internal final class A { public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int kotlin.js.nativeInvoke() internal final fun invoke(/*0*/ a: kotlin.String): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + kotlin.js.nativeInvoke() internal final fun kotlin.Int.ext(): kotlin.Int + kotlin.js.nativeInvoke() internal final fun kotlin.Int.invoke(/*0*/ a: kotlin.String, /*1*/ b: kotlin.Int): kotlin.String } internal object obj { diff --git a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeInvoke/onNonNativeClassMembers.kt b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeInvoke/onNonNativeClassMembers.kt index a5ab450fbe4..3a8d6803139 100644 --- a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeInvoke/onNonNativeClassMembers.kt +++ b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeInvoke/onNonNativeClassMembers.kt @@ -7,6 +7,12 @@ class A { nativeInvoke fun invoke(a: String): Int = 0 + nativeInvoke + fun Int.ext() = 1 + + nativeInvoke + fun Int.invoke(a: String, b: Int) = "OK" + nativeInvoke val foo = 0 @@ -19,5 +25,11 @@ class A { nativeInvoke fun invoke(a: String): Int = 0 + + nativeInvoke + fun Int.ext() = 1 + + nativeInvoke + fun Int.invoke(a: String, b: Int) = "OK" } } \ No newline at end of file diff --git a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeInvoke/onNonNativeClassMembers.txt b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeInvoke/onNonNativeClassMembers.txt index bbc18249927..a61b47ee043 100644 --- a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeInvoke/onNonNativeClassMembers.txt +++ b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeInvoke/onNonNativeClassMembers.txt @@ -8,6 +8,8 @@ internal final class A { public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int kotlin.js.nativeInvoke() internal final fun invoke(/*0*/ a: kotlin.String): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + kotlin.js.nativeInvoke() internal final fun kotlin.Int.ext(): kotlin.Int + kotlin.js.nativeInvoke() internal final fun kotlin.Int.invoke(/*0*/ a: kotlin.String, /*1*/ b: kotlin.Int): kotlin.String internal class object { private constructor () @@ -16,6 +18,8 @@ internal final class A { public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int kotlin.js.nativeInvoke() internal final fun invoke(/*0*/ a: kotlin.String): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + kotlin.js.nativeInvoke() internal final fun kotlin.Int.ext(): kotlin.Int + kotlin.js.nativeInvoke() internal final fun kotlin.Int.invoke(/*0*/ a: kotlin.String, /*1*/ b: kotlin.Int): kotlin.String } kotlin.js.nativeInvoke() internal object Obj { diff --git a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeSetter/onLocalNativeClassMembers.kt b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeSetter/onLocalNativeClassMembers.kt index fc0fd13ecc8..889c5576eb7 100644 --- a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeSetter/onLocalNativeClassMembers.kt +++ b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeSetter/onLocalNativeClassMembers.kt @@ -21,6 +21,15 @@ fun foo() { [native] class C { + nativeSetter + fun Int.set(a: String, v: Int) {} + + nativeSetter + fun Int.set2(a: Number, v: String?) = "OK" + + nativeSetter + fun Int.set3(a: Double, v: String?) = "OK" + nativeSetter fun set(): Any? = null diff --git a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeSetter/onLocalNonNativeClassMembers.kt b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeSetter/onLocalNonNativeClassMembers.kt index d7de3e7062e..4197d4ba1cc 100644 --- a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeSetter/onLocalNonNativeClassMembers.kt +++ b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeSetter/onLocalNonNativeClassMembers.kt @@ -18,6 +18,15 @@ fun foo() { } class C { + nativeSetter + fun Int.set(a: String, v: Int) {} + + nativeSetter + fun Int.set2(a: Number, v: String?) = "OK" + + nativeSetter + fun Int.set3(a: Double, v: String?) = "OK" + nativeSetter fun set(): Any? = null diff --git a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeSetter/onNativeClassMembers.kt b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeSetter/onNativeClassMembers.kt index 74418783a74..078654d4f04 100644 --- a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeSetter/onNativeClassMembers.kt +++ b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeSetter/onNativeClassMembers.kt @@ -42,6 +42,15 @@ class B { native class C { + nativeSetter + fun Int.set(a: String, v: Int) {} + + nativeSetter + fun Int.set2(a: Number, v: String?) = "OK" + + nativeSetter + fun Int.set3(a: Double, v: String?) = "OK" + nativeSetter fun set(): Any? = null diff --git a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeSetter/onNativeClassMembers.txt b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeSetter/onNativeClassMembers.txt index 0e0bc9b67cd..3bfe87d429a 100644 --- a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeSetter/onNativeClassMembers.txt +++ b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeSetter/onNativeClassMembers.txt @@ -73,4 +73,7 @@ kotlin.js.native() internal final class C { kotlin.js.nativeSetter() internal final fun set(/*0*/ a: A, /*1*/ v: kotlin.Any?): kotlin.Unit kotlin.js.nativeSetter() internal final fun set(/*0*/ a: kotlin.String, /*1*/ v: kotlin.Any, /*2*/ v2: kotlin.Any): kotlin.Unit public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + kotlin.js.nativeSetter() internal final fun kotlin.Int.set(/*0*/ a: kotlin.String, /*1*/ v: kotlin.Int): kotlin.Unit + kotlin.js.nativeSetter() internal final fun kotlin.Int.set2(/*0*/ a: kotlin.Number, /*1*/ v: kotlin.String?): kotlin.String + kotlin.js.nativeSetter() internal final fun kotlin.Int.set3(/*0*/ a: kotlin.Double, /*1*/ v: kotlin.String?): kotlin.String } diff --git a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeSetter/onNestedDeclarationsInsideNativeClass.kt b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeSetter/onNestedDeclarationsInsideNativeClass.kt index 38f666feab2..3ea5fe1463f 100644 --- a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeSetter/onNestedDeclarationsInsideNativeClass.kt +++ b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeSetter/onNestedDeclarationsInsideNativeClass.kt @@ -42,6 +42,15 @@ class A { } class C { + nativeSetter + fun Int.set(a: String, v: Int) {} + + nativeSetter + fun Int.set2(a: Number, v: String?) = "OK" + + nativeSetter + fun Int.set3(a: Double, v: String?) = "OK" + nativeSetter fun set(): Any? = null @@ -56,6 +65,15 @@ class A { } object obj { + nativeSetter + fun Int.set(a: String, v: Int) {} + + nativeSetter + fun Int.set2(a: Number, v: String?) = "OK" + + nativeSetter + fun Int.set3(a: Double, v: String?) = "OK" + nativeSetter fun set(): Any? = null @@ -70,6 +88,15 @@ class A { } val anonymous = object { + nativeSetter + fun Int.set(a: String, v: Int) {} + + nativeSetter + fun Int.set2(a: Number, v: String?) = "OK" + + nativeSetter + fun Int.set3(a: Double, v: String?) = "OK" + nativeSetter fun set(): Any? = null diff --git a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeSetter/onNestedDeclarationsInsideNativeClass.txt b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeSetter/onNestedDeclarationsInsideNativeClass.txt index 23a3aeeb4f1..e67f50a848f 100644 --- a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeSetter/onNestedDeclarationsInsideNativeClass.txt +++ b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeSetter/onNestedDeclarationsInsideNativeClass.txt @@ -86,6 +86,9 @@ kotlin.js.native() internal final class A { kotlin.js.nativeSetter() internal final fun set(/*0*/ a: A.B.A, /*1*/ v: kotlin.Any?): kotlin.Unit kotlin.js.nativeSetter() internal final fun set(/*0*/ a: kotlin.String, /*1*/ v: kotlin.Any, /*2*/ v2: kotlin.Any): kotlin.Unit public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + kotlin.js.nativeSetter() internal final fun kotlin.Int.set(/*0*/ a: kotlin.String, /*1*/ v: kotlin.Int): kotlin.Unit + kotlin.js.nativeSetter() internal final fun kotlin.Int.set2(/*0*/ a: kotlin.Number, /*1*/ v: kotlin.String?): kotlin.String + kotlin.js.nativeSetter() internal final fun kotlin.Int.set3(/*0*/ a: kotlin.Double, /*1*/ v: kotlin.String?): kotlin.String } internal object obj { @@ -97,6 +100,9 @@ kotlin.js.native() internal final class A { kotlin.js.nativeSetter() internal final fun set(/*0*/ a: A.B.A, /*1*/ v: kotlin.Any?): kotlin.Unit kotlin.js.nativeSetter() internal final fun set(/*0*/ a: kotlin.String, /*1*/ v: kotlin.Any, /*2*/ v2: kotlin.Any): kotlin.Unit public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + kotlin.js.nativeSetter() internal final fun kotlin.Int.set(/*0*/ a: kotlin.String, /*1*/ v: kotlin.Int): kotlin.Unit + kotlin.js.nativeSetter() internal final fun kotlin.Int.set2(/*0*/ a: kotlin.Number, /*1*/ v: kotlin.String?): kotlin.String + kotlin.js.nativeSetter() internal final fun kotlin.Int.set3(/*0*/ a: kotlin.Double, /*1*/ v: kotlin.String?): kotlin.String public class object : A.B.obj { private constructor () @@ -107,6 +113,9 @@ kotlin.js.native() internal final class A { kotlin.js.nativeSetter() internal final override /*1*/ /*fake_override*/ fun set(/*0*/ a: A.B.A, /*1*/ v: kotlin.Any?): kotlin.Unit kotlin.js.nativeSetter() internal final override /*1*/ /*fake_override*/ fun set(/*0*/ a: kotlin.String, /*1*/ v: kotlin.Any, /*2*/ v2: kotlin.Any): kotlin.Unit public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + kotlin.js.nativeSetter() internal final override /*1*/ /*fake_override*/ fun kotlin.Int.set(/*0*/ a: kotlin.String, /*1*/ v: kotlin.Int): kotlin.Unit + kotlin.js.nativeSetter() internal final override /*1*/ /*fake_override*/ fun kotlin.Int.set2(/*0*/ a: kotlin.Number, /*1*/ v: kotlin.String?): kotlin.String + kotlin.js.nativeSetter() internal final override /*1*/ /*fake_override*/ fun kotlin.Int.set3(/*0*/ a: kotlin.Double, /*1*/ v: kotlin.String?): kotlin.String } } } diff --git a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeSetter/onNestedDeclarationsInsideNonNativeClass.kt b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeSetter/onNestedDeclarationsInsideNonNativeClass.kt index 38f666feab2..3ea5fe1463f 100644 --- a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeSetter/onNestedDeclarationsInsideNonNativeClass.kt +++ b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeSetter/onNestedDeclarationsInsideNonNativeClass.kt @@ -42,6 +42,15 @@ class A { } class C { + nativeSetter + fun Int.set(a: String, v: Int) {} + + nativeSetter + fun Int.set2(a: Number, v: String?) = "OK" + + nativeSetter + fun Int.set3(a: Double, v: String?) = "OK" + nativeSetter fun set(): Any? = null @@ -56,6 +65,15 @@ class A { } object obj { + nativeSetter + fun Int.set(a: String, v: Int) {} + + nativeSetter + fun Int.set2(a: Number, v: String?) = "OK" + + nativeSetter + fun Int.set3(a: Double, v: String?) = "OK" + nativeSetter fun set(): Any? = null @@ -70,6 +88,15 @@ class A { } val anonymous = object { + nativeSetter + fun Int.set(a: String, v: Int) {} + + nativeSetter + fun Int.set2(a: Number, v: String?) = "OK" + + nativeSetter + fun Int.set3(a: Double, v: String?) = "OK" + nativeSetter fun set(): Any? = null diff --git a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeSetter/onNestedDeclarationsInsideNonNativeClass.txt b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeSetter/onNestedDeclarationsInsideNonNativeClass.txt index 23a3aeeb4f1..e67f50a848f 100644 --- a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeSetter/onNestedDeclarationsInsideNonNativeClass.txt +++ b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeSetter/onNestedDeclarationsInsideNonNativeClass.txt @@ -86,6 +86,9 @@ kotlin.js.native() internal final class A { kotlin.js.nativeSetter() internal final fun set(/*0*/ a: A.B.A, /*1*/ v: kotlin.Any?): kotlin.Unit kotlin.js.nativeSetter() internal final fun set(/*0*/ a: kotlin.String, /*1*/ v: kotlin.Any, /*2*/ v2: kotlin.Any): kotlin.Unit public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + kotlin.js.nativeSetter() internal final fun kotlin.Int.set(/*0*/ a: kotlin.String, /*1*/ v: kotlin.Int): kotlin.Unit + kotlin.js.nativeSetter() internal final fun kotlin.Int.set2(/*0*/ a: kotlin.Number, /*1*/ v: kotlin.String?): kotlin.String + kotlin.js.nativeSetter() internal final fun kotlin.Int.set3(/*0*/ a: kotlin.Double, /*1*/ v: kotlin.String?): kotlin.String } internal object obj { @@ -97,6 +100,9 @@ kotlin.js.native() internal final class A { kotlin.js.nativeSetter() internal final fun set(/*0*/ a: A.B.A, /*1*/ v: kotlin.Any?): kotlin.Unit kotlin.js.nativeSetter() internal final fun set(/*0*/ a: kotlin.String, /*1*/ v: kotlin.Any, /*2*/ v2: kotlin.Any): kotlin.Unit public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + kotlin.js.nativeSetter() internal final fun kotlin.Int.set(/*0*/ a: kotlin.String, /*1*/ v: kotlin.Int): kotlin.Unit + kotlin.js.nativeSetter() internal final fun kotlin.Int.set2(/*0*/ a: kotlin.Number, /*1*/ v: kotlin.String?): kotlin.String + kotlin.js.nativeSetter() internal final fun kotlin.Int.set3(/*0*/ a: kotlin.Double, /*1*/ v: kotlin.String?): kotlin.String public class object : A.B.obj { private constructor () @@ -107,6 +113,9 @@ kotlin.js.native() internal final class A { kotlin.js.nativeSetter() internal final override /*1*/ /*fake_override*/ fun set(/*0*/ a: A.B.A, /*1*/ v: kotlin.Any?): kotlin.Unit kotlin.js.nativeSetter() internal final override /*1*/ /*fake_override*/ fun set(/*0*/ a: kotlin.String, /*1*/ v: kotlin.Any, /*2*/ v2: kotlin.Any): kotlin.Unit public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + kotlin.js.nativeSetter() internal final override /*1*/ /*fake_override*/ fun kotlin.Int.set(/*0*/ a: kotlin.String, /*1*/ v: kotlin.Int): kotlin.Unit + kotlin.js.nativeSetter() internal final override /*1*/ /*fake_override*/ fun kotlin.Int.set2(/*0*/ a: kotlin.Number, /*1*/ v: kotlin.String?): kotlin.String + kotlin.js.nativeSetter() internal final override /*1*/ /*fake_override*/ fun kotlin.Int.set3(/*0*/ a: kotlin.Double, /*1*/ v: kotlin.String?): kotlin.String } } } diff --git a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeSetter/onNonNativeClassMembers.kt b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeSetter/onNonNativeClassMembers.kt index 8165b51a010..4710f24b25a 100644 --- a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeSetter/onNonNativeClassMembers.kt +++ b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeSetter/onNonNativeClassMembers.kt @@ -39,6 +39,15 @@ class B { } class C { + nativeSetter + fun Int.set(a: String, v: Int) {} + + nativeSetter + fun Int.set2(a: Number, v: String?) = "OK" + + nativeSetter + fun Int.set3(a: Double, v: String?) = "OK" + nativeSetter fun set(): Any? = null diff --git a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeSetter/onNonNativeClassMembers.txt b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeSetter/onNonNativeClassMembers.txt index 391e098efb0..7cdae7dae97 100644 --- a/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeSetter/onNonNativeClassMembers.txt +++ b/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeSetter/onNonNativeClassMembers.txt @@ -73,4 +73,7 @@ internal final class C { kotlin.js.nativeSetter() internal final fun set(/*0*/ a: A, /*1*/ v: kotlin.Any?): kotlin.Unit kotlin.js.nativeSetter() internal final fun set(/*0*/ a: kotlin.String, /*1*/ v: kotlin.Any, /*2*/ v2: kotlin.Any): kotlin.Unit public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + kotlin.js.nativeSetter() internal final fun kotlin.Int.set(/*0*/ a: kotlin.String, /*1*/ v: kotlin.Int): kotlin.Unit + kotlin.js.nativeSetter() internal final fun kotlin.Int.set2(/*0*/ a: kotlin.Number, /*1*/ v: kotlin.String?): kotlin.String + kotlin.js.nativeSetter() internal final fun kotlin.Int.set3(/*0*/ a: kotlin.Double, /*1*/ v: kotlin.String?): kotlin.String }