Test for overrides involving dynamic types

This commit is contained in:
Andrey Breslav
2014-11-21 16:36:59 +03:00
parent e09b624f05
commit 65164e95b5
3 changed files with 71 additions and 0 deletions
@@ -0,0 +1,21 @@
// MODULE[js]: m1
// FILE: k.kt
trait P
trait R
trait A {
fun foo(p: P): R
fun dynamic(p: dynamic): dynamic
}
trait B : A {
override fun foo(p: dynamic): dynamic
override fun dynamic(p: P): R
}
trait A1 {
fun foo(p: dynamic): dynamic
}
trait C : A, A1
@@ -0,0 +1,44 @@
package
internal trait A {
internal abstract fun dynamic(/*0*/ p: dynamic): dynamic
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
internal abstract fun foo(/*0*/ p: P): R
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
internal trait A1 {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
internal abstract fun foo(/*0*/ p: dynamic): dynamic
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
internal trait B : A {
internal abstract override /*1*/ fun dynamic(/*0*/ p: P): R
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
internal abstract override /*1*/ fun foo(/*0*/ p: dynamic): dynamic
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
internal trait C : A, A1 {
internal abstract override /*1*/ /*fake_override*/ fun dynamic(/*0*/ p: dynamic): dynamic
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
internal abstract override /*2*/ /*fake_override*/ fun foo(/*0*/ p: dynamic): dynamic
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}
internal trait P {
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
}
internal trait R {
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
}
@@ -3800,6 +3800,12 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
doTest(fileName);
}
@TestMetadata("overrides.kt")
public void testOverrides() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/dynamicTypes/overrides.kt");
doTest(fileName);
}
@TestMetadata("smartCast.kt")
public void testSmartCast() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/dynamicTypes/smartCast.kt");