Add quick fix for AMBIGUOUS_SUPER
#KT-5271 Fixed
This commit is contained in:
committed by
Yan Zhulanow
parent
7c0af78b08
commit
f6a13df388
@@ -0,0 +1,18 @@
|
||||
// "Specify supertype" "true"
|
||||
package a.b.c
|
||||
|
||||
interface X
|
||||
|
||||
open class Y {
|
||||
open fun foo() {}
|
||||
}
|
||||
|
||||
interface Z {
|
||||
fun foo() {}
|
||||
}
|
||||
|
||||
class Test : X, a.b.c.Y(), Z {
|
||||
override fun foo() {
|
||||
<caret>super.foo()
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
// "Specify supertype" "true"
|
||||
package a.b.c
|
||||
|
||||
interface X
|
||||
|
||||
open class Y {
|
||||
open fun foo() {}
|
||||
}
|
||||
|
||||
interface Z {
|
||||
fun foo() {}
|
||||
}
|
||||
|
||||
class Test : X, a.b.c.Y(), Z {
|
||||
override fun foo() {
|
||||
super<a.b.c.Y>.foo()
|
||||
}
|
||||
}
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
// "Specify supertype" "true"
|
||||
package a.b.c
|
||||
|
||||
interface Z {
|
||||
fun foo() {}
|
||||
}
|
||||
|
||||
open class X {
|
||||
open fun foo() {}
|
||||
}
|
||||
|
||||
class Test : (@Suppress("foo") a.b.c.X)(), Z {
|
||||
override fun foo() {
|
||||
<caret>super.foo()
|
||||
}
|
||||
}
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
// "Specify supertype" "true"
|
||||
package a.b.c
|
||||
|
||||
interface Z {
|
||||
fun foo() {}
|
||||
}
|
||||
|
||||
open class X {
|
||||
open fun foo() {}
|
||||
}
|
||||
|
||||
class Test : (@Suppress("foo") a.b.c.X)(), Z {
|
||||
override fun foo() {
|
||||
super<a.b.c.X>.foo()
|
||||
}
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
// "Specify supertype" "true"
|
||||
package a.b.c
|
||||
|
||||
interface X {}
|
||||
|
||||
open class Y<T> {
|
||||
open fun foo() {}
|
||||
}
|
||||
|
||||
interface Z {
|
||||
fun foo() {}
|
||||
}
|
||||
|
||||
class Test : a.b.c.Y<Int>(), X, Z {
|
||||
override fun foo() {
|
||||
<caret>super.foo()
|
||||
}
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
// "Specify supertype" "true"
|
||||
package a.b.c
|
||||
|
||||
interface X {}
|
||||
|
||||
open class Y<T> {
|
||||
open fun foo() {}
|
||||
}
|
||||
|
||||
interface Z {
|
||||
fun foo() {}
|
||||
}
|
||||
|
||||
class Test : a.b.c.Y<Int>(), X, Z {
|
||||
override fun foo() {
|
||||
super<a.b.c.Y>.foo()
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
// "Specify supertype" "true"
|
||||
package a.b.c
|
||||
|
||||
interface X
|
||||
|
||||
open class Y {
|
||||
open fun foo() {}
|
||||
}
|
||||
|
||||
interface Z {
|
||||
fun foo() {}
|
||||
}
|
||||
|
||||
class Test : X, Y(), Z {
|
||||
override fun foo() {
|
||||
<caret>super.foo()
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
// "Specify supertype" "true"
|
||||
package a.b.c
|
||||
|
||||
interface X
|
||||
|
||||
open class Y {
|
||||
open fun foo() {}
|
||||
}
|
||||
|
||||
interface Z {
|
||||
fun foo() {}
|
||||
}
|
||||
|
||||
class Test : X, Y(), Z {
|
||||
override fun foo() {
|
||||
super<Y>.foo()
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
// "Specify supertype" "true"
|
||||
interface X
|
||||
|
||||
open class Y {
|
||||
open val bar
|
||||
get() = 1
|
||||
}
|
||||
|
||||
interface Z {
|
||||
val bar
|
||||
get() = 2
|
||||
}
|
||||
|
||||
class Test : X, Z, Y() {
|
||||
override val bar: Int
|
||||
get() = <caret>super.bar
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
// "Specify supertype" "true"
|
||||
interface X
|
||||
|
||||
open class Y {
|
||||
open val bar
|
||||
get() = 1
|
||||
}
|
||||
|
||||
interface Z {
|
||||
val bar
|
||||
get() = 2
|
||||
}
|
||||
|
||||
class Test : X, Z, Y() {
|
||||
override val bar: Int
|
||||
get() = super<Z>.bar
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
// "Specify supertype" "true"
|
||||
interface X
|
||||
|
||||
open class Y {
|
||||
open fun foo() {}
|
||||
}
|
||||
|
||||
interface Z {
|
||||
fun foo() {}
|
||||
}
|
||||
|
||||
class Test : X, Y(), Z {
|
||||
override fun foo() {}
|
||||
|
||||
inner class Boo : Y(), Z {
|
||||
override fun foo() {
|
||||
<caret>super@Test.foo()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
// "Specify supertype" "true"
|
||||
interface X
|
||||
|
||||
open class Y {
|
||||
open fun foo() {}
|
||||
}
|
||||
|
||||
interface Z {
|
||||
fun foo() {}
|
||||
}
|
||||
|
||||
class Test : X, Y(), Z {
|
||||
override fun foo() {}
|
||||
|
||||
inner class Boo : Y(), Z {
|
||||
override fun foo() {
|
||||
super<Y>@Test.foo()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
// "Specify supertype" "true"
|
||||
interface Z {
|
||||
fun foo() {}
|
||||
}
|
||||
|
||||
open class X {
|
||||
open fun foo() {}
|
||||
}
|
||||
|
||||
class Test : (@Suppress("foo") X)(), Z {
|
||||
override fun foo() {
|
||||
<caret>super.foo()
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
// "Specify supertype" "true"
|
||||
interface Z {
|
||||
fun foo() {}
|
||||
}
|
||||
|
||||
open class X {
|
||||
open fun foo() {}
|
||||
}
|
||||
|
||||
class Test : (@Suppress("foo") X)(), Z {
|
||||
override fun foo() {
|
||||
super<X>.foo()
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
// "Specify supertype" "true"
|
||||
interface X {}
|
||||
|
||||
open class Y<T> {
|
||||
open fun foo() {}
|
||||
}
|
||||
|
||||
interface Z {
|
||||
fun foo() {}
|
||||
}
|
||||
|
||||
class Test : Y<Int>(), X, Z {
|
||||
override fun foo() {
|
||||
<caret>super.foo()
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
// "Specify supertype" "true"
|
||||
interface X {}
|
||||
|
||||
open class Y<T> {
|
||||
open fun foo() {}
|
||||
}
|
||||
|
||||
interface Z {
|
||||
fun foo() {}
|
||||
}
|
||||
|
||||
class Test : Y<Int>(), X, Z {
|
||||
override fun foo() {
|
||||
super<Y>.foo()
|
||||
}
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
// "Specify supertype" "true"
|
||||
interface X {
|
||||
fun foo() {}
|
||||
}
|
||||
|
||||
open class Y: X {
|
||||
override fun foo() {}
|
||||
}
|
||||
|
||||
interface Z {
|
||||
fun foo() {}
|
||||
}
|
||||
|
||||
class Test : X, Y(), Z {
|
||||
override fun foo() {
|
||||
<caret>super.foo()
|
||||
}
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
// "Specify supertype" "true"
|
||||
interface X {
|
||||
fun foo() {}
|
||||
}
|
||||
|
||||
open class Y: X {
|
||||
override fun foo() {}
|
||||
}
|
||||
|
||||
interface Z {
|
||||
fun foo() {}
|
||||
}
|
||||
|
||||
class Test : X, Y(), Z {
|
||||
override fun foo() {
|
||||
super<Y>.foo()
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
// "Specify supertype" "true"
|
||||
// DISABLE-ERRORS
|
||||
interface Z {
|
||||
fun foo(): CharSequence = ""
|
||||
}
|
||||
|
||||
open class Y {
|
||||
override fun foo(): String = ""
|
||||
}
|
||||
|
||||
class Test : Z, Y() {
|
||||
override fun foo(): String {
|
||||
return <caret>super.foo()
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
// "Specify supertype" "true"
|
||||
// DISABLE-ERRORS
|
||||
interface Z {
|
||||
fun foo(): CharSequence = ""
|
||||
}
|
||||
|
||||
open class Y {
|
||||
override fun foo(): String = ""
|
||||
}
|
||||
|
||||
class Test : Z, Y() {
|
||||
override fun foo(): String {
|
||||
return super<Y>.foo()
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user