JS: prohibit overriding external functions with optional parameters by non-external fake functions
This commit is contained in:
+19
-1
@@ -15,6 +15,10 @@ external interface I {
|
||||
fun f(x: Int = noImpl)
|
||||
}
|
||||
|
||||
interface J {
|
||||
fun f(x: Int = 23)
|
||||
}
|
||||
|
||||
open external class D {
|
||||
open fun f(x: Int)
|
||||
}
|
||||
@@ -29,4 +33,18 @@ class F : D(), I {
|
||||
|
||||
external class G : D(), I {
|
||||
override fun f(x: Int) {}
|
||||
}
|
||||
}
|
||||
|
||||
open class X {
|
||||
fun f(<!UNUSED_PARAMETER!>x<!>: Int) {}
|
||||
}
|
||||
|
||||
open external class XE {
|
||||
fun f(x: Int)
|
||||
}
|
||||
|
||||
class <!OVERRIDING_EXTERNAL_FUN_WITH_OPTIONAL_PARAMS_WITH_FAKE!>Y<!> : X(), I
|
||||
|
||||
external class YE: XE(), I
|
||||
|
||||
class Z : X(), J
|
||||
Reference in New Issue
Block a user