javac-wrapper: refactoring, fixes and tests

This commit is contained in:
baratynskiy
2017-06-27 17:24:10 +03:00
committed by Alexander Baratynskiy
parent 8494e54608
commit 01883a41cb
382 changed files with 42897 additions and 688 deletions
@@ -0,0 +1,52 @@
// 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; }
}
// 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();
}
@@ -0,0 +1,47 @@
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
}
@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!
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -0,0 +1,45 @@
// 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 @@
// 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,26 @@
// 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,30 @@
// 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().<!MISSING_DEPENDENCY_CLASS!>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(): 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(): 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(): O!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -0,0 +1,25 @@
// 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,27 @@
// 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,30 @@
// 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,30 @@
// 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,25 @@
// 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(): <!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,21 @@
// 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,21 @@
// 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,37 @@
// 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().<!MISSING_DEPENDENCY_CLASS!>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(): 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(): 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,39 @@
// 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().<!MISSING_DEPENDENCY_CLASS!>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(): 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(): 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,31 @@
// 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.<!INVISIBLE_REFERENCE!>Foo<!>
import p.<!INVISIBLE_REFERENCE!>Foo<!>.Nested
class Bar : <!EXPOSED_SUPER_CLASS!><!INVISIBLE_REFERENCE, INVISIBLE_MEMBER!>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,42 @@
// 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,46 @@
// 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,19 @@
// 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().<!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().<!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().<!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().<!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,37 @@
// 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,30 @@
// 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,24 @@
// 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,29 @@
// 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,31 @@
// 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,31 @@
// 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,24 @@
// 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,26 @@
// 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,43 @@
// 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,47 @@
// FILE: a/x.java
package a;
public class x {
private 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,73 @@
package
package a {
public fun test1(): a.i2.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(): a.i2.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
private open inner class 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
}
}
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,49 @@
// 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: b/test.java
package b;
import a.*;
public class test extends x2 implements i3 {
public O getO() { return null; }
}
// FILE: test.kt
package b
fun test1() = test().getO()
@@ -0,0 +1,76 @@
package
package a {
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 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
}
}
package b {
public fun test1(): a.i2.O!
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(): a.i2.O!
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -0,0 +1,33 @@
// 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,34 @@
// FILE: a/x.java
package a;
public class x {
public class O {}
}
// FILE: a/i.java
package a;
public interface i {
public class Z {}
}
// FILE: a/i2.java
package a;
public interface i2 extends i {
public class Z {}
}
// FILE: a/test.java
package a;
public class test extends x implements i2 {
public Z getZ() { return null; }
public O getO() { return null; }
}
// FILE: test.kt
package a
fun test1() = test().getZ()
fun test2() = test().getO()
@@ -0,0 +1,55 @@
package
package a {
public fun test1(): a.i2.Z!
public fun test2(): a.x.O!
public interface i {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public open class Z {
public constructor Z()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
public interface i2 : a.i {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public open class Z {
public constructor Z()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
public open class test : a.x, a.i2 {
public constructor test()
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getO(): a.x.O!
public open fun getZ(): a.i2.Z!
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class x {
public constructor x()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public open inner class O {
public constructor O()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
}
@@ -0,0 +1,22 @@
// FILE: a/Parent.java
package a;
public interface Parent {
public class Foo {}
}
// FILE: a/Outer.java
package a;
public class Outer<Foo> {
public class Inner implements Parent {
public Foo bar() {
return null;
}
}
}
// FILE: test.kt
package a
fun test() = Outer<String>().Inner().bar()
@@ -0,0 +1,33 @@
package
package a {
public fun test(): a.Parent.Foo!
public open class Outer</*0*/ Foo : kotlin.Any!> {
public constructor Outer</*0*/ Foo : kotlin.Any!>()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public open inner class Inner /*captured type parameters: /*0*/ Foo : kotlin.Any!*/ : a.Parent {
public constructor Inner()
public open fun bar(): a.Parent.Foo!
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
public interface Parent {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public open class Foo {
public constructor Foo()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
}
@@ -0,0 +1,38 @@
// FILE: p1/I.java
package p1;
public interface I {}
// FILE: p2/I.java
package p2;
public class I {}
// FILE: p/X.java
package p;
import p1.*;
import p2.I;
public class X {
public class I1<I> {
public I getI() { return null; }
}
public static class N {
public I getI() { return null; }
public class I<I> {
public I getI() { return null; }
}
}
public class I {
public I getI() { return null; }
}
public I getI() { return null; }
}
@@ -0,0 +1,63 @@
package
package p {
public open class X {
public constructor X()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getI(): p.X.I!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public open inner class I {
public constructor I()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getI(): p.X.I!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open inner class I1</*0*/ I : kotlin.Any!> {
public constructor I1</*0*/ I : kotlin.Any!>()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getI(): I!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class N {
public constructor N()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getI(): p.X.N.I<(raw) kotlin.Any!>!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public open inner class I</*0*/ I : kotlin.Any!> {
public constructor I</*0*/ I : kotlin.Any!>()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getI(): I!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
}
}
package p1 {
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
}
}
package p2 {
public open 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
}
}
@@ -0,0 +1,41 @@
// FILE: p1/I.java
package p1;
public interface I {}
// FILE: p2/I.java
package p2;
public class I {}
// FILE: p/X.java
package p;
import p1.*;
import p2.I;
public class X {
public class I1<I> {
public I getI() { return null; }
}
public class N {
public I getI() { return null; }
public class I {}
private class M<I, I1> {
public I getI() { return null; }
public I1 getI1() { return null; }
class I1 {
I1 getI1() { return null; }
}
}
}
public I getI() { return null; }
}
@@ -0,0 +1,71 @@
package
package p {
public open class X {
public constructor X()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getI(): p2.I!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public open inner class I1</*0*/ I : kotlin.Any!> {
public constructor I1</*0*/ I : kotlin.Any!>()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getI(): I!
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 {
public constructor N()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getI(): p.X.N.I!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public open 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
}
private open inner class M</*0*/ I : kotlin.Any!, /*1*/ I1 : kotlin.Any!> {
private constructor M</*0*/ I : kotlin.Any!, /*1*/ I1 : kotlin.Any!>()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getI(): I!
public open fun getI1(): I1!
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 I1 /*captured type parameters: /*0*/ I : kotlin.Any!, /*1*/ I1 : kotlin.Any!*/ {
public/*package*/ constructor I1()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public/*package*/ open fun getI1(): p.X.N.M<I!, I1!>.I1!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
}
}
}
package p1 {
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
}
}
package p2 {
public open 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
}
}
@@ -0,0 +1,25 @@
// FILE: a/x.java
package a;
public class x {
public b getB() { return null; }
public class b {
public b getB() { return null; }
}
}
// FILE: a/b.java
package a;
public class b {}
// FILE: test/test.kt
package test
import a.x
fun test() = x().getB()
fun test2() = test().getB()
@@ -0,0 +1,32 @@
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 x {
public constructor x()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getB(): a.x.b!
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 override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getB(): a.x.b!
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.b!
public fun test2(): a.x.b!
}
@@ -0,0 +1,48 @@
// FILE: a/x.java
package a;
public class x {
public b getB() { return null; }
public static class b {
public b getB() { return null; }
public static class b {
public b getB() { return null; }
public static class b {
public b getB() { return null; }
}
}
}
}
// FILE: b/x.java
package b;
import a.x.b.b.b;
public class x {
public b getB() { return null; }
}
// FILE: b/y.java
package b;
import a.x.b.b.*;
public class y {
public b getB() { return null; }
}
// FILE: b/test.kt
package b
fun test() = x().getB()
fun test2() = y().getB()
@@ -0,0 +1,57 @@
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 fun getB(): a.x.b!
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 fun getB(): a.x.b.b!
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 fun getB(): a.x.b.b.b!
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 fun getB(): a.x.b.b.b!
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.b.b.b!
public fun test2(): a.x.b.b.b!
public open class x {
public constructor x()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getB(): a.x.b.b.b!
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 getB(): a.x.b.b.b!
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 b getB() { return null; }
public class b {
public b getB() { return null; }
public class b {
public b getB() { return null; }
}
}
}
// FILE: test.kt
package a
fun test() = x().getB()
fun test2() = test().getB()
fun test3() = test2().getB()
@@ -0,0 +1,31 @@
package
package a {
public fun test(): a.x.b!
public fun test2(): a.x.b.b!
public fun test3(): a.x.b.b!
public open class x {
public constructor x()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getB(): a.x.b!
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 override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getB(): a.x.b.b!
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 override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getB(): a.x.b.b!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
}
}
@@ -0,0 +1,23 @@
// FILE: p/p.kt;
package p
object Object {
sealed class Sealed1 {
sealed class Sealed2 {
}
}
}
// FILE: a/x.java
package a;
import p.Object;
public class x {
public Object.Sealed1.Sealed2 getSealed2() { return null; };
}
// FILE: test.kt
package a
fun test() = x().getSealed2()
@@ -0,0 +1,37 @@
package
package a {
public fun test(): p.Object.Sealed1.Sealed2!
public open class x {
public constructor x()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getSealed2(): p.Object.Sealed1.Sealed2!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
package p {
public object Object {
private constructor Object()
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 sealed class Sealed1 {
private constructor Sealed1()
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 sealed class Sealed2 {
private constructor Sealed2()
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,32 @@
// FILE: a/x.java
package a;
public class x {
public b getB() { return null; }
public static class b {
public b getB() { return null; }
public static class b {
public b getB() { return null; }
public static class b {
public b getB() { return null; }
}
}
}
}
// FILE: test.kt
package a
fun test() = x().getB()
fun test2() = test().getB()
fun test3() = test2().getB()
fun test4() = test3().getB()
@@ -0,0 +1,40 @@
package
package a {
public fun test(): a.x.b!
public fun test2(): a.x.b.b!
public fun test3(): a.x.b.b.b!
public fun test4(): a.x.b.b.b!
public open class x {
public constructor x()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getB(): a.x.b!
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 fun getB(): a.x.b.b!
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 fun getB(): a.x.b.b.b!
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 fun getB(): a.x.b.b.b!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
}
}
}
@@ -0,0 +1,55 @@
// FILE: a/b/c.java
package a.b;
public class c {
public void ab_c() {}
}
// FILE: a/b.java
package a;
public class b<T> {
public static class c {
public void a_bc() {}
}
}
// FILE: c/d.java
package c;
import a.b.c;
public class d {
public c getC() { return null; }
}
// FILE: c.kt
import a.b.c
import c.d
fun test(ab_c: c) {
ab_c.ab_c()
val ab_c2: a.b.c = a.b.c()
ab_c2.ab_c()
val ab_c3 = a.b.c()
ab_c3.ab_c()
}
fun test2(ab_c: a.b.c) {
ab_c.<!UNRESOLVED_REFERENCE!>a_bc<!>()
ab_c.ab_c()
}
fun test3() = d().getC()
fun test4() {
val ab_c = test3()
ab_c.ab_c()
val ab_c2 = test3()
ab_c2.<!UNRESOLVED_REFERENCE!>a_bc<!>()
}
@@ -0,0 +1,46 @@
package
public fun test(/*0*/ ab_c: a.b.c): kotlin.Unit
public fun test2(/*0*/ ab_c: a.b.c): kotlin.Unit
public fun test3(): a.b.c!
public fun test4(): kotlin.Unit
package a {
public open class b</*0*/ T : kotlin.Any!> {
public constructor b</*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 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
}
}
package a.b {
public open class c {
public constructor c()
public open fun ab_c(): 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
}
}
}
package c {
public open class d {
public constructor d()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getC(): a.b.c!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -0,0 +1,46 @@
// FILE: a/b/c.java
package a.b;
public class c {
public void ab_c() {}
}
// FILE: a/b.java
package a;
public class b {
public void a_b() {}
public static class c {
public void a_bc() {}
}
}
// FILE: d/d.java
package d;
public class d {
public a.b test() { return null; }
public a.b.c test2() { return null; }
}
// FILE: c.kt
fun t() = d.d().test()
fun t2() = d.d().test2()
fun test(a_b: a.b) {
a_b.a_b()
val ab_c = t2()
ab_c.<!UNRESOLVED_REFERENCE!>ab_c<!>()
ab_c.a_bc()
val ab_c2: a.b.c = t2()
ab_c2.<!UNRESOLVED_REFERENCE!>ab_c<!>()
ab_c2.a_bc()
}
fun test2() = t().a_b()
@@ -0,0 +1,48 @@
package
public fun t(): a.b!
public fun t2(): a.b.c!
public fun test(/*0*/ a_b: a.b): kotlin.Unit
public fun test2(): kotlin.Unit
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 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
}
}
package a.b {
public open class c {
public constructor c()
public open fun ab_c(): 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
}
}
}
package d {
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 fun test(): a.b!
public open fun test2(): a.b.c!
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -0,0 +1,47 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
// FILE: a/a.java
package a;
public class a {}
// FILE: a/b.java
package a;
public class b {
public void a_b() {}
}
// FILE: test/a.java
package test;
public class a {}
// FILE: test/d.java
package test;
public class d {
public a.b getB() { return null; }
}
// FILE: b.kt
package test
val x = d().<!MISSING_DEPENDENCY_CLASS!>getB<!>()
// FILE: test/c.java
package test;
import a.a;
public class c {
public static a getA() { return null; }
}
// FILE: c.kt
package test
fun foo() {
val a = c.getA()
a.<!UNRESOLVED_REFERENCE!>a<!>
a.<!UNRESOLVED_REFERENCE!>a<!>()
}
@@ -0,0 +1,49 @@
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 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
}
}
package test {
public val x: a.b!
public fun foo(): 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 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
// Static members
public open fun getA(): a.a!
}
public open class d {
public constructor d()
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
}
}
@@ -0,0 +1,55 @@
// FILE: a/b.java
package a;
public class b {
public void a_b() {}
}
// FILE: a.java
public class a {
public static class b {
public void _ab() {}
}
}
// FILE: some/c1.java
package some;
public class c1 {
public a.b test() { return null; }
}
// FILE: a/c2.java
package a;
public class c2 {
public a.b test() { return null; }
}
// FILE: c3.java
public class c3 {
public a.b test() { return null; }
}
// FILE: c1.kt
package some
fun test() {
val a_b = c1().test()
a_b.a_b()
}
// FILE: c2.kt
package a
fun test() {
val a_b = c2().test()
a_b.a_b()
}
// FILE: c3.kt
fun test() {
val _ab = c3().test()
_ab._ab()
}
@@ -0,0 +1,58 @@
package
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 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 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 c3 {
public constructor c3()
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.b!
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
package a {
public fun test(): kotlin.Unit
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 class c2 {
public constructor c2()
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.b!
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
package some {
public fun test(): kotlin.Unit
public open class c1 {
public constructor c1()
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.b!
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -0,0 +1,57 @@
// FILE: a/b.java
package a;
public class b {
public void a_b() {}
}
// FILE:some/a.java
package some;
public class a {
public static class b {
public void some_ab() {}
}
}
// FILE: c1.kt
package other
class a {}
fun test(<!UNUSED_PARAMETER!>a_<!>: a.<!UNRESOLVED_REFERENCE!>b<!>) {
val <!UNUSED_VARIABLE!>a_2<!> = a.<!UNRESOLVED_REFERENCE!>b<!>()
}
//FILE: c2.kt
package other2
class a {
class b {
fun other2_ab() {}
}
}
fun test(_ab: a.b) {
_ab.other2_ab()
val _ab2 = a.b()
_ab2.other2_ab()
}
// FILE: c3.kt
package some
fun test(_ab: a.b) {
_ab.some_ab()
val _ab2 = a.b()
_ab2.some_ab()
}
// FILE: c4.kt
package a
fun test(_b: b) {
_b.a_b()
}
@@ -0,0 +1,62 @@
package
package a {
public fun test(/*0*/ _b: a.b): kotlin.Unit
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
}
}
package other {
public fun test(/*0*/ a_: [ERROR : a.b]): kotlin.Unit
public final 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
}
}
package other2 {
public fun test(/*0*/ _ab: other2.a.b): kotlin.Unit
public final 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 final 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 final fun other2_ab(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
}
package some {
public fun test(/*0*/ _ab: some.a.b): 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 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 fun some_ab(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
}

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