JS: prohibit non-abstract members of external interfaces, except for nullable properties. See KT-15308
This commit is contained in:
+21
@@ -0,0 +1,21 @@
|
||||
external interface I {
|
||||
<!NON_ABSTRACT_MEMBER_OF_EXTERNAL_INTERFACE!>fun foo(): Unit<!> = noImpl
|
||||
|
||||
val a: Int?
|
||||
get() = noImpl
|
||||
|
||||
var b: String?
|
||||
get() = noImpl
|
||||
set(value) = noImpl
|
||||
|
||||
<!NON_ABSTRACT_MEMBER_OF_EXTERNAL_INTERFACE!>val c: Int<!>
|
||||
get() = noImpl
|
||||
|
||||
<!NON_ABSTRACT_MEMBER_OF_EXTERNAL_INTERFACE!>var d: String<!>
|
||||
get() = noImpl
|
||||
set(value) = noImpl
|
||||
|
||||
var e: dynamic
|
||||
get() = noImpl
|
||||
set(value) = noImpl
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
package
|
||||
|
||||
public external interface I {
|
||||
public open val a: kotlin.Int?
|
||||
public open var b: kotlin.String?
|
||||
public open val c: kotlin.Int
|
||||
public open var d: kotlin.String
|
||||
public open var e: dynamic
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open fun foo(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
+1
-1
@@ -11,7 +11,7 @@ external interface T {
|
||||
val baz: Int
|
||||
|
||||
fun foo()
|
||||
fun bar() {}
|
||||
fun bar()
|
||||
|
||||
companion object {
|
||||
val baz: Int
|
||||
|
||||
+1
-1
@@ -40,7 +40,7 @@ public external object O {
|
||||
|
||||
public external interface T {
|
||||
public abstract val baz: kotlin.Int
|
||||
public open fun bar(): kotlin.Unit
|
||||
public abstract fun bar(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public abstract fun foo(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
|
||||
+1
-1
@@ -9,5 +9,5 @@ external interface T {
|
||||
@nativeGetter
|
||||
fun foo(d: Double): String?
|
||||
@nativeGetter
|
||||
fun bar(d: Double): String? = noImpl
|
||||
fun bar(d: Double): String?
|
||||
}
|
||||
+1
-1
@@ -4,7 +4,7 @@ package
|
||||
@kotlin.js.nativeGetter public fun kotlin.String.foo(/*0*/ n: kotlin.Int): kotlin.Int?
|
||||
|
||||
public external interface T {
|
||||
@kotlin.js.nativeGetter public open fun bar(/*0*/ d: kotlin.Double): kotlin.String?
|
||||
@kotlin.js.nativeGetter public abstract fun bar(/*0*/ d: kotlin.Double): kotlin.String?
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
@kotlin.js.nativeGetter public abstract fun foo(/*0*/ d: kotlin.Double): kotlin.String?
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
|
||||
Reference in New Issue
Block a user