[TEST] Migrate duplicating javac tests to new test runners

Also minimize scope of DiagnosticUsingJavac tests to
 `compiler/testData/diagnostics/tests/javac`. This is fine since
 javac compilation mode is still not finished and no one not going to
 support it
This commit is contained in:
Dmitriy Novozhilov
2020-12-15 15:22:48 +03:00
parent b44dc55109
commit 61302a2e08
156 changed files with 1631 additions and 35369 deletions
@@ -0,0 +1,20 @@
// FIR_IDENTICAL
// FILE: a/d.java
package a;
public class d<T> {
public static class Inner<X> extends d<Integer> {
public class Y<C> extends d.Inner<String> {
public class Z<Z> extends d.Inner<String>.Y<Integer> {
public class N<N> extends d.Inner<Integer>.Y<Double>.Z<Integer> {}
}
}
}
}
@@ -0,0 +1,39 @@
package
package a {
public open class d</*0*/ T : kotlin.Any!> {
public constructor d</*0*/ T : kotlin.Any!>()
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 open class Inner</*0*/ X : kotlin.Any!> : a.d<kotlin.Int!> {
public constructor Inner</*0*/ X : kotlin.Any!>()
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 open inner class Y</*0*/ C : kotlin.Any!> /*captured type parameters: /*1*/ X : kotlin.Any!*/ : a.d.Inner<kotlin.String!> {
public constructor Y</*0*/ C : kotlin.Any!>()
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 open inner class Z</*0*/ Z : kotlin.Any!> /*captured type parameters: /*1*/ C : kotlin.Any!, /*2*/ X : kotlin.Any!*/ : a.d.Inner<kotlin.String!>.Y<kotlin.Int!> {
public constructor Z</*0*/ Z : kotlin.Any!>()
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 open inner class N</*0*/ N : kotlin.Any!> /*captured type parameters: /*1*/ Z : kotlin.Any!, /*2*/ C : kotlin.Any!, /*3*/ X : kotlin.Any!*/ : a.d.Inner<kotlin.Int!>.Y<kotlin.Double!>.Z<kotlin.Int!> {
public constructor N</*0*/ N : kotlin.Any!>()
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
}
}
}
}
}
}
@@ -0,0 +1,27 @@
// FILE: a/x.java
package a;
public class x {
public class Z {}
}
// FILE: a/i.java
package a;
public interface i {
public class Z {}
}
// FILE: a/y.java
package a;
public class y extends x implements i {
public Z getZ() { return null; }
}
// FILE: test.kt
package a
fun test() = y().getZ()
@@ -0,0 +1,27 @@
// FILE: a/x.java
package a;
public class x {
public class Z {}
}
// FILE: a/i.java
package a;
public interface i {
public class Z {}
}
// FILE: a/y.java
package a;
public class y extends x implements i {
public Z getZ() { return null; }
}
// FILE: test.kt
package a
fun test() = y().<!MISSING_DEPENDENCY_CLASS!>getZ<!>()
@@ -0,0 +1,40 @@
package
package a {
public fun test(): Z!
public interface i {
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 open class Z {
public constructor Z()
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 open class x {
public constructor x()
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 open inner class Z {
public constructor Z()
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 open class y : a.x, a.i {
public constructor y()
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getZ(): Z!
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -0,0 +1,30 @@
// FILE: a/x.java
package a;
public class x {
public class Z {}
}
// FILE: a/i.java
package a;
public interface i {
public class Z {}
}
// FILE: a/i2.java
package a;
public interface i2 extends i {}
// FILE: a/y.java
package a;
public class y extends x implements i2 {
public Z getZ() { return null; }
}
// FILE: test.kt
package a
fun test() = y().getZ()
@@ -0,0 +1,30 @@
// FILE: a/x.java
package a;
public class x {
public class Z {}
}
// FILE: a/i.java
package a;
public interface i {
public class Z {}
}
// FILE: a/i2.java
package a;
public interface i2 extends i {}
// FILE: a/y.java
package a;
public class y extends x implements i2 {
public Z getZ() { return null; }
}
// FILE: test.kt
package a
fun test() = y().<!MISSING_DEPENDENCY_CLASS!>getZ<!>()
@@ -0,0 +1,46 @@
package
package a {
public fun test(): Z!
public interface i {
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 open class Z {
public constructor Z()
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 i2 : a.i {
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 open class x {
public constructor x()
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 open inner class Z {
public constructor Z()
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 open class y : a.x, a.i2 {
public constructor y()
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getZ(): Z!
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -0,0 +1,25 @@
// FILE: a/i.java
package a;
public interface i {
public class Z {}
}
// FILE: a/i2.java
package a;
public interface i2 {
public class Z {}
}
// FILE: a/x.java
package a;
public class x implements i, i2 {
public Z getZ() { return null; }
}
// FILE: test.kt
package a
fun test() = x().getZ()
@@ -0,0 +1,25 @@
// FILE: a/i.java
package a;
public interface i {
public class Z {}
}
// FILE: a/i2.java
package a;
public interface i2 {
public class Z {}
}
// FILE: a/x.java
package a;
public class x implements i, i2 {
public Z getZ() { return null; }
}
// FILE: test.kt
package a
fun test() = x().<!MISSING_DEPENDENCY_CLASS!>getZ<!>()
@@ -0,0 +1,39 @@
package
package a {
public fun test(): Z!
public interface i {
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 open class Z {
public constructor Z()
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 i2 {
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 open class Z {
public constructor Z()
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 open class x : a.i, a.i2 {
public constructor x()
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getZ(): Z!
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -0,0 +1,47 @@
// FILE: a/x.java
package a;
public class x {
class O {}
}
// FILE: a/x1.java
package a;
public class x1 extends x {}
// FILE: a/x2.java
package a;
public class x2 extends x1 {}
// FILE: a/i.java
package a;
public interface i {
public class O {}
}
// FILE: a/i2.java
package a;
public interface i2 extends i {
public class O {}
}
// FILE: a/i3.java
package a;
public interface i3 extends i2 {}
// FILE: a/test.java
package a;
public class test extends x2 implements i3 {
public O getO() { return null; }
}
// FILE: test.kt
package a
fun test1() = test().getO()
@@ -0,0 +1,47 @@
// FILE: a/x.java
package a;
public class x {
class O {}
}
// FILE: a/x1.java
package a;
public class x1 extends x {}
// FILE: a/x2.java
package a;
public class x2 extends x1 {}
// FILE: a/i.java
package a;
public interface i {
public class O {}
}
// FILE: a/i2.java
package a;
public interface i2 extends i {
public class O {}
}
// FILE: a/i3.java
package a;
public interface i3 extends i2 {}
// FILE: a/test.java
package a;
public class test extends x2 implements i3 {
public O getO() { return null; }
}
// FILE: test.kt
package a
fun test1() = test().<!MISSING_DEPENDENCY_CLASS!>getO<!>()
@@ -0,0 +1,73 @@
package
package a {
public fun test1(): O!
public interface i {
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 open class O {
public constructor O()
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 i2 : a.i {
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 open class O {
public constructor O()
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 i3 : a.i2 {
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 open class test : a.x2, a.i3 {
public constructor test()
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getO(): O!
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class x {
public constructor x()
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/*package*/ open inner class O {
public/*package*/ constructor O()
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 open class x1 : a.x {
public constructor x1()
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 open class x2 : a.x1 {
public constructor x2()
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
}
}
@@ -0,0 +1,38 @@
// FIR_IDENTICAL
// FILE: test/UseKotlinInner.java
package test;
public class UseKotlinInner extends KotlinClass {
KotlinInner getKotlinInner() { return null; }
JavaInner getJavaInner() { return null; }
KotlinInner3 getKotlinInner3() { return null; }
}
// FILE: test/JavaClass2.java
package test;
public class JavaClass2 {
public static class JavaInner {}
}
// FILE: test/UseKotlinInner.kt
package test
open class KotlinClass : KotlinInterface.KotlinInner2() {
inner class KotlinInner
}
interface KotlinInterface {
open class KotlinInner2 : JavaClass2() {
class KotlinInner3
}
}
private fun getKotlinInner() = UseKotlinInner().kotlinInner
private fun getJavaInner() = UseKotlinInner().javaInner
private fun getKotlinInner3() = UseKotlinInner().kotlinInner3
@@ -0,0 +1,65 @@
package
package test {
private fun getJavaInner(): test.JavaClass2.JavaInner!
private fun getKotlinInner(): test.KotlinClass.KotlinInner!
private fun getKotlinInner3(): test.KotlinInterface.KotlinInner2.KotlinInner3!
public open class JavaClass2 {
public constructor JavaClass2()
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 open class JavaInner {
public constructor JavaInner()
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 open class KotlinClass : test.KotlinInterface.KotlinInner2 {
public constructor KotlinClass()
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 final inner class KotlinInner {
public constructor KotlinInner()
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 KotlinInterface {
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 open class KotlinInner2 : test.JavaClass2 {
public constructor KotlinInner2()
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 final class KotlinInner3 {
public constructor KotlinInner3()
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 open class UseKotlinInner : test.KotlinClass {
public constructor UseKotlinInner()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public/*package*/ open fun getJavaInner(): test.JavaClass2.JavaInner!
public/*package*/ open fun getKotlinInner(): test.KotlinClass.KotlinInner!
public/*package*/ open fun getKotlinInner3(): test.KotlinInterface.KotlinInner2.KotlinInner3!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -0,0 +1,31 @@
// FIR_IDENTICAL
// FILE: a/k.kt
package a
open class k {
fun getK(): k? = null
fun getI(): i? = null
inner class i
}
// FILE: a/y.java
package a;
public class y {
public k getK() { return null; }
}
// FILE: a/x.java
package a;
public class x extends k {
public i getIFromJava() { return null; }
}
// FILE: test.kt
package a
fun test() = x().getK()
fun test2() = x().getI()
fun test3() = x().getIFromJava()
fun test4() = y().getK()
@@ -0,0 +1,42 @@
package
package a {
public fun test(): a.k?
public fun test2(): a.k.i?
public fun test3(): a.k.i!
public fun test4(): a.k!
public open class k {
public constructor k()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final fun getI(): a.k.i?
public final fun getK(): a.k?
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public final inner class i {
public constructor i()
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 open class x : a.k {
public constructor x()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final override /*1*/ /*fake_override*/ fun getI(): a.k.i?
public open fun getIFromJava(): a.k.i!
public final override /*1*/ /*fake_override*/ fun getK(): a.k?
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class y {
public constructor y()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getK(): a.k!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -0,0 +1,25 @@
// FIR_IDENTICAL
// FILE: a/x.java
package a;
public class x {
public class y {}
}
// FILE: a/b.java
package a;
public class b extends x {
public y getY() { return null; }
}
// FILE: test.kt
package test
import a.b
fun test() = b().getY()
@@ -0,0 +1,30 @@
package
package a {
public open class b : a.x {
public constructor b()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getY(): a.x.y!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class x {
public constructor x()
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 open inner class y {
public constructor y()
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
}
}
}
package test {
public fun test(): a.x.y!
}
@@ -0,0 +1,30 @@
// FIR_IDENTICAL
// FILE: a/x.java
package a;
public class x {
public static class S {
public static class B {}
}
}
// FILE: a/x1.java
package a;
public class x1 extends x.S {
public B getB() { return null; }
}
// FILE: a/x2.java
package a;
public class x2<B> extends x.S {
public B getB() { return null; }
}
// FILE: a/test.kt
package a
fun test1() = x1().getB()
fun test2() = x2.<!UNRESOLVED_REFERENCE!>B<!>()
fun test3() = x2<String>().getB()
@@ -0,0 +1,44 @@
package
package a {
public fun test1(): a.x.S.B!
public fun test2(): [ERROR : Error function type]
public fun test3(): kotlin.String!
public open class x {
public constructor x()
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 open class S {
public constructor S()
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 open class B {
public constructor B()
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 open class x1 : a.x.S {
public constructor x1()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getB(): a.x.S.B!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class x2</*0*/ B : kotlin.Any!> : a.x.S {
public constructor x2</*0*/ B : kotlin.Any!>()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getB(): B!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -0,0 +1,32 @@
// FIR_IDENTICAL
// FILE: a/x.java
package a;
public class x {
public class y {}
}
// FILE: a/y.java
package a;
public class y extends x {
}
// FILE: a/c.java
package a;
public class c extends y {
public y getY() { return null; }
}
// FILE: test.kt
package test
import a.c
fun test() = c().getY()
@@ -0,0 +1,37 @@
package
package a {
public open class c : a.y {
public constructor c()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getY(): a.x.y!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class x {
public constructor x()
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 open inner class y {
public constructor y()
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 open class y : a.x {
public constructor y()
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
}
}
package test {
public fun test(): a.x.y!
}
@@ -0,0 +1,32 @@
// FIR_IDENTICAL
// FILE: a/x.java
package a;
public class x {
public class z {}
}
// FILE: a/y.java
package a;
public class y extends x {
public z getZ() { return null; }
public class d {
public z getZ() { return null; }
}
}
// FILE: test.kt
package test
import a.y
fun test() = y().getZ()
fun test2() = y().d().getZ()
@@ -0,0 +1,39 @@
package
package a {
public open class x {
public constructor x()
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 open inner class z {
public constructor z()
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 open class y : a.x {
public constructor y()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getZ(): a.x.z!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public open inner class d {
public constructor d()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getZ(): a.x.z!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
}
package test {
public fun test(): a.x.z!
public fun test2(): a.x.z!
}
@@ -0,0 +1,25 @@
// FIR_IDENTICAL
// FILE: a/x.kt
package a
open class x {
inner class y
}
// FILE: a/b.java
package a;
public class b extends x {
public y getY() { return null; }
}
// FILE: test.kt
package test
import a.b
fun test() = b().getY()
@@ -0,0 +1,30 @@
package
package a {
public open class b : a.x {
public constructor b()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getY(): a.x.y!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class x {
public constructor x()
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 final inner class y {
public constructor y()
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
}
}
}
package test {
public fun test(): a.x.y!
}
@@ -0,0 +1,27 @@
// FIR_IDENTICAL
// FILE: a/x.java
package a;
public class x {
public class z {}
}
// FILE: a/y.java
package a;
public class y extends x {
public z getZ() { return null; }
public class z {}
}
// FILE: test.kt
package test
import a.y
fun test() = y().getZ()
@@ -0,0 +1,37 @@
package
package a {
public open class x {
public constructor x()
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 open inner class z {
public constructor z()
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 open class y : a.x {
public constructor y()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getZ(): a.y.z!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public open inner class z {
public constructor z()
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
}
}
}
package test {
public fun test(): a.y.z!
}
@@ -0,0 +1,44 @@
// FIR_IDENTICAL
// FILE: a/x.java
package a;
public interface x {
public class d {}
public class z {}
public class o {}
}
// FILE: a/b.java
package a;
public interface b extends x {
public class y {}
}
// FILE: a/c.java
package a;
public class c implements x {
public class d {}
}
// FILE: a/f.java
package a;
public class f extends c implements b {
public class o {}
public d getD() { return null; }
public y getY() { return null; }
public z getZ() { return null; }
public o getO() { return null; }
}
@@ -0,0 +1,76 @@
package
package a {
public interface b : a.x {
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 open class y {
public constructor y()
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 open class c : a.x {
public constructor c()
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 open inner class d {
public constructor d()
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 open class f : a.c, a.b {
public constructor f()
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getD(): a.c.d!
public open fun getO(): a.f.o!
public open fun getY(): a.b.y!
public open fun getZ(): a.x.z!
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
public open inner class o {
public constructor o()
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 x {
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 open class d {
public constructor d()
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 open class o {
public constructor o()
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 open class z {
public constructor z()
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
}
}
}
@@ -0,0 +1,34 @@
// FIR_IDENTICAL
// FILE: a/x.java
package a;
public class x {
public class y {}
}
// FILE: a/b.java
package a;
public class b extends x {
public class y {}
}
// FILE: a/c.java
package a;
public class c extends b {
public y getY() { return null; }
}
// FILE: test.kt
package test
import a.c
fun test() = c().getY()
@@ -0,0 +1,44 @@
package
package a {
public open class b : a.x {
public constructor b()
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 open inner class y {
public constructor y()
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 open class c : a.b {
public constructor c()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getY(): a.b.y!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class x {
public constructor x()
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 open inner class y {
public constructor y()
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
}
}
}
package test {
public fun test(): a.b.y!
}
@@ -0,0 +1,35 @@
// FIR_IDENTICAL
// FILE: a/x.java
package a;
public class x {
public class O {}
}
// FILE: a/i.java
package a;
public interface i {
public class Z {}
}
// FILE: a/i2.java
package a;
public interface i2 extends i {
public class Z {}
}
// FILE: a/test.java
package a;
public class test extends x implements i2 {
public Z getZ() { return null; }
public O getO() { return null; }
}
// FILE: test.kt
package a
fun test1() = test().getZ()
fun test2() = test().getO()
@@ -0,0 +1,55 @@
package
package a {
public fun test1(): a.i2.Z!
public fun test2(): a.x.O!
public interface i {
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 open class Z {
public constructor Z()
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 i2 : a.i {
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 open class Z {
public constructor Z()
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 open class test : a.x, a.i2 {
public constructor test()
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getO(): a.x.O!
public open fun getZ(): a.i2.Z!
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class x {
public constructor x()
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 open inner class O {
public constructor O()
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
}
}
}
@@ -0,0 +1,23 @@
// FIR_IDENTICAL
// FILE: a/Parent.java
package a;
public interface Parent {
public class Foo {}
}
// FILE: a/Outer.java
package a;
public class Outer<Foo> {
public class Inner implements Parent {
public Foo bar() {
return null;
}
}
}
// FILE: test.kt
package a
fun test() = Outer<String>().Inner().bar()
@@ -0,0 +1,33 @@
package
package a {
public fun test(): a.Parent.Foo!
public open class Outer</*0*/ Foo : kotlin.Any!> {
public constructor Outer</*0*/ Foo : kotlin.Any!>()
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 open inner class Inner /*captured type parameters: /*0*/ Foo : kotlin.Any!*/ : a.Parent {
public constructor Inner()
public open fun bar(): a.Parent.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
}
}
public interface Parent {
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 open class Foo {
public constructor 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
}
}
}