JS: don't report error when FAKE function overrides external function with optional parameters. Report only when it overrides at least two such functions. See KT-15961

This commit is contained in:
Alexey Andreev
2017-01-30 14:25:03 +03:00
parent d117b0210f
commit 06e8f7b328
4 changed files with 42 additions and 2 deletions
@@ -6,6 +6,8 @@ class B : A() {
<!OVERRIDING_EXTERNAL_FUN_WITH_OPTIONAL_PARAMS!>override fun f(x: Int)<!> {}
}
class BB : A()
external class C : A {
override fun f(x: Int)
}
@@ -19,6 +21,12 @@ interface J {
fun f(x: Int = 23)
}
interface II {
fun f(x: Int)
}
interface IIJ : II, J
open external class D {
open fun f(x: Int)
}
@@ -45,6 +53,8 @@ open external class XE {
class <!OVERRIDING_EXTERNAL_FUN_WITH_OPTIONAL_PARAMS_WITH_FAKE!>Y<!> : X(), I
class <!OVERRIDING_EXTERNAL_FUN_WITH_OPTIONAL_PARAMS_WITH_FAKE!>YY<!> : A(), II
external class YE: XE, I
class Z : X(), J