Choosing most specific super member when building fake override. Previously, random one was chosen.
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
package test
|
||||
|
||||
public trait Super1 {
|
||||
public fun foo(): CharSequence
|
||||
private fun bar(): String
|
||||
}
|
||||
|
||||
public trait Super2 {
|
||||
private fun foo(): String
|
||||
public fun bar(): CharSequence
|
||||
}
|
||||
|
||||
public trait Sub: Super1, Super2 {
|
||||
}
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
package test
|
||||
|
||||
public trait Sub : test.Super1, test.Super2 {
|
||||
public abstract override /*1*/ /*fake_override*/ fun bar(): jet.CharSequence
|
||||
public abstract override /*1*/ /*fake_override*/ fun foo(): jet.CharSequence
|
||||
}
|
||||
|
||||
public trait Super1 {
|
||||
private abstract fun bar(): jet.String
|
||||
public abstract fun foo(): jet.CharSequence
|
||||
}
|
||||
|
||||
public trait Super2 {
|
||||
public abstract fun bar(): jet.CharSequence
|
||||
private abstract fun foo(): jet.String
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package test
|
||||
|
||||
public trait Super1 {
|
||||
val x: String
|
||||
var y: String
|
||||
}
|
||||
|
||||
public trait Super2 {
|
||||
var x: String
|
||||
val y: String
|
||||
}
|
||||
|
||||
public trait Sub: Super1, Super2 {
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
package test
|
||||
|
||||
public trait Sub : test.Super1, test.Super2 {
|
||||
internal abstract override /*2*/ /*fake_override*/ var x: jet.String
|
||||
internal abstract override /*2*/ /*fake_override*/ fun <get-x>(): jet.String
|
||||
internal abstract override /*1*/ /*fake_override*/ fun <set-x>(/*0*/ <set-?>: jet.String): jet.Unit
|
||||
internal abstract override /*2*/ /*fake_override*/ var y: jet.String
|
||||
internal abstract override /*2*/ /*fake_override*/ fun <get-y>(): jet.String
|
||||
internal abstract override /*1*/ /*fake_override*/ fun <set-y>(/*0*/ <set-?>: jet.String): jet.Unit
|
||||
}
|
||||
|
||||
public trait Super1 {
|
||||
internal abstract val x: jet.String
|
||||
internal abstract fun <get-x>(): jet.String
|
||||
internal abstract var y: jet.String
|
||||
internal abstract fun <get-y>(): jet.String
|
||||
internal abstract fun <set-y>(/*0*/ <set-?>: jet.String): jet.Unit
|
||||
}
|
||||
|
||||
public trait Super2 {
|
||||
internal abstract var x: jet.String
|
||||
internal abstract fun <get-x>(): jet.String
|
||||
internal abstract fun <set-x>(/*0*/ <set-?>: jet.String): jet.Unit
|
||||
internal abstract val y: jet.String
|
||||
internal abstract fun <get-y>(): jet.String
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package test
|
||||
|
||||
public trait Super1 {
|
||||
val x: String
|
||||
val y: CharSequence
|
||||
}
|
||||
|
||||
public trait Super2 {
|
||||
val x: CharSequence
|
||||
val y: String
|
||||
}
|
||||
|
||||
public trait Sub: Super1, Super2 {
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package test
|
||||
|
||||
public trait Sub : test.Super1, test.Super2 {
|
||||
internal abstract override /*2*/ /*fake_override*/ val x: jet.String
|
||||
internal abstract override /*2*/ /*fake_override*/ fun <get-x>(): jet.String
|
||||
internal abstract override /*2*/ /*fake_override*/ val y: jet.String
|
||||
internal abstract override /*2*/ /*fake_override*/ fun <get-y>(): jet.String
|
||||
}
|
||||
|
||||
public trait Super1 {
|
||||
internal abstract val x: jet.String
|
||||
internal abstract fun <get-x>(): jet.String
|
||||
internal abstract val y: jet.CharSequence
|
||||
internal abstract fun <get-y>(): jet.CharSequence
|
||||
}
|
||||
|
||||
public trait Super2 {
|
||||
internal abstract val x: jet.CharSequence
|
||||
internal abstract fun <get-x>(): jet.CharSequence
|
||||
internal abstract val y: jet.String
|
||||
internal abstract fun <get-y>(): jet.String
|
||||
}
|
||||
Reference in New Issue
Block a user