Move OverridingUtil#getUpperBound to OverloadUtil, add tests on overloads

This commit is contained in:
Alexander Udalov
2015-10-22 22:57:34 +03:00
parent 477823b093
commit 426bddb54e
7 changed files with 98 additions and 17 deletions
@@ -0,0 +1,8 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
interface Foo
interface Bar
<!CONFLICTING_JVM_DECLARATIONS!>fun <T> foo(x: T): T<!> where T: Foo, T: Bar {null!!}
<!CONFLICTING_JVM_DECLARATIONS!>fun foo(x: Foo): Foo<!> {null!!}
fun foo(x: Bar): Bar {null!!}
@@ -0,0 +1,17 @@
package
public fun foo(/*0*/ x: Bar): Bar
public fun foo(/*0*/ x: Foo): Foo
public fun </*0*/ T : Foo> foo(/*0*/ x: T): T where T : Bar
public interface Bar {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface Foo {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}