mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-13 08:31:31 +00:00
Choosing most specific super member when building fake override. Previously, random one was chosen.
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
package test;
|
||||
|
||||
public final class InheritMethodsDifferentReturnTypes {
|
||||
public interface Super1 {
|
||||
CharSequence foo();
|
||||
String bar();
|
||||
}
|
||||
|
||||
public interface Super2 {
|
||||
String foo();
|
||||
CharSequence bar();
|
||||
}
|
||||
|
||||
public interface Sub extends Super1, Super2 {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package test
|
||||
|
||||
public class InheritMethodsDifferentReturnTypes: Object() {
|
||||
public trait Super1: Object {
|
||||
public fun foo(): CharSequence?
|
||||
public fun bar(): String?
|
||||
}
|
||||
|
||||
public trait Super2: Object {
|
||||
public fun foo(): String?
|
||||
public fun bar(): CharSequence?
|
||||
}
|
||||
|
||||
public trait Sub: Super1, Super2 {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package test
|
||||
|
||||
public final class InheritMethodsDifferentReturnTypes : java.lang.Object {
|
||||
public constructor InheritMethodsDifferentReturnTypes()
|
||||
|
||||
public trait Sub : test.InheritMethodsDifferentReturnTypes.Super1, test.InheritMethodsDifferentReturnTypes.Super2 {
|
||||
public abstract override /*2*/ /*fake_override*/ fun bar(): jet.String?
|
||||
public abstract override /*2*/ /*fake_override*/ fun foo(): jet.String?
|
||||
}
|
||||
|
||||
public trait Super1 : java.lang.Object {
|
||||
public abstract fun bar(): jet.String?
|
||||
public abstract fun foo(): jet.CharSequence?
|
||||
}
|
||||
|
||||
public trait Super2 : java.lang.Object {
|
||||
public abstract fun bar(): jet.CharSequence?
|
||||
public abstract fun foo(): jet.String?
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package test;
|
||||
|
||||
public final class InheritMethodsDifferentReturnTypesGeneric {
|
||||
public interface Super1<F, B> {
|
||||
F foo();
|
||||
B bar();
|
||||
}
|
||||
|
||||
public interface Super2<FF, BB> {
|
||||
FF foo();
|
||||
BB bar();
|
||||
}
|
||||
|
||||
public interface Sub extends Super1<String, CharSequence>, Super2<CharSequence, String> {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package test
|
||||
|
||||
public class InheritMethodsDifferentReturnTypesGeneric: Object() {
|
||||
public trait Super1<F, B>: Object {
|
||||
public fun foo(): F?
|
||||
public fun bar(): B?
|
||||
}
|
||||
|
||||
public trait Super2<FF, BB>: Object {
|
||||
public fun foo(): FF?
|
||||
public fun bar(): BB?
|
||||
}
|
||||
|
||||
public trait Sub: Super1<String, CharSequence>, Super2<CharSequence, String> {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package test
|
||||
|
||||
public final class InheritMethodsDifferentReturnTypesGeneric : java.lang.Object {
|
||||
public constructor InheritMethodsDifferentReturnTypesGeneric()
|
||||
|
||||
public trait Sub : test.InheritMethodsDifferentReturnTypesGeneric.Super1<jet.String, jet.CharSequence>, test.InheritMethodsDifferentReturnTypesGeneric.Super2<jet.CharSequence, jet.String> {
|
||||
public abstract override /*2*/ /*fake_override*/ fun bar(): jet.String?
|
||||
public abstract override /*2*/ /*fake_override*/ fun foo(): jet.String?
|
||||
}
|
||||
|
||||
public trait Super1</*0*/ F, /*1*/ B> : java.lang.Object {
|
||||
public abstract fun bar(): B?
|
||||
public abstract fun foo(): F?
|
||||
}
|
||||
|
||||
public trait Super2</*0*/ FF, /*1*/ BB> : java.lang.Object {
|
||||
public abstract fun bar(): BB?
|
||||
public abstract fun foo(): FF?
|
||||
}
|
||||
}
|
||||
@@ -23,7 +23,7 @@ public trait HalfSubstitutedTypeParameters : java.lang.Object {
|
||||
public abstract override /*1*/ /*fake_override*/ fun get(/*0*/ index: jet.Int): E
|
||||
public abstract override /*1*/ /*fake_override*/ fun indexOf(/*0*/ o: jet.Any?): jet.Int
|
||||
public abstract override /*1*/ /*fake_override*/ fun isEmpty(): jet.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun iterator(): jet.Iterator<E>
|
||||
public abstract override /*1*/ /*fake_override*/ fun iterator(): jet.MutableIterator<E>
|
||||
public abstract override /*1*/ /*fake_override*/ fun lastIndexOf(/*0*/ o: jet.Any?): jet.Int
|
||||
public abstract override /*1*/ /*fake_override*/ fun listIterator(): jet.MutableListIterator<E>
|
||||
public abstract override /*1*/ /*fake_override*/ fun listIterator(/*0*/ index: jet.Int): jet.MutableListIterator<E>
|
||||
|
||||
@@ -5,11 +5,11 @@ public open class ModalityOfFakeOverrides : java.util.AbstractList<jet.String> {
|
||||
protected final override /*1*/ /*fake_override*/ var modCount: jet.Int
|
||||
public open override /*1*/ /*fake_override*/ fun add(/*0*/ p0: jet.Int, /*1*/ p1: jet.String): jet.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun add(/*0*/ p0: jet.String): jet.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun addAll(/*0*/ p0: jet.Collection<jet.String>): jet.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun addAll(/*0*/ c: jet.Collection<jet.String>): jet.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun addAll(/*0*/ p0: jet.Int, /*1*/ p1: jet.Collection<jet.String>): jet.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun clear(): jet.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun contains(/*0*/ p0: jet.Any?): jet.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun containsAll(/*0*/ p0: jet.Collection<jet.Any?>): jet.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun contains(/*0*/ o: jet.Any?): jet.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun containsAll(/*0*/ c: jet.Collection<jet.Any?>): jet.Boolean
|
||||
public open override /*1*/ fun get(/*0*/ p0: jet.Int): jet.String
|
||||
public open override /*1*/ /*fake_override*/ fun indexOf(/*0*/ p0: jet.Any?): jet.Int
|
||||
public open override /*1*/ /*fake_override*/ fun isEmpty(): jet.Boolean
|
||||
@@ -17,11 +17,11 @@ public open class ModalityOfFakeOverrides : java.util.AbstractList<jet.String> {
|
||||
public open override /*1*/ /*fake_override*/ fun lastIndexOf(/*0*/ p0: jet.Any?): jet.Int
|
||||
public open override /*1*/ /*fake_override*/ fun listIterator(): jet.MutableListIterator<jet.String>
|
||||
public open override /*1*/ /*fake_override*/ fun listIterator(/*0*/ p0: jet.Int): jet.MutableListIterator<jet.String>
|
||||
public open override /*1*/ /*fake_override*/ fun remove(/*0*/ p0: jet.Any?): jet.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun remove(/*0*/ o: jet.Any?): jet.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun remove(/*0*/ p0: jet.Int): jet.String
|
||||
public open override /*1*/ /*fake_override*/ fun removeAll(/*0*/ p0: jet.Collection<jet.Any?>): jet.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun removeAll(/*0*/ c: jet.Collection<jet.Any?>): jet.Boolean
|
||||
protected open override /*1*/ /*fake_override*/ fun removeRange(/*0*/ p0: jet.Int, /*1*/ p1: jet.Int): jet.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun retainAll(/*0*/ p0: jet.Collection<jet.Any?>): jet.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun retainAll(/*0*/ c: jet.Collection<jet.Any?>): jet.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun set(/*0*/ p0: jet.Int, /*1*/ p1: jet.String): jet.String
|
||||
public open override /*1*/ fun size(): jet.Int
|
||||
public open override /*1*/ /*fake_override*/ fun subList(/*0*/ p0: jet.Int, /*1*/ p1: jet.Int): jet.MutableList<jet.String>
|
||||
|
||||
Reference in New Issue
Block a user