[FIR] Add test with abstract / non-abstract ambiguity
This commit is contained in:
@@ -1,10 +1,14 @@
|
||||
interface A {
|
||||
fun bar() {}
|
||||
|
||||
fun baz()
|
||||
}
|
||||
open class B {
|
||||
open fun foo() {}
|
||||
|
||||
open fun bar() {}
|
||||
|
||||
open fun baz() {}
|
||||
}
|
||||
|
||||
class C : A, B() {
|
||||
@@ -12,5 +16,8 @@ class C : A, B() {
|
||||
super.foo()
|
||||
|
||||
super.<!AMBIGUITY!>bar<!>() // should be ambiguity (NB: really we should have overridden bar in C)
|
||||
|
||||
super.<!AMBIGUITY!>baz<!>() // Ok
|
||||
baz() // Ok
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,8 @@ FILE: incorrectSuperCall.kt
|
||||
public open fun bar(): R|kotlin/Unit| {
|
||||
}
|
||||
|
||||
public abstract fun baz(): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
public open class B : R|kotlin/Any| {
|
||||
public constructor(): R|B| {
|
||||
@@ -15,6 +17,9 @@ FILE: incorrectSuperCall.kt
|
||||
public open fun bar(): R|kotlin/Unit| {
|
||||
}
|
||||
|
||||
public open fun baz(): R|kotlin/Unit| {
|
||||
}
|
||||
|
||||
}
|
||||
public final class C : R|A|, R|B| {
|
||||
public constructor(): R|C| {
|
||||
@@ -24,6 +29,8 @@ FILE: incorrectSuperCall.kt
|
||||
public final override fun foo(): R|kotlin/Unit| {
|
||||
super<R|A|R|B|>.R|/B.foo|()
|
||||
super<R|A|R|B|>.<Ambiguity: bar, [/A.bar, /B.bar]>#()
|
||||
super<R|A|R|B|>.<Ambiguity: baz, [/A.baz, /B.baz]>#()
|
||||
this@R|/C|.R|/A.baz|()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user