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:
Vendored
+13
-13
@@ -2,36 +2,36 @@
|
||||
|
||||
external class A {
|
||||
@nativeGetter
|
||||
fun get(a: String): Any? = null
|
||||
fun get(a: String): Any? = noImpl
|
||||
|
||||
@nativeGetter
|
||||
fun take(a: Number): String? = null
|
||||
fun take(a: Number): String? = noImpl
|
||||
|
||||
@nativeGetter
|
||||
fun foo(a: Double): String? = null
|
||||
fun foo(a: Double): String? = noImpl
|
||||
|
||||
companion object {
|
||||
@nativeGetter
|
||||
fun get(a: String): Any? = null
|
||||
fun get(a: String): Any? = noImpl
|
||||
|
||||
@nativeGetter
|
||||
fun take(a: Number): String? = null
|
||||
fun take(a: Number): String? = noImpl
|
||||
|
||||
@nativeGetter
|
||||
fun foo(a: Double): String? = null
|
||||
fun foo(a: Double): String? = noImpl
|
||||
}
|
||||
}
|
||||
|
||||
external class B {
|
||||
<!WRONG_ANNOTATION_TARGET!>@nativeGetter<!>
|
||||
val foo = 0
|
||||
val foo: Int = noImpl
|
||||
|
||||
<!WRONG_ANNOTATION_TARGET!>@nativeGetter<!>
|
||||
object Obj1 {}
|
||||
|
||||
companion object {
|
||||
<!WRONG_ANNOTATION_TARGET!>@nativeGetter<!>
|
||||
val foo = 0
|
||||
val foo: Int = noImpl
|
||||
|
||||
<!WRONG_ANNOTATION_TARGET!>@nativeGetter<!>
|
||||
object Obj2 {}
|
||||
@@ -40,18 +40,18 @@ external class B {
|
||||
|
||||
external class C {
|
||||
<!NATIVE_INDEXER_WRONG_PARAMETER_COUNT!>@nativeGetter
|
||||
fun get(): Any?<!> = null
|
||||
fun get(): Any?<!> = noImpl
|
||||
|
||||
@nativeGetter
|
||||
fun get(<!NATIVE_INDEXER_KEY_SHOULD_BE_STRING_OR_NUMBER!>a: A<!>): Any? = null
|
||||
fun get(<!NATIVE_INDEXER_KEY_SHOULD_BE_STRING_OR_NUMBER!>a: A<!>): Any? = noImpl
|
||||
|
||||
@nativeGetter
|
||||
fun <!NATIVE_GETTER_RETURN_TYPE_SHOULD_BE_NULLABLE!>foo<!>(a: Int) {}
|
||||
fun <!NATIVE_GETTER_RETURN_TYPE_SHOULD_BE_NULLABLE!>foo<!>(a: Int) { noImpl }
|
||||
|
||||
@nativeGetter
|
||||
fun bar(a: String): <!NATIVE_GETTER_RETURN_TYPE_SHOULD_BE_NULLABLE!>Int<!> = 0
|
||||
fun bar(a: String): <!NATIVE_GETTER_RETURN_TYPE_SHOULD_BE_NULLABLE!>Int<!> = noImpl
|
||||
|
||||
@nativeGetter
|
||||
fun baz(<!NATIVE_INDEXER_CAN_NOT_HAVE_DEFAULT_ARGUMENTS!>a: String = "foo"<!>): Int? = 0
|
||||
fun baz(<!NATIVE_INDEXER_CAN_NOT_HAVE_DEFAULT_ARGUMENTS!>a: String = noImpl<!>): Int? = noImpl
|
||||
|
||||
}
|
||||
Vendored
+2
-2
@@ -22,14 +22,14 @@ public external final class A {
|
||||
|
||||
public external final class B {
|
||||
public constructor B()
|
||||
@kotlin.js.nativeGetter public final val foo: kotlin.Int = 0
|
||||
@kotlin.js.nativeGetter public final val foo: kotlin.Int
|
||||
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 companion object Companion {
|
||||
private constructor Companion()
|
||||
@kotlin.js.nativeGetter public final val foo: kotlin.Int = 0
|
||||
@kotlin.js.nativeGetter public final val foo: kotlin.Int
|
||||
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
|
||||
|
||||
+18
-35
@@ -4,36 +4,36 @@ external class A {
|
||||
class B {
|
||||
class A {
|
||||
@nativeGetter
|
||||
fun get(a: String): Any? = null
|
||||
fun get(a: String): Any? = noImpl
|
||||
|
||||
@nativeGetter
|
||||
fun take(a: Number): String? = null
|
||||
fun take(a: Number): String? = noImpl
|
||||
|
||||
@nativeGetter
|
||||
fun foo(a: Double): String? = null
|
||||
fun foo(a: Double): String? = noImpl
|
||||
|
||||
companion object {
|
||||
@nativeGetter
|
||||
fun get(a: String): Any? = null
|
||||
fun get(a: String): Any? = noImpl
|
||||
|
||||
@nativeGetter
|
||||
fun take(a: Number): String? = null
|
||||
fun take(a: Number): String? = noImpl
|
||||
|
||||
@nativeGetter
|
||||
fun foo(a: Double): String? = null
|
||||
fun foo(a: Double): String? = noImpl
|
||||
}
|
||||
}
|
||||
|
||||
class B {
|
||||
<!WRONG_ANNOTATION_TARGET!>@nativeGetter<!>
|
||||
val foo = 0
|
||||
val foo: Int = noImpl
|
||||
|
||||
<!WRONG_ANNOTATION_TARGET!>@nativeGetter<!>
|
||||
object Obj1 {}
|
||||
|
||||
companion object {
|
||||
<!WRONG_ANNOTATION_TARGET!>@nativeGetter<!>
|
||||
val foo = 0
|
||||
val foo: Int = noImpl
|
||||
|
||||
<!WRONG_ANNOTATION_TARGET!>@nativeGetter<!>
|
||||
object Obj2 {}
|
||||
@@ -42,53 +42,36 @@ external class A {
|
||||
|
||||
class C {
|
||||
<!NATIVE_INDEXER_WRONG_PARAMETER_COUNT!>@nativeGetter
|
||||
fun get(): Any?<!> = null
|
||||
fun get(): Any?<!> = noImpl
|
||||
|
||||
@nativeGetter
|
||||
fun get(<!NATIVE_INDEXER_KEY_SHOULD_BE_STRING_OR_NUMBER!>a: A<!>): Any? = null
|
||||
fun get(<!NATIVE_INDEXER_KEY_SHOULD_BE_STRING_OR_NUMBER!>a: A<!>): Any? = noImpl
|
||||
|
||||
@nativeGetter
|
||||
fun <!NATIVE_GETTER_RETURN_TYPE_SHOULD_BE_NULLABLE!>foo<!>(a: Int) {}
|
||||
fun <!NATIVE_GETTER_RETURN_TYPE_SHOULD_BE_NULLABLE!>foo<!>(a: Int) { noImpl }
|
||||
|
||||
@nativeGetter
|
||||
fun bar(a: String): <!NATIVE_GETTER_RETURN_TYPE_SHOULD_BE_NULLABLE!>Int<!> = 0
|
||||
fun bar(a: String): <!NATIVE_GETTER_RETURN_TYPE_SHOULD_BE_NULLABLE!>Int<!> = noImpl
|
||||
|
||||
@nativeGetter
|
||||
fun baz(<!NATIVE_INDEXER_CAN_NOT_HAVE_DEFAULT_ARGUMENTS!>a: Number = 1.1<!>): Int? = 0
|
||||
fun baz(<!NATIVE_INDEXER_CAN_NOT_HAVE_DEFAULT_ARGUMENTS!>a: Number = noImpl<!>): Int? = noImpl
|
||||
}
|
||||
|
||||
object obj {
|
||||
<!NATIVE_INDEXER_WRONG_PARAMETER_COUNT!>@nativeGetter
|
||||
fun get(): Any?<!> = null
|
||||
fun get(): Any?<!> = noImpl
|
||||
|
||||
@nativeGetter
|
||||
fun get(<!NATIVE_INDEXER_KEY_SHOULD_BE_STRING_OR_NUMBER!>a: A<!>): Any? = null
|
||||
fun get(<!NATIVE_INDEXER_KEY_SHOULD_BE_STRING_OR_NUMBER!>a: A<!>): Any? = noImpl
|
||||
|
||||
@nativeGetter
|
||||
fun <!NATIVE_GETTER_RETURN_TYPE_SHOULD_BE_NULLABLE!>foo<!>(a: Int) {}
|
||||
fun <!NATIVE_GETTER_RETURN_TYPE_SHOULD_BE_NULLABLE!>foo<!>(a: Int) { noImpl }
|
||||
|
||||
@nativeGetter
|
||||
fun bar(a: String): <!NATIVE_GETTER_RETURN_TYPE_SHOULD_BE_NULLABLE!>Int<!> = 0
|
||||
fun bar(a: String): <!NATIVE_GETTER_RETURN_TYPE_SHOULD_BE_NULLABLE!>Int<!> = noImpl
|
||||
|
||||
@nativeGetter
|
||||
fun baz(<!NATIVE_INDEXER_CAN_NOT_HAVE_DEFAULT_ARGUMENTS!>a: String = "foo"<!>): Int? = 0
|
||||
}
|
||||
|
||||
val anonymous = object {
|
||||
<!NATIVE_INDEXER_WRONG_PARAMETER_COUNT!>@nativeGetter
|
||||
fun get(): Any?<!> = null
|
||||
|
||||
@nativeGetter
|
||||
fun get(<!NATIVE_INDEXER_KEY_SHOULD_BE_STRING_OR_NUMBER!>a: A<!>): Any? = null
|
||||
|
||||
@nativeGetter
|
||||
fun <!NATIVE_GETTER_RETURN_TYPE_SHOULD_BE_NULLABLE!>foo<!>(a: Int) {}
|
||||
|
||||
@nativeGetter
|
||||
fun bar(a: String): <!NATIVE_GETTER_RETURN_TYPE_SHOULD_BE_NULLABLE!>Int<!> = 0
|
||||
|
||||
@nativeGetter
|
||||
fun baz(<!NATIVE_INDEXER_CAN_NOT_HAVE_DEFAULT_ARGUMENTS!>a: String = "foo"<!>): Int? = 0
|
||||
fun baz(<!NATIVE_INDEXER_CAN_NOT_HAVE_DEFAULT_ARGUMENTS!>a: String = noImpl<!>): Int? = noImpl
|
||||
}
|
||||
}
|
||||
}
|
||||
+2
-3
@@ -8,7 +8,6 @@ public external final class A {
|
||||
|
||||
public final class B {
|
||||
public constructor B()
|
||||
public final val anonymous: kotlin.Any
|
||||
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
|
||||
@@ -35,14 +34,14 @@ public external final class A {
|
||||
|
||||
public final class B {
|
||||
public constructor B()
|
||||
@kotlin.js.nativeGetter public final val foo: kotlin.Int = 0
|
||||
@kotlin.js.nativeGetter public final val foo: kotlin.Int
|
||||
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 companion object Companion {
|
||||
private constructor Companion()
|
||||
@kotlin.js.nativeGetter public final val foo: kotlin.Int = 0
|
||||
@kotlin.js.nativeGetter public final val foo: kotlin.Int
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user