[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,81 @@
// FIR_IDENTICAL
// FILE: a/ann.java
package a;
public @interface ann {
Class value();
}
// FILE: a/x.java
package a;
@ann(String.class)
public class x {
@ann2(value = { @ann1(a = "a" + "b", i = 1 * 2), @ann1(a = "b", i = 2), @ann1(a = "c", i = 3) }, i = 42)
public String method() { return null; }
@ann3((1 + 1))
public String method2() { return null; }
@def
public String method3() { return null; }
@def(1)
public String method4() { return null; }
@def(firstDefault = "f", 5)
public String method5() { return null; }
@def(secondDefault = "s", 14)
public String method6() { return null; }
@def(firstDefault = "f", secondDefault = "s", 17)
public String method7() { return null; }
@def("1", "2", 3)
public String method8() { return null; }
}
// FILE: a/ann1.java
package a;
import java.lang.annotation.ElementType;
import java.lang.annotation.Target;
@Target(ElementType.METHOD)
@interface ann1 {
public String a();
public int i();
}
// FILE: a/ann2.java
package a;
import java.lang.annotation.ElementType;
import java.lang.annotation.Target;
@Target(ElementType.METHOD)
@interface ann2 {
public ann1[] value() default {};
public int i();
}
// FILE: a/ann3.java
package a;
import java.lang.annotation.ElementType;
import java.lang.annotation.Target;
@Target(ElementType.METHOD)
@interface ann3 {
public int value();
}
// FILE: a/def.java
package a;
public @interface def {
String firstDefault() default "firstDefault";
String secondDefault() default "secondDefault";
int notDefault();
}
@@ -0,0 +1,63 @@
package
package a {
public final annotation class ann : kotlin.Annotation {
public constructor ann(/*0*/ value: kotlin.reflect.KClass<(raw) kotlin.Any>)
public final val value: kotlin.reflect.KClass<(raw) 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
}
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER}) public/*package*/ final annotation class ann1 : kotlin.Annotation {
public/*package*/ constructor ann1(/*0*/ a: kotlin.String, /*1*/ i: kotlin.Int)
public final val a: kotlin.String
public final val i: kotlin.Int
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
}
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER}) public/*package*/ final annotation class ann2 : kotlin.Annotation {
public/*package*/ constructor ann2(/*0*/ vararg value: a.ann1 /*kotlin.Array<out a.ann1>*/ = ..., /*1*/ i: kotlin.Int)
public final val i: kotlin.Int
public final val value: kotlin.Array<a.ann1>
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
}
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER}) public/*package*/ final annotation class ann3 : kotlin.Annotation {
public/*package*/ constructor ann3(/*0*/ value: kotlin.Int)
public final val value: kotlin.Int
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 annotation class def : kotlin.Annotation {
public constructor def(/*0*/ firstDefault: kotlin.String = ..., /*1*/ secondDefault: kotlin.String = ..., /*2*/ notDefault: kotlin.Int)
public final val firstDefault: kotlin.String
public final val notDefault: kotlin.Int
public final val secondDefault: kotlin.String
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
}
@a.ann(value = kotlin.String::class) 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
@a.ann2(i = 42, value = {a.ann1(a = "ab", i = 2), a.ann1(a = "b", i = 2), a.ann1(a = "c", i = 3)}) public open fun method(): kotlin.String!
@a.ann3(value = 2) public open fun method2(): kotlin.String!
@a.def public open fun method3(): kotlin.String!
@a.def(value = 1) public open fun method4(): kotlin.String!
@a.def(firstDefault = "f", value = 5) public open fun method5(): kotlin.String!
@a.def(secondDefault = "s", value = 14) public open fun method6(): kotlin.String!
@a.def(firstDefault = "f", secondDefault = "s", value = 17) public open fun method7(): kotlin.String!
@a.def(value = 3) public open fun method8(): kotlin.String!
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 static final int I = 42;
}
// FILE: a/y.java
package a;
public class y {
public static final int I = 42;
}
// FILE: b/t.java
package b;
import static a.x.*;
import static a.y.*;
public class t {
public static final int CONST = I;
}
// FILE: b/t1.java
package b;
import static a.x.*;
import static a.x.*;
public class t1 {
public static final int CONST = I;
}
@@ -0,0 +1,47 @@
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
// Static members
public const final val I: kotlin.Int = 42
}
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
// Static members
public const final val I: kotlin.Int = 42
}
}
package b {
public open class t {
public constructor t()
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
// Static members
public const final val CONST: kotlin.Int
}
public open class t1 {
public constructor t1()
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
// Static members
public const final val CONST: kotlin.Int = 42
}
}
@@ -0,0 +1,25 @@
// FIR_IDENTICAL
// FILE: a/x.java
package a;
public interface x {
double D = Double.MAX_VALUE;
double D2 = D - 32.12111;
float F = Float.MAX_VALUE;
float F2 = F - 1231.965f;
int I = Integer.MAX_VALUE;
int I2 = I - 42;
byte B = Byte.MAX_VALUE;
byte B2 = B - 3;
long L = Long.MAX_VALUE;
long L2 = L - 5545342;
short S = Short.MAX_VALUE;
short S2 = S - 5;
}
@@ -0,0 +1,24 @@
package
package a {
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
// Static members
public const final val B: kotlin.Byte = 127.toByte()
public const final val B2: kotlin.Byte = 124.toByte()
public const final val D: kotlin.Double = 1.7976931348623157E308.toDouble()
public const final val D2: kotlin.Double = 1.7976931348623157E308.toDouble()
public const final val F: kotlin.Float = 3.4028235E38.toFloat()
public const final val F2: kotlin.Float = 3.4028235E38.toFloat()
public const final val I: kotlin.Int = 2147483647
public const final val I2: kotlin.Int = 2147483605
public const final val L: kotlin.Long = 9223372036854775807.toLong()
public const final val L2: kotlin.Long = 9223372036849230465.toLong()
public const final val S: kotlin.Short = 32767.toShort()
public const final val S2: kotlin.Short = 32762.toShort()
}
}
@@ -0,0 +1,16 @@
// FIR_IDENTICAL
// FILE: a/x.java
package a;
public class x {
public static class y {
public static final int I = 42;
}
}
// FILE: b/x.java
package b;
public class x {
public static final int I = a.x.y.I;
}
@@ -0,0 +1,34 @@
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 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
// Static members
public const final val I: kotlin.Int = 42
}
}
}
package b {
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
// Static members
public const final val I: kotlin.Int = 42
}
}
@@ -0,0 +1,46 @@
// FIR_IDENTICAL
// FILE: a/x.java
package a;
public class x {
public static final String STR = "STR";
public static final String STR2 = "STR" + STR;
public static final int I = (15 / 5) + 3;
public static final int IMAX = Integer.MAX_VALUE;
public static final int I2 = Integer.MIN_VALUE + x.IMAX - 1;
public static final double D = 25.0 - 15.0;
public static final String NULL = null;
public static final int VAL = 15 % 3;
public static final boolean VAL1 = false;
public static final boolean VAL2 = VAL1 && true;
public static final boolean VAL3 = VAL1 || VAL2;
public static final boolean VAL4 = I > I2;
public static final boolean VAL5 = I < I2;
public static final boolean VAL6 = I <= D;
public static final boolean VAL7 = I >= D;
public static final boolean VAL8 = VAL1 == VAL2;
public static final boolean VAL9 = VAL1 != VAL2;
public static final boolean VAL10 = !VAL9;
public static final boolean VAL11 = STR instanceof String;
public static final byte B = 10>>1;
public static final byte B1 = 10<<1;
public static final byte B2 = 1 & 0;
public static final byte B3 = 1 | 0;
public static final byte B4 = ~1;
public static final byte B5 = 1 ^ 1;
public static final byte B6 = B>>>1;
}
// FILE: test.kt
package a
val v1 = x.STR
val v2 = x.STR2
val v3 = x.I
val v4 = x.IMAX
val v5 = x.I2
val v6 = x.D
val v7 = x.NULL
val v8 = x.VAL
@@ -0,0 +1,47 @@
package
package a {
public val v1: kotlin.String = "STR"
public val v2: kotlin.String = "STRSTR"
public val v3: kotlin.Int = 6
public val v4: kotlin.Int = 2147483647
public val v5: kotlin.Int = -2
public val v6: kotlin.Double = 10.0.toDouble()
public val v7: kotlin.String!
public val v8: kotlin.Int = 0
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
// Static members
public const final val B: kotlin.Byte = 5.toByte()
public const final val B1: kotlin.Byte = 20.toByte()
public const final val B2: kotlin.Byte = 0.toByte()
public const final val B3: kotlin.Byte = 1.toByte()
public const final val B4: kotlin.Byte = -2.toByte()
public const final val B5: kotlin.Byte = 0.toByte()
public const final val B6: kotlin.Byte = 2.toByte()
public const final val D: kotlin.Double = 10.0.toDouble()
public const final val I: kotlin.Int = 6
public const final val I2: kotlin.Int = -2
public const final val IMAX: kotlin.Int = 2147483647
public const final val NULL: kotlin.String!
public const final val STR: kotlin.String = "STR"
public const final val STR2: kotlin.String = "STRSTR"
public const final val VAL: kotlin.Int = 0
public const final val VAL1: kotlin.Boolean = false
public const final val VAL10: kotlin.Boolean = true
public const final val VAL11: kotlin.Boolean
public const final val VAL2: kotlin.Boolean = false
public const final val VAL3: kotlin.Boolean = false
public const final val VAL4: kotlin.Boolean = true
public const final val VAL5: kotlin.Boolean = false
public const final val VAL6: kotlin.Boolean = true
public const final val VAL7: kotlin.Boolean = false
public const final val VAL8: kotlin.Boolean = true
public const final val VAL9: kotlin.Boolean = false
}
}
@@ -0,0 +1,27 @@
// FIR_IDENTICAL
// FILE: test.kt
package a
const val CONST = "CONST"
open class Test {
companion object {
const val CONST = 42
}
}
// FILE: a/x.java
package a;
public class x {
public static final String CONST1 = TestKt.CONST;
public static final int CONST2 = Test.CONST;
public class y extends Test {
public static final int I = CONST;
}
}
@@ -0,0 +1,41 @@
package
package a {
public const val CONST: kotlin.String = "CONST"
public open class Test {
public constructor Test()
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 companion object Companion {
private constructor Companion()
public const final val CONST: kotlin.Int = 42
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 y : a.Test {
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
// Static members
public const final val I: kotlin.Int = 42
}
// Static members
public const final val CONST1: kotlin.String = "CONST"
public const final val CONST2: kotlin.Int = 42
}
}
@@ -0,0 +1,39 @@
// FIR_IDENTICAL
// FILE: a/x.java
package a;
public class x {
public static final int I = 42;
public class Inner {
public static final int I2 = I;
public class Inner2 {
public static final int I = x.I + I2;
public class Inner3 extends Inner {
public static final int CONST = I;
}
}
}
public static class Nested {
public static final int I2 = I;
public static class Nested2 {
public static final int I3 = I2;
public static final int I4 = 42;
public class Inner {
public static final int I5 = I4;
}
}
}
}
@@ -0,0 +1,76 @@
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 Inner {
public constructor Inner()
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 Inner2 {
public constructor Inner2()
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 Inner3 : a.x.Inner {
public constructor Inner3()
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
// Static members
public const final val CONST: kotlin.Int = 84
public const final override /*1*/ /*fake_override*/ val I2: kotlin.Int = 42
}
// Static members
public const final val I: kotlin.Int = 84
}
// Static members
public const final val I2: kotlin.Int = 42
}
public open class Nested {
public constructor Nested()
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 Nested2 {
public constructor Nested2()
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 {
public constructor Inner()
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
// Static members
public const final val I5: kotlin.Int = 42
}
// Static members
public const final val I3: kotlin.Int = 42
public const final val I4: kotlin.Int = 42
}
// Static members
public const final val I2: kotlin.Int = 42
}
// Static members
public const final val I: kotlin.Int = 42
}
}
@@ -0,0 +1,24 @@
// FIR_IDENTICAL
// FILE: a/x.java
package a;
public class x {
public static final int CONST = 42;
}
// FILE: a/y.java
package a;
public class y extends x {
public static final int O = CONST;
}
// FILE: a/z.java
package a;
public class z {
public static final int I = y.CONST;
public static final int O = y.O;
}
@@ -0,0 +1,36 @@
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
// Static members
public const final val CONST: kotlin.Int = 42
}
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
// Static members
public const final override /*1*/ /*fake_override*/ val CONST: kotlin.Int = 42
public const final val O: kotlin.Int = 42
}
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
// Static members
public const final val I: kotlin.Int = 42
public const final val O: kotlin.Int = 42
}
}
@@ -0,0 +1,28 @@
// FIR_IDENTICAL
// FILE: a/X.java
package a;
public interface X {
int I = 42;
interface Y extends X {
int O = I;
class XY implements X, Y {
public static final int I = O + X.I;
public class XYZ extends XY implements Y {
int O = I;
}
}
}
class C {
public static final double Pi = 3.14;
interface I {
double Pi = 41.3;
class Z {
public static final double CONST = Pi;
}
}
}
}
@@ -0,0 +1,76 @@
package
package a {
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 C {
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/*package*/ 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
// Static members
public const final val CONST: kotlin.Double = 41.3.toDouble()
}
// Static members
public const final val Pi: kotlin.Double = 41.3.toDouble()
}
// Static members
public const final val Pi: kotlin.Double = 3.14.toDouble()
}
public interface Y : 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 XY : a.X, a.X.Y {
public constructor XY()
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
public open inner class XYZ : a.X.Y.XY, a.X.Y {
public constructor XYZ()
public/*package*/ final var O: kotlin.Int
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
// Static members
public const final override /*1*/ /*fake_override*/ val I: kotlin.Int = 84
public const final override /*1*/ /*fake_override*/ val I: kotlin.Int = 42
public const final override /*2*/ /*fake_override*/ val O: kotlin.Int = 42
}
// Static members
public const final val I: kotlin.Int = 84
public const final override /*1*/ /*fake_override*/ val O: kotlin.Int = 42
}
// Static members
public const final override /*1*/ /*fake_override*/ val I: kotlin.Int = 42
public const final val O: kotlin.Int = 42
}
// Static members
public const final val I: kotlin.Int = 42
}
}
@@ -0,0 +1,77 @@
// FIR_IDENTICAL
// FILE: a/x.java
package a;
public class x {
public static final int I = 42;
}
// FILE: a/y.java
package a;
public class y extends x {
public static final int I = x.I * 2;
public class Inner {
public static final int Y = I;
}
public class Inner2 extends x {
public static final int Y = I;
}
}
// FILE: b/b.java
package b;
public class b {
public static final int I = 84;
}
// FILE: c/c.java
package c;
import static a.x.I;
import static b.b.*;
public class c extends a.x {
public static final int O = I;
public class Inner {
public static final int O = I;
}
}
// FILE: c/e.java
package c;
import static a.x.I;
public class e extends a.x {
public static final int O = I;
public class Inner {
public static final int O = I;
}
}
// FILE: c/d.java
package c;
import static b.b.*;
public class d extends a.x {
public static final int O = I;
public class Inner {
public static final int O = I;
}
}
@@ -0,0 +1,124 @@
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
// Static members
public const final val I: kotlin.Int = 42
}
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
public open inner class Inner {
public constructor Inner()
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
// Static members
public const final val Y: kotlin.Int = 84
}
public open inner class Inner2 : a.x {
public constructor Inner2()
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
// Static members
public const final override /*1*/ /*fake_override*/ val I: kotlin.Int = 42
public const final val Y: kotlin.Int = 42
}
// Static members
public const final val I: kotlin.Int = 84
}
}
package b {
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
// Static members
public const final val I: kotlin.Int = 84
}
}
package c {
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 Inner {
public constructor Inner()
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
// Static members
public const final val O: kotlin.Int = 42
}
// Static members
public const final override /*1*/ /*fake_override*/ val I: kotlin.Int = 42
public const final val O: kotlin.Int = 42
}
public open class d : a.x {
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 inner class Inner {
public constructor Inner()
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
// Static members
public const final val O: kotlin.Int = 42
}
// Static members
public const final override /*1*/ /*fake_override*/ val I: kotlin.Int = 42
public const final val O: kotlin.Int = 42
}
public open class e : a.x {
public constructor e()
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 {
public constructor Inner()
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
// Static members
public const final val O: kotlin.Int = 42
}
// Static members
public const final override /*1*/ /*fake_override*/ val I: kotlin.Int = 42
public const final val O: kotlin.Int = 42
}
}
@@ -0,0 +1,39 @@
// FIR_IDENTICAL
// FILE: a/x.java
package a;
public class x {
public static final int I = 42;
}
// FILE: a/y.java
package a;
public interface y {
int I = 84;
}
// FILE: a/y2.java
package a;
public class y2 implements y {
public static final int I = 168;
}
// FILE: a/z.java
package a;
public class z extends x implements y {}
// FILE: a/z1.java
package a;
public class z1 extends y2 implements y {}
// FILE: a/a.java
package a;
public class a {
public static final int I = z.I;
public static final int I2 = z1.I;
}
@@ -0,0 +1,66 @@
package
package a {
public open class a {
public constructor a()
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
// Static members
public const final val I: kotlin.Int
public const final val I2: kotlin.Int = 168
}
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
// Static members
public const final val I: kotlin.Int = 42
}
public interface 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
// Static members
public const final val I: kotlin.Int = 84
}
public open class y2 : a.y {
public constructor y2()
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
// Static members
public const final val I: kotlin.Int = 168
}
public open class z : a.x, a.y {
public constructor z()
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
// Static members
public const final override /*1*/ /*fake_override*/ val I: kotlin.Int = 42
public const final override /*1*/ /*fake_override*/ val I: kotlin.Int = 84
}
public open class z1 : a.y2, a.y {
public constructor z1()
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
// Static members
public const final override /*1*/ /*fake_override*/ val I: kotlin.Int = 168
public const final override /*1*/ /*fake_override*/ val I: kotlin.Int = 84
}
}
@@ -0,0 +1,29 @@
// FIR_IDENTICAL
// FILE: a/x.java
package a;
public class x {
public static final int I = 42;
public static final int I1 = 42;
public static final int I2 = I + I1;
}
// FILE: b/y.java
package b;
import static a.x.I;
public class y {
public static final int O = I;
}
// FILE: b/z.java
package b;
import static a.x.*;
public class z {
public static final int CONST = I + I1 + I2;
}
@@ -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
// Static members
public const final val I: kotlin.Int = 42
public const final val I1: kotlin.Int = 42
public const final val I2: kotlin.Int = 84
}
}
package b {
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
// Static members
public const final val O: kotlin.Int = 42
}
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
// Static members
public const final val CONST: kotlin.Int = 168
}
}
@@ -0,0 +1,34 @@
// FIR_IDENTICAL
// FILE: a/x.java
package a;
public class x {
public static final int I = 42;
}
// FILE: a/y.java
package a;
public class y {
public static final int I = 42;
}
// FILE: b/t.java
package b;
import static a.x.I;
import static a.y.I;
public class t {
public static final int CONST = I;
}
// FILE: b/t1.java
package b;
import static a.x.I;
import static a.x.I;
public class t1 {
public static final int CONST = I;
}
@@ -0,0 +1,47 @@
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
// Static members
public const final val I: kotlin.Int = 42
}
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
// Static members
public const final val I: kotlin.Int = 42
}
}
package b {
public open class t {
public constructor t()
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
// Static members
public const final val CONST: kotlin.Int
}
public open class t1 {
public constructor t1()
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
// Static members
public const final val CONST: kotlin.Int = 42
}
}
@@ -0,0 +1,27 @@
// FILE: a/x.java
package a;
public class x {}
// FILE: b/x.java
package b;
public class x {}
// FILE: c/d.java
package c;
import a.*;
import b.*;
public class d {
public x x() { return null; }
}
// FILE: c/c.kt
package c
import a.*
import b.*
fun test(): x = d().x()
@@ -0,0 +1,27 @@
// FILE: a/x.java
package a;
public class x {}
// FILE: b/x.java
package b;
public class x {}
// FILE: c/d.java
package c;
import a.*;
import b.*;
public class d {
public x x() { return null; }
}
// FILE: c/c.kt
package c
import a.*
import b.*
fun test(): <!UNRESOLVED_REFERENCE!>x<!> = d().<!MISSING_DEPENDENCY_CLASS!>x<!>()
@@ -0,0 +1,33 @@
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
}
}
package b {
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
}
}
package c {
public fun test(): [ERROR : x]
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 fun x(): x!
}
}
@@ -0,0 +1,27 @@
// FIR_IDENTICAL
// FILE: a/X.java
package a;
public class X {}
// FILE: b/X.java
package b;
public class X {}
// FILE: c/Test.java
package c;
import a.X;
import b.*;
public class Test {
public X test() { return null; };
}
// FILE: c.kt
package c
fun test() = Test().test()
@@ -0,0 +1,33 @@
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
}
}
package b {
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
}
}
package c {
public fun test(): a.X!
public open class Test {
public constructor Test()
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 fun test(): a.X!
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -0,0 +1,32 @@
// FIR_IDENTICAL
// SKIP_JAVAC
// FILE: b.kt
package b
object O {}
// FILE: c.kt
package c
object O {}
// FILE: a/a.java
package a;
import b.O;
import c.O;
public abstract class a {
public O getO() { return null; }
}
// FILE: a.kt
package d
import a.a
class A : a()
fun test() = A().getO()
@@ -0,0 +1,44 @@
package
package a {
public abstract class a {
public constructor a()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getO(): b.O!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
package b {
public object O {
private 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
}
}
package c {
public object O {
private 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
}
}
package d {
public fun test(): b.O!
public final class A : a.a {
public constructor A()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun getO(): b.O!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -0,0 +1,26 @@
// FIR_IDENTICAL
// FILE: a/X.java
package a;
public class X {}
// FILE: b/X.java
package b;
public class X {}
// FILE: b/A.java
package b;
import a.*;
public class A {
public X getX() { return null; }
}
// FILE: b.kt
package b
fun test() = A().getX()
@@ -0,0 +1,30 @@
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
}
}
package b {
public fun test(): b.X!
public open class A {
public constructor A()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getX(): b.X!
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
}
}
@@ -0,0 +1,28 @@
// FIR_IDENTICAL
// FILE: a/Y.java
package a;
public class Y {
public void test() {}
}
// FILE: b/Y.java
package b;
public class Y {}
// FILE: b/T.java
package b;
import a.Y;
public class T {
public Y getY() { return null; }
}
// FILE: b/b.kt
package b
fun test() = T().getY().test()
@@ -0,0 +1,31 @@
package
package a {
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 fun test(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
package b {
public fun test(): kotlin.Unit
public open class T {
public constructor T()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getY(): a.Y!
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
}
}
@@ -0,0 +1,31 @@
// FIR_IDENTICAL
// FILE: a/X.java
package a;
public class X {
public void test() {}
public static class Y {}
}
// FILE: b/Y.java
package b;
public class Y {}
// FILE: b/T.java
package b;
import a.X.Y;
public class T {
public Y getY() { return null; }
}
// FILE: b/b.kt
package b
fun test() = T().getY()
@@ -0,0 +1,38 @@
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 fun test(): kotlin.Unit
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
}
}
}
package b {
public fun test(): a.X.Y!
public open class T {
public constructor T()
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 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
}
}
@@ -0,0 +1,31 @@
// FIR_IDENTICAL
// FILE: a/X.java
package a;
public class X {
public void test() {}
public static class Y {}
}
// FILE: b/Y.java
package b;
public class Y {}
// FILE: b/T.java
package b;
import a.X.*;
public class T {
public Y getY() { return null; }
}
// FILE: b/b.kt
package b
fun test() = T().getY()
@@ -0,0 +1,38 @@
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 fun test(): kotlin.Unit
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
}
}
}
package b {
public fun test(): b.Y!
public open class T {
public constructor T()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getY(): 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 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
}
}
@@ -0,0 +1,26 @@
// FIR_IDENTICAL
// FILE: a/x.java
package a;
public class x<T> {}
// FILE: b/x.java
package b;
public class x {}
// FILE: b/test.java
package b;
import a.x;
public class test {
public x<?> getX() { return null; }
}
// FILE: b/test.kt
package b
fun test1() = test().getX()
@@ -0,0 +1,30 @@
package
package a {
public open class x</*0*/ T : kotlin.Any!> {
public constructor x</*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
}
}
package b {
public fun test1(): a.x<*>!
public open class test {
public constructor test()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getX(): a.x<*>!
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
}
}
@@ -0,0 +1,19 @@
// FILE: p/Foo.java
package p;
public class Foo {
protected static class Nested {}
}
// FILE: foo.kt
package a
import p.Foo
import p.Foo.Nested
class Bar : Foo() {
protected fun foo(): Nested? = null
}
private fun foo(): Nested? = null
private fun bar(): p.Foo.Nested? = null
@@ -0,0 +1,19 @@
// FILE: p/Foo.java
package p;
public class Foo {
protected static class Nested {}
}
// FILE: foo.kt
package a
import p.Foo
import p.Foo.Nested
class Bar : Foo() {
protected fun foo(): Nested? = null
}
private fun foo(): <!INVISIBLE_REFERENCE!>Nested<!>? = null
private fun bar(): p.Foo.<!INVISIBLE_REFERENCE!>Nested<!>? = null
@@ -0,0 +1,31 @@
package
package a {
private fun bar(): p.Foo.Nested?
private fun foo(): p.Foo.Nested?
public final class Bar : p.Foo {
public constructor Bar()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
protected final fun foo(): p.Foo.Nested?
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
package p {
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
protected/*protected static*/ open class Nested {
protected/*protected and package*/ constructor Nested()
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,22 @@
// FIR_IDENTICAL
// FILE: weatherForecast/Weather.java
package weatherForecast;
public class Weather {
public void test() {}
}
// FILE: a/a.java
package a;
import weatherForecast.Weather;
import weatherForecast.Weather;
public class a {
public Weather forecast() { return null; }
}
// FILE: a.kt
package a
fun test() = a().forecast().test()
@@ -0,0 +1,24 @@
package
package a {
public fun test(): kotlin.Unit
public open class a {
public constructor a()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun forecast(): weatherForecast.Weather!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
package weatherForecast {
public open class Weather {
public constructor Weather()
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 fun test(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -0,0 +1,22 @@
// FIR_IDENTICAL
// FILE: weatherForecast/Weather.java
package weatherForecast;
public class Weather {
public void test() {}
}
// FILE: a/A.java
package a;
import weatherForecast.*;
import weatherForecast.*;
public class A {
public Weather getWeather() { return null; }
}
// FILE: a.kt
package a
fun test() = A().getWeather().test()
@@ -0,0 +1,24 @@
package
package a {
public fun test(): kotlin.Unit
public open class A {
public constructor A()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getWeather(): weatherForecast.Weather!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
package weatherForecast {
public open class Weather {
public constructor Weather()
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 fun test(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -0,0 +1,38 @@
// SKIP_JAVAC
// FILE: a/B.java
package a;
public class B {}
// FILE: a/D.java
package a;
public class D {
public static class B {}
}
// FILE: b/A1.java
package b;
import a.B;
import a.D.B;
public class A1 {
public B getB() { return null; }
}
// FILE: b/A2.java
package b;
import a.*;
import a.D.*;
public class A2 {
public B getB() { return null; }
}
// FILE: a.kt
package b
fun test() = A1().getB()
fun test2() = A2().getB()
@@ -0,0 +1,38 @@
// SKIP_JAVAC
// FILE: a/B.java
package a;
public class B {}
// FILE: a/D.java
package a;
public class D {
public static class B {}
}
// FILE: b/A1.java
package b;
import a.B;
import a.D.B;
public class A1 {
public B getB() { return null; }
}
// FILE: b/A2.java
package b;
import a.*;
import a.D.*;
public class A2 {
public B getB() { return null; }
}
// FILE: a.kt
package b
fun test() = A1().getB()
fun test2() = A2().<!MISSING_DEPENDENCY_CLASS!>getB<!>()
@@ -0,0 +1,46 @@
package
package a {
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 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 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
}
}
}
package b {
public fun test(): a.B!
public fun test2(): B!
public open class A1 {
public constructor A1()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getB(): a.B!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class A2 {
public constructor A2()
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,40 @@
// SKIP_JAVAC
// FILE: a/A.java
package a;
public class A {
public static class B {}
}
// FILE: a/D.java
package a;
public class D {
public static class B {}
}
// FILE: b/A1.java
package b;
import a.A.B;
import a.D.B;
public class A1 {
public B getB() { return null; }
}
// FILE: b/A2.java
package b;
import a.A.*;
import a.D.*;
public class A2 {
public B getB() { return null; }
}
// FILE: a.kt
package b
fun test() = A1().getB()
fun test2() = A2().getB()
@@ -0,0 +1,40 @@
// SKIP_JAVAC
// FILE: a/A.java
package a;
public class A {
public static class B {}
}
// FILE: a/D.java
package a;
public class D {
public static class B {}
}
// FILE: b/A1.java
package b;
import a.A.B;
import a.D.B;
public class A1 {
public B getB() { return null; }
}
// FILE: b/A2.java
package b;
import a.A.*;
import a.D.*;
public class A2 {
public B getB() { return null; }
}
// FILE: a.kt
package b
fun test() = A1().getB()
fun test2() = A2().<!MISSING_DEPENDENCY_CLASS!>getB<!>()
@@ -0,0 +1,53 @@
package
package a {
public open class A {
public constructor A()
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 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 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
}
}
}
package b {
public fun test(): a.A.B!
public fun test2(): B!
public open class A1 {
public constructor A1()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getB(): a.A.B!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class A2 {
public constructor A2()
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 {}
// FILE: b/x.java
package b;
public class x {}
// FILE: c/x.java
package c;
public class x {}
// FILE: c/y.java
package c;
import a.x;
import b.*;
public class y {
public x getX() { return null; }
}
// FILE: c/test.kt
package c
fun test() = y().getX()
@@ -0,0 +1,40 @@
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
}
}
package b {
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
}
}
package c {
public fun test(): a.x!
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 y {
public constructor y()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getX(): a.x!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -0,0 +1,19 @@
// FILE: p/Foo.java
package p;
class Foo {
public static class Nested {}
}
// FILE: foo.kt
package a
import p.Foo
import p.Foo.Nested
class Bar : <!EXPOSED_SUPER_CLASS, HIDDEN!>Foo<!>() {
protected fun <!EXPOSED_FUNCTION_RETURN_TYPE!>foo<!>(): Nested? = null
}
private fun foo(): Nested? = null
private fun bar(): p.Foo.Nested? = null
@@ -0,0 +1,19 @@
// FILE: p/Foo.java
package p;
class Foo {
public static class Nested {}
}
// FILE: foo.kt
package a
import p.<!INVISIBLE_REFERENCE!>Foo<!>
import p.<!INVISIBLE_REFERENCE!>Foo<!>.Nested
class Bar : <!EXPOSED_SUPER_CLASS!><!INVISIBLE_MEMBER, INVISIBLE_REFERENCE!>Foo<!>()<!> {
protected fun <!EXPOSED_FUNCTION_RETURN_TYPE!>foo<!>(): <!INVISIBLE_REFERENCE!>Nested<!>? = null
}
private fun foo(): <!INVISIBLE_REFERENCE!>Nested<!>? = null
private fun bar(): p.<!INVISIBLE_REFERENCE!>Foo<!>.<!INVISIBLE_REFERENCE!>Nested<!>? = null
@@ -0,0 +1,31 @@
package
package a {
private fun bar(): p.Foo.Nested?
private fun foo(): p.Foo.Nested?
public final class Bar : p.Foo {
public constructor Bar()
invisible_fake open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
protected final fun foo(): p.Foo.Nested?
invisible_fake open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
invisible_fake open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
package p {
public/*package*/ open class Foo {
public/*package*/ 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
public open class Nested {
public constructor Nested()
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,43 @@
// FIR_IDENTICAL
// FILE: a/b.java
package a;
public class b {
public void a_b() {}
public class c {
public void a_bc() {}
}
}
// FILE: a.java
public class a {
public void _a() {}
public class b {
public void _ab() {}
}
}
// FILE: c.java
import a.b;
public class c {
public b getB() { return null; }
}
// FILE: c2.java
public class c2 {
public a.b getB() { return null; }
}
// FILE: e.kt
fun test() = c().getB().c().a_bc()
fun test2() = c2().getB()._ab()
@@ -0,0 +1,55 @@
package
public fun test(): kotlin.Unit
public fun test2(): kotlin.Unit
public open class a {
public constructor a()
public open fun _a(): kotlin.Unit
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 b {
public constructor b()
public open fun _ab(): kotlin.Unit
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 {
public constructor c()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getB(): a.b!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class c2 {
public constructor c2()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getB(): a.b!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
package a {
public open class b {
public constructor b()
public open fun a_b(): kotlin.Unit
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 c {
public constructor c()
public open fun a_bc(): kotlin.Unit
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,47 @@
// FIR_IDENTICAL
// FILE: foo/a/b.java
package foo.a;
public class b {
public void a_b() {}
public class c {
public void a_bc() {}
}
}
// FILE: foo/a.java
package foo;
public class a {
public void _a() {}
public class b {
public void _ab() {}
}
}
// FILE: foo/c.java
package foo;
import foo.a.b;
public class c {
public b getB() { return null; }
}
// FILE: foo/c2.java
package foo;
public class c2 {
public a.b getB() { return null; }
}
// FILE: e.kt
package foo
fun test() = c().getB().c().a_bc()
fun test2() = c2().getB()._ab()
@@ -0,0 +1,57 @@
package
package foo {
public fun test(): kotlin.Unit
public fun test2(): kotlin.Unit
public open class a {
public constructor a()
public open fun _a(): kotlin.Unit
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 b {
public constructor b()
public open fun _ab(): kotlin.Unit
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 {
public constructor c()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getB(): foo.a.b!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class c2 {
public constructor c2()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getB(): foo.a.b!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
package foo.a {
public open class b {
public constructor b()
public open fun a_b(): kotlin.Unit
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 c {
public constructor c()
public open fun a_bc(): kotlin.Unit
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,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()

Some files were not shown because too many files have changed in this diff Show More