JS frontend: additional check for nativeSetter -- check that the return type is either Unit or a supertype of the second parameter's type.

This commit is contained in:
Zalim Bashorov
2014-12-30 16:49:16 +03:00
parent 76bafb9634
commit 619854a7a3
17 changed files with 134 additions and 34 deletions
@@ -5,10 +5,19 @@ fun foo() {
fun Int.set(a: String, v: Int) {}
[nativeSetter]
fun Int.set2(a: Number, v: String?) = "OK"
fun Int.set2(a: Number, v: String?): Any? = null
[nativeSetter]
fun Int.set3(a: Double, v: String?) = "OK"
fun Int.set3(a: Double, v: String) = "OK"
[nativeSetter]
fun Int.set4(a: Double, v: String): Any = 1
[nativeSetter]
fun Int.set5(a: Double, v: String): CharSequence = "OK"
[nativeSetter]
fun Int.set6(a: Double, v: String): <!NATIVE_SETTER_WRONG_RETURN_TYPE!>Number<!> = 1
<!NATIVE_INDEXER_WRONG_PARAMETER_COUNT!>[nativeSetter]
fun Int.set(<!NATIVE_INDEXER_KEY_SHOULD_BE_STRING_OR_NUMBER!>a: Any<!>): Int?<!> = 1
@@ -20,5 +29,5 @@ fun foo() {
fun Int.set3(<!NATIVE_INDEXER_KEY_SHOULD_BE_STRING_OR_NUMBER!>a: Any<!>, b: Int, c: Any?)<!> {}
[nativeSetter]
fun Any.foo(<!NATIVE_INDEXER_CAN_NOT_HAVE_DEFAULT_ARGUMENTS!>a: Double = 0.0<!>, <!NATIVE_INDEXER_CAN_NOT_HAVE_DEFAULT_ARGUMENTS!>v: String? = null<!>) = "OK"
fun Any.<!NATIVE_SETTER_WRONG_RETURN_TYPE!>foo<!>(<!NATIVE_INDEXER_CAN_NOT_HAVE_DEFAULT_ARGUMENTS!>a: Double = 0.0<!>, <!NATIVE_INDEXER_CAN_NOT_HAVE_DEFAULT_ARGUMENTS!>v: String? = null<!>) = "OK"
}
@@ -11,6 +11,12 @@ fun foo() {
nativeSetter
fun foo(a: Int, v: String) {}
nativeSetter
fun set4(a: Double, v: String): Any = 1
nativeSetter
fun set5(a: Double, v: String): CharSequence = "OK"
}
[native]
@@ -25,10 +31,13 @@ fun foo() {
fun Int.set(a: String, v: Int)<!> {}
<!NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN!>nativeSetter
fun Int.set2(a: Number, v: String?)<!> = "OK"
fun Int.<!NATIVE_SETTER_WRONG_RETURN_TYPE!>set2<!>(a: Number, v: String?)<!> = "OK"
<!NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN!>nativeSetter
fun Int.set3(a: Double, v: String?)<!> = "OK"
fun Int.<!NATIVE_SETTER_WRONG_RETURN_TYPE!>set3<!>(a: Double, v: String?)<!> = "OK"
nativeSetter
fun set6(a: Double, v: String): <!NATIVE_SETTER_WRONG_RETURN_TYPE!>Number<!> = 1
<!NATIVE_INDEXER_WRONG_PARAMETER_COUNT!>nativeSetter
fun set(): Any?<!> = null
@@ -22,10 +22,10 @@ fun foo() {
fun Int.set(a: String, v: Int)<!> {}
<!NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN!>nativeSetter
fun Int.set2(a: Number, v: String?)<!> = "OK"
fun Int.<!NATIVE_SETTER_WRONG_RETURN_TYPE!>set2<!>(a: Number, v: String?)<!> = "OK"
<!NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN!>nativeSetter
fun Int.set3(a: Double, v: String?)<!> = "OK"
fun Int.<!NATIVE_SETTER_WRONG_RETURN_TYPE!>set3<!>(a: Double, v: String?)<!> = "OK"
<!NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN, NATIVE_INDEXER_WRONG_PARAMETER_COUNT!>nativeSetter
fun set(): Any?<!> = null
@@ -11,6 +11,12 @@ class A {
nativeSetter
fun foo(a: Int, v: String) {}
nativeSetter
fun set4(a: Double, v: String): Any = 1
nativeSetter
fun set5(a: Double, v: String): CharSequence = "OK"
class object {
nativeSetter
fun set(a: String, v: Any?): Any? = null
@@ -20,6 +26,12 @@ class A {
nativeSetter
fun foo(a: Int, v: String) {}
nativeSetter
fun set4(a: Double, v: String): Any = 1
nativeSetter
fun set5(a: Double, v: String): CharSequence = "OK"
}
}
@@ -46,10 +58,13 @@ class C {
fun Int.set(a: String, v: Int)<!> {}
<!NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN!>nativeSetter
fun Int.set2(a: Number, v: String?)<!> = "OK"
fun Int.<!NATIVE_SETTER_WRONG_RETURN_TYPE!>set2<!>(a: Number, v: String?)<!> = "OK"
<!NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN!>nativeSetter
fun Int.set3(a: Double, v: String?)<!> = "OK"
fun Int.<!NATIVE_SETTER_WRONG_RETURN_TYPE!>set3<!>(a: Double, v: String?)<!> = "OK"
nativeSetter
fun set6(a: Double, v: String): <!NATIVE_SETTER_WRONG_RETURN_TYPE!>Number<!> = 1
<!NATIVE_INDEXER_WRONG_PARAMETER_COUNT!>nativeSetter
fun set(): Any?<!> = null
@@ -7,6 +7,8 @@ kotlin.js.native() internal final class A {
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
kotlin.js.nativeSetter() internal final fun put(/*0*/ a: kotlin.Number, /*1*/ v: kotlin.String): kotlin.Unit
kotlin.js.nativeSetter() internal final fun set(/*0*/ a: kotlin.String, /*1*/ v: kotlin.Any?): kotlin.Any?
kotlin.js.nativeSetter() internal final fun set4(/*0*/ a: kotlin.Double, /*1*/ v: kotlin.String): kotlin.Any
kotlin.js.nativeSetter() internal final fun set5(/*0*/ a: kotlin.Double, /*1*/ v: kotlin.String): kotlin.CharSequence
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
internal class object <class-object-for-A> {
@@ -16,6 +18,8 @@ kotlin.js.native() internal final class A {
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
kotlin.js.nativeSetter() internal final fun put(/*0*/ a: kotlin.Number, /*1*/ v: kotlin.String): kotlin.Unit
kotlin.js.nativeSetter() internal final fun set(/*0*/ a: kotlin.String, /*1*/ v: kotlin.Any?): kotlin.Any?
kotlin.js.nativeSetter() internal final fun set4(/*0*/ a: kotlin.Double, /*1*/ v: kotlin.String): kotlin.Any
kotlin.js.nativeSetter() internal final fun set5(/*0*/ a: kotlin.Double, /*1*/ v: kotlin.String): kotlin.CharSequence
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -73,6 +77,7 @@ kotlin.js.native() internal final class C {
kotlin.js.nativeSetter() internal final fun set(/*0*/ a: A): kotlin.Any?
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
kotlin.js.nativeSetter() internal final fun set6(/*0*/ a: kotlin.Double, /*1*/ v: kotlin.String): kotlin.Number
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
@@ -13,6 +13,12 @@ class A {
nativeSetter
fun foo(a: Int, v: String) {}
nativeSetter
fun set4(a: Double, v: String): Any = 1
nativeSetter
fun set5(a: Double, v: String): CharSequence = "OK"
class object {
nativeSetter
fun set(a: String, v: Any?): Any? = null
@@ -22,6 +28,12 @@ class A {
nativeSetter
fun foo(a: Int, v: String) {}
nativeSetter
fun set4(a: Double, v: String): Any = 1
nativeSetter
fun set5(a: Double, v: String): CharSequence = "OK"
}
}
@@ -46,10 +58,13 @@ class A {
fun Int.set(a: String, v: Int)<!> {}
<!NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN!>nativeSetter
fun Int.set2(a: Number, v: String?)<!> = "OK"
fun Int.<!NATIVE_SETTER_WRONG_RETURN_TYPE!>set2<!>(a: Number, v: String?)<!> = "OK"
<!NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN!>nativeSetter
fun Int.set3(a: Double, v: String?)<!> = "OK"
fun Int.<!NATIVE_SETTER_WRONG_RETURN_TYPE!>set3<!>(a: Double, v: String?)<!> = "OK"
nativeSetter
fun set6(a: Double, v: String): <!NATIVE_SETTER_WRONG_RETURN_TYPE!>Number<!> = 1
<!NATIVE_INDEXER_WRONG_PARAMETER_COUNT!>nativeSetter
fun set(): Any?<!> = null
@@ -72,10 +87,10 @@ class A {
fun Int.set(a: String, v: Int)<!> {}
<!NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN!>nativeSetter
fun Int.set2(a: Number, v: String?)<!> = "OK"
fun Int.<!NATIVE_SETTER_WRONG_RETURN_TYPE!>set2<!>(a: Number, v: String?)<!> = "OK"
<!NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN!>nativeSetter
fun Int.set3(a: Double, v: String?)<!> = "OK"
fun Int.<!NATIVE_SETTER_WRONG_RETURN_TYPE!>set3<!>(a: Double, v: String?)<!> = "OK"
<!NATIVE_INDEXER_WRONG_PARAMETER_COUNT!>nativeSetter
fun set(): Any?<!> = null
@@ -98,10 +113,10 @@ class A {
fun Int.set(a: String, v: Int)<!> {}
<!NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN!>nativeSetter
fun Int.set2(a: Number, v: String?)<!> = "OK"
fun Int.<!NATIVE_SETTER_WRONG_RETURN_TYPE!>set2<!>(a: Number, v: String?)<!> = "OK"
<!NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN!>nativeSetter
fun Int.set3(a: Double, v: String?)<!> = "OK"
fun Int.<!NATIVE_SETTER_WRONG_RETURN_TYPE!>set3<!>(a: Double, v: String?)<!> = "OK"
<!NATIVE_INDEXER_WRONG_PARAMETER_COUNT!>nativeSetter
fun set(): Any?<!> = null
@@ -20,6 +20,8 @@ kotlin.js.native() internal final class A {
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
kotlin.js.nativeSetter() internal final fun put(/*0*/ a: kotlin.Number, /*1*/ v: kotlin.String): kotlin.Unit
kotlin.js.nativeSetter() internal final fun set(/*0*/ a: kotlin.String, /*1*/ v: kotlin.Any?): kotlin.Any?
kotlin.js.nativeSetter() internal final fun set4(/*0*/ a: kotlin.Double, /*1*/ v: kotlin.String): kotlin.Any
kotlin.js.nativeSetter() internal final fun set5(/*0*/ a: kotlin.Double, /*1*/ v: kotlin.String): kotlin.CharSequence
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
internal class object <class-object-for-A> {
@@ -29,6 +31,8 @@ kotlin.js.native() internal final class A {
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
kotlin.js.nativeSetter() internal final fun put(/*0*/ a: kotlin.Number, /*1*/ v: kotlin.String): kotlin.Unit
kotlin.js.nativeSetter() internal final fun set(/*0*/ a: kotlin.String, /*1*/ v: kotlin.Any?): kotlin.Any?
kotlin.js.nativeSetter() internal final fun set4(/*0*/ a: kotlin.Double, /*1*/ v: kotlin.String): kotlin.Any
kotlin.js.nativeSetter() internal final fun set5(/*0*/ a: kotlin.Double, /*1*/ v: kotlin.String): kotlin.CharSequence
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -86,6 +90,7 @@ kotlin.js.native() internal final class A {
kotlin.js.nativeSetter() internal final fun set(/*0*/ a: A.B.A): kotlin.Any?
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
kotlin.js.nativeSetter() internal final fun set6(/*0*/ a: kotlin.Double, /*1*/ v: kotlin.String): kotlin.Number
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
@@ -12,6 +12,12 @@ class A {
<!NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN!>nativeSetter
fun foo(a: Int, v: String)<!> {}
<!NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN!>nativeSetter
fun set4(a: Double, v: String): Any<!> = 1
<!NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN!>nativeSetter
fun set5(a: Double, v: String): CharSequence<!> = "OK"
class object {
<!NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN!>nativeSetter
fun set(a: String, v: Any?): Any?<!> = null
@@ -45,10 +51,13 @@ class A {
fun Int.set(a: String, v: Int)<!> {}
<!NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN!>nativeSetter
fun Int.set2(a: Number, v: String?)<!> = "OK"
fun Int.<!NATIVE_SETTER_WRONG_RETURN_TYPE!>set2<!>(a: Number, v: String?)<!> = "OK"
<!NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN!>nativeSetter
fun Int.set3(a: Double, v: String?)<!> = "OK"
fun Int.<!NATIVE_SETTER_WRONG_RETURN_TYPE!>set3<!>(a: Double, v: String?)<!> = "OK"
<!NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN!>nativeSetter
fun Int.set6(a: Double, v: String): <!NATIVE_SETTER_WRONG_RETURN_TYPE!>Number<!><!> = 1
<!NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN, NATIVE_INDEXER_WRONG_PARAMETER_COUNT!>nativeSetter
fun set(): Any?<!> = null
@@ -71,10 +80,10 @@ class A {
fun Int.set(a: String, v: Int)<!> {}
<!NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN!>nativeSetter
fun Int.set2(a: Number, v: String?)<!> = "OK"
fun Int.<!NATIVE_SETTER_WRONG_RETURN_TYPE!>set2<!>(a: Number, v: String?)<!> = "OK"
<!NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN!>nativeSetter
fun Int.set3(a: Double, v: String?)<!> = "OK"
fun Int.<!NATIVE_SETTER_WRONG_RETURN_TYPE!>set3<!>(a: Double, v: String?)<!> = "OK"
<!NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN, NATIVE_INDEXER_WRONG_PARAMETER_COUNT!>nativeSetter
fun set(): Any?<!> = null
@@ -97,10 +106,10 @@ class A {
fun Int.set(a: String, v: Int)<!> {}
<!NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN!>nativeSetter
fun Int.set2(a: Number, v: String?)<!> = "OK"
fun Int.<!NATIVE_SETTER_WRONG_RETURN_TYPE!>set2<!>(a: Number, v: String?)<!> = "OK"
<!NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN!>nativeSetter
fun Int.set3(a: Double, v: String?)<!> = "OK"
fun Int.<!NATIVE_SETTER_WRONG_RETURN_TYPE!>set3<!>(a: Double, v: String?)<!> = "OK"
<!NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN, NATIVE_INDEXER_WRONG_PARAMETER_COUNT!>nativeSetter
fun set(): Any?<!> = null
@@ -20,6 +20,8 @@ internal final class A {
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
kotlin.js.nativeSetter() internal final fun put(/*0*/ a: kotlin.Number, /*1*/ v: kotlin.String): kotlin.Unit
kotlin.js.nativeSetter() internal final fun set(/*0*/ a: kotlin.String, /*1*/ v: kotlin.Any?): kotlin.Any?
kotlin.js.nativeSetter() internal final fun set4(/*0*/ a: kotlin.Double, /*1*/ v: kotlin.String): kotlin.Any
kotlin.js.nativeSetter() internal final fun set5(/*0*/ a: kotlin.Double, /*1*/ v: kotlin.String): kotlin.CharSequence
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
internal class object <class-object-for-A> {
@@ -90,6 +92,7 @@ internal final class A {
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
kotlin.js.nativeSetter() internal final fun kotlin.Int.set6(/*0*/ a: kotlin.Double, /*1*/ v: kotlin.String): kotlin.Number
}
internal object obj {
@@ -43,10 +43,10 @@ class C {
fun Int.set(a: String, v: Int)<!> {}
<!NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN!>nativeSetter
fun Int.set2(a: Number, v: String?)<!> = "OK"
fun Int.<!NATIVE_SETTER_WRONG_RETURN_TYPE!>set2<!>(a: Number, v: String?)<!> = "OK"
<!NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN!>nativeSetter
fun Int.set3(a: Double, v: String?)<!> = "OK"
fun Int.<!NATIVE_SETTER_WRONG_RETURN_TYPE!>set3<!>(a: Double, v: String?)<!> = "OK"
<!NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN, NATIVE_INDEXER_WRONG_PARAMETER_COUNT!>nativeSetter
fun set(): Any?<!> = null
@@ -4,12 +4,21 @@ nativeSetter
fun Int.set(a: String, v: Int) {}
nativeSetter
fun Int.set2(a: Number, v: String?) = "OK"
fun Int.set2(a: Number, v: String?): Any? = null
nativeSetter
fun Int.set3(a: Double, v: String?) = "OK"
fun Int.set3(a: Double, v: String) = "OK"
[nativeSetter]
nativeSetter
fun Int.set4(a: Double, v: String): Any = 1
nativeSetter
fun Int.set5(a: Double, v: String): CharSequence = "OK"
nativeSetter
fun Int.set6(a: Double, v: String): <!NATIVE_SETTER_WRONG_RETURN_TYPE!>Number<!> = 1
nativeSetter
fun Any.foo(<!NATIVE_INDEXER_CAN_NOT_HAVE_DEFAULT_ARGUMENTS!>a: String = "0.0"<!>, <!NATIVE_INDEXER_CAN_NOT_HAVE_DEFAULT_ARGUMENTS!>v: String = "str"<!>) = "OK"
<!NATIVE_INDEXER_WRONG_PARAMETER_COUNT!>nativeSetter
@@ -4,6 +4,9 @@ kotlin.js.nativeSetter() internal fun kotlin.Any.foo(/*0*/ a: kotlin.String = ..
kotlin.js.nativeSetter() internal fun kotlin.Int.set(/*0*/ a: [ERROR : A]): kotlin.Int?
kotlin.js.nativeSetter() internal fun kotlin.Int.set(/*0*/ a: kotlin.String, /*1*/ v: kotlin.Int): kotlin.Unit
kotlin.js.nativeSetter() internal fun kotlin.Int.set2(): kotlin.String?
kotlin.js.nativeSetter() internal fun kotlin.Int.set2(/*0*/ a: kotlin.Number, /*1*/ v: kotlin.String?): kotlin.String
kotlin.js.nativeSetter() internal fun kotlin.Int.set2(/*0*/ a: kotlin.Number, /*1*/ v: kotlin.String?): kotlin.Any?
kotlin.js.nativeSetter() internal fun kotlin.Int.set3(/*0*/ a: kotlin.Any, /*1*/ b: kotlin.Int, /*2*/ c: kotlin.Any?): kotlin.Unit
kotlin.js.nativeSetter() internal fun kotlin.Int.set3(/*0*/ a: kotlin.Double, /*1*/ v: kotlin.String?): kotlin.String
kotlin.js.nativeSetter() internal fun kotlin.Int.set3(/*0*/ a: kotlin.Double, /*1*/ v: kotlin.String): kotlin.String
kotlin.js.nativeSetter() internal fun kotlin.Int.set4(/*0*/ a: kotlin.Double, /*1*/ v: kotlin.String): kotlin.Any
kotlin.js.nativeSetter() internal fun kotlin.Int.set5(/*0*/ a: kotlin.Double, /*1*/ v: kotlin.String): kotlin.CharSequence
kotlin.js.nativeSetter() internal fun kotlin.Int.set6(/*0*/ a: kotlin.Double, /*1*/ v: kotlin.String): kotlin.Number