[TEST] Migrate duplicating javac tests to new test runners

Also minimize scope of DiagnosticUsingJavac tests to
 `compiler/testData/diagnostics/tests/javac`. This is fine since
 javac compilation mode is still not finished and no one not going to
 support it
This commit is contained in:
Dmitriy Novozhilov
2020-12-15 15:22:48 +03:00
parent b44dc55109
commit 61302a2e08
156 changed files with 1631 additions and 35369 deletions
@@ -0,0 +1,27 @@
// FILE: a/x.java
package a;
public class x {}
// FILE: b/x.java
package b;
public class x {}
// FILE: c/d.java
package c;
import a.*;
import b.*;
public class d {
public x x() { return null; }
}
// FILE: c/c.kt
package c
import a.*
import b.*
fun test(): x = d().x()
@@ -0,0 +1,27 @@
// FILE: a/x.java
package a;
public class x {}
// FILE: b/x.java
package b;
public class x {}
// FILE: c/d.java
package c;
import a.*;
import b.*;
public class d {
public x x() { return null; }
}
// FILE: c/c.kt
package c
import a.*
import b.*
fun test(): <!UNRESOLVED_REFERENCE!>x<!> = d().<!MISSING_DEPENDENCY_CLASS!>x<!>()
@@ -0,0 +1,33 @@
package
package a {
public open class x {
public constructor x()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
package b {
public open class x {
public constructor x()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
package c {
public fun test(): [ERROR : x]
public open class d {
public constructor d()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public open fun x(): x!
}
}
@@ -0,0 +1,27 @@
// FIR_IDENTICAL
// FILE: a/X.java
package a;
public class X {}
// FILE: b/X.java
package b;
public class X {}
// FILE: c/Test.java
package c;
import a.X;
import b.*;
public class Test {
public X test() { return null; };
}
// FILE: c.kt
package c
fun test() = Test().test()
@@ -0,0 +1,33 @@
package
package a {
public open class X {
public constructor X()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
package b {
public open class X {
public constructor X()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
package c {
public fun test(): a.X!
public open class Test {
public constructor Test()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open fun test(): a.X!
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -0,0 +1,32 @@
// FIR_IDENTICAL
// SKIP_JAVAC
// FILE: b.kt
package b
object O {}
// FILE: c.kt
package c
object O {}
// FILE: a/a.java
package a;
import b.O;
import c.O;
public abstract class a {
public O getO() { return null; }
}
// FILE: a.kt
package d
import a.a
class A : a()
fun test() = A().getO()
@@ -0,0 +1,44 @@
package
package a {
public abstract class a {
public constructor a()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getO(): b.O!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
package b {
public object O {
private constructor O()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
package c {
public object O {
private constructor O()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
package d {
public fun test(): b.O!
public final class A : a.a {
public constructor A()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun getO(): b.O!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -0,0 +1,26 @@
// FIR_IDENTICAL
// FILE: a/X.java
package a;
public class X {}
// FILE: b/X.java
package b;
public class X {}
// FILE: b/A.java
package b;
import a.*;
public class A {
public X getX() { return null; }
}
// FILE: b.kt
package b
fun test() = A().getX()
@@ -0,0 +1,30 @@
package
package a {
public open class X {
public constructor X()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
package b {
public fun test(): b.X!
public open class A {
public constructor A()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getX(): b.X!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class X {
public constructor X()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -0,0 +1,28 @@
// FIR_IDENTICAL
// FILE: a/Y.java
package a;
public class Y {
public void test() {}
}
// FILE: b/Y.java
package b;
public class Y {}
// FILE: b/T.java
package b;
import a.Y;
public class T {
public Y getY() { return null; }
}
// FILE: b/b.kt
package b
fun test() = T().getY().test()
@@ -0,0 +1,31 @@
package
package a {
public open class Y {
public constructor Y()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open fun test(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
package b {
public fun test(): kotlin.Unit
public open class T {
public constructor T()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getY(): a.Y!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class Y {
public constructor Y()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -0,0 +1,31 @@
// FIR_IDENTICAL
// FILE: a/X.java
package a;
public class X {
public void test() {}
public static class Y {}
}
// FILE: b/Y.java
package b;
public class Y {}
// FILE: b/T.java
package b;
import a.X.Y;
public class T {
public Y getY() { return null; }
}
// FILE: b/b.kt
package b
fun test() = T().getY()
@@ -0,0 +1,38 @@
package
package a {
public open class X {
public constructor X()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open fun test(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public open class Y {
public constructor Y()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
}
package b {
public fun test(): a.X.Y!
public open class T {
public constructor T()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getY(): a.X.Y!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class Y {
public constructor Y()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -0,0 +1,31 @@
// FIR_IDENTICAL
// FILE: a/X.java
package a;
public class X {
public void test() {}
public static class Y {}
}
// FILE: b/Y.java
package b;
public class Y {}
// FILE: b/T.java
package b;
import a.X.*;
public class T {
public Y getY() { return null; }
}
// FILE: b/b.kt
package b
fun test() = T().getY()
@@ -0,0 +1,38 @@
package
package a {
public open class X {
public constructor X()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open fun test(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public open class Y {
public constructor Y()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
}
package b {
public fun test(): b.Y!
public open class T {
public constructor T()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getY(): b.Y!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class Y {
public constructor Y()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -0,0 +1,26 @@
// FIR_IDENTICAL
// FILE: a/x.java
package a;
public class x<T> {}
// FILE: b/x.java
package b;
public class x {}
// FILE: b/test.java
package b;
import a.x;
public class test {
public x<?> getX() { return null; }
}
// FILE: b/test.kt
package b
fun test1() = test().getX()
@@ -0,0 +1,30 @@
package
package a {
public open class x</*0*/ T : kotlin.Any!> {
public constructor x</*0*/ T : kotlin.Any!>()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
package b {
public fun test1(): a.x<*>!
public open class test {
public constructor test()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getX(): a.x<*>!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class x {
public constructor x()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -0,0 +1,19 @@
// FILE: p/Foo.java
package p;
public class Foo {
protected static class Nested {}
}
// FILE: foo.kt
package a
import p.Foo
import p.Foo.Nested
class Bar : Foo() {
protected fun foo(): Nested? = null
}
private fun foo(): Nested? = null
private fun bar(): p.Foo.Nested? = null
@@ -0,0 +1,19 @@
// FILE: p/Foo.java
package p;
public class Foo {
protected static class Nested {}
}
// FILE: foo.kt
package a
import p.Foo
import p.Foo.Nested
class Bar : Foo() {
protected fun foo(): Nested? = null
}
private fun foo(): <!INVISIBLE_REFERENCE!>Nested<!>? = null
private fun bar(): p.Foo.<!INVISIBLE_REFERENCE!>Nested<!>? = null
@@ -0,0 +1,31 @@
package
package a {
private fun bar(): p.Foo.Nested?
private fun foo(): p.Foo.Nested?
public final class Bar : p.Foo {
public constructor Bar()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
protected final fun foo(): p.Foo.Nested?
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
package p {
public open class Foo {
public constructor Foo()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
protected/*protected static*/ open class Nested {
protected/*protected and package*/ constructor Nested()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
}
@@ -0,0 +1,22 @@
// FIR_IDENTICAL
// FILE: weatherForecast/Weather.java
package weatherForecast;
public class Weather {
public void test() {}
}
// FILE: a/a.java
package a;
import weatherForecast.Weather;
import weatherForecast.Weather;
public class a {
public Weather forecast() { return null; }
}
// FILE: a.kt
package a
fun test() = a().forecast().test()
@@ -0,0 +1,24 @@
package
package a {
public fun test(): kotlin.Unit
public open class a {
public constructor a()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun forecast(): weatherForecast.Weather!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
package weatherForecast {
public open class Weather {
public constructor Weather()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open fun test(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -0,0 +1,22 @@
// FIR_IDENTICAL
// FILE: weatherForecast/Weather.java
package weatherForecast;
public class Weather {
public void test() {}
}
// FILE: a/A.java
package a;
import weatherForecast.*;
import weatherForecast.*;
public class A {
public Weather getWeather() { return null; }
}
// FILE: a.kt
package a
fun test() = A().getWeather().test()
@@ -0,0 +1,24 @@
package
package a {
public fun test(): kotlin.Unit
public open class A {
public constructor A()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getWeather(): weatherForecast.Weather!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
package weatherForecast {
public open class Weather {
public constructor Weather()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open fun test(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -0,0 +1,38 @@
// SKIP_JAVAC
// FILE: a/B.java
package a;
public class B {}
// FILE: a/D.java
package a;
public class D {
public static class B {}
}
// FILE: b/A1.java
package b;
import a.B;
import a.D.B;
public class A1 {
public B getB() { return null; }
}
// FILE: b/A2.java
package b;
import a.*;
import a.D.*;
public class A2 {
public B getB() { return null; }
}
// FILE: a.kt
package b
fun test() = A1().getB()
fun test2() = A2().getB()
@@ -0,0 +1,38 @@
// SKIP_JAVAC
// FILE: a/B.java
package a;
public class B {}
// FILE: a/D.java
package a;
public class D {
public static class B {}
}
// FILE: b/A1.java
package b;
import a.B;
import a.D.B;
public class A1 {
public B getB() { return null; }
}
// FILE: b/A2.java
package b;
import a.*;
import a.D.*;
public class A2 {
public B getB() { return null; }
}
// FILE: a.kt
package b
fun test() = A1().getB()
fun test2() = A2().<!MISSING_DEPENDENCY_CLASS!>getB<!>()
@@ -0,0 +1,46 @@
package
package a {
public open class B {
public constructor B()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class D {
public constructor D()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public open class B {
public constructor B()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
}
package b {
public fun test(): a.B!
public fun test2(): B!
public open class A1 {
public constructor A1()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getB(): a.B!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class A2 {
public constructor A2()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getB(): B!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -0,0 +1,40 @@
// SKIP_JAVAC
// FILE: a/A.java
package a;
public class A {
public static class B {}
}
// FILE: a/D.java
package a;
public class D {
public static class B {}
}
// FILE: b/A1.java
package b;
import a.A.B;
import a.D.B;
public class A1 {
public B getB() { return null; }
}
// FILE: b/A2.java
package b;
import a.A.*;
import a.D.*;
public class A2 {
public B getB() { return null; }
}
// FILE: a.kt
package b
fun test() = A1().getB()
fun test2() = A2().getB()
@@ -0,0 +1,40 @@
// SKIP_JAVAC
// FILE: a/A.java
package a;
public class A {
public static class B {}
}
// FILE: a/D.java
package a;
public class D {
public static class B {}
}
// FILE: b/A1.java
package b;
import a.A.B;
import a.D.B;
public class A1 {
public B getB() { return null; }
}
// FILE: b/A2.java
package b;
import a.A.*;
import a.D.*;
public class A2 {
public B getB() { return null; }
}
// FILE: a.kt
package b
fun test() = A1().getB()
fun test2() = A2().<!MISSING_DEPENDENCY_CLASS!>getB<!>()
@@ -0,0 +1,53 @@
package
package a {
public open class A {
public constructor A()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public open class B {
public constructor B()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
public open class D {
public constructor D()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public open class B {
public constructor B()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
}
package b {
public fun test(): a.A.B!
public fun test2(): B!
public open class A1 {
public constructor A1()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getB(): a.A.B!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class A2 {
public constructor A2()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getB(): B!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -0,0 +1,32 @@
// FIR_IDENTICAL
// FILE: a/x.java
package a;
public class x {}
// FILE: b/x.java
package b;
public class x {}
// FILE: c/x.java
package c;
public class x {}
// FILE: c/y.java
package c;
import a.x;
import b.*;
public class y {
public x getX() { return null; }
}
// FILE: c/test.kt
package c
fun test() = y().getX()
@@ -0,0 +1,40 @@
package
package a {
public open class x {
public constructor x()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
package b {
public open class x {
public constructor x()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
package c {
public fun test(): a.x!
public open class x {
public constructor x()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class y {
public constructor y()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getX(): a.x!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -0,0 +1,19 @@
// FILE: p/Foo.java
package p;
class Foo {
public static class Nested {}
}
// FILE: foo.kt
package a
import p.Foo
import p.Foo.Nested
class Bar : <!EXPOSED_SUPER_CLASS, HIDDEN!>Foo<!>() {
protected fun <!EXPOSED_FUNCTION_RETURN_TYPE!>foo<!>(): Nested? = null
}
private fun foo(): Nested? = null
private fun bar(): p.Foo.Nested? = null
@@ -0,0 +1,19 @@
// FILE: p/Foo.java
package p;
class Foo {
public static class Nested {}
}
// FILE: foo.kt
package a
import p.<!INVISIBLE_REFERENCE!>Foo<!>
import p.<!INVISIBLE_REFERENCE!>Foo<!>.Nested
class Bar : <!EXPOSED_SUPER_CLASS!><!INVISIBLE_MEMBER, INVISIBLE_REFERENCE!>Foo<!>()<!> {
protected fun <!EXPOSED_FUNCTION_RETURN_TYPE!>foo<!>(): <!INVISIBLE_REFERENCE!>Nested<!>? = null
}
private fun foo(): <!INVISIBLE_REFERENCE!>Nested<!>? = null
private fun bar(): p.<!INVISIBLE_REFERENCE!>Foo<!>.<!INVISIBLE_REFERENCE!>Nested<!>? = null
@@ -0,0 +1,31 @@
package
package a {
private fun bar(): p.Foo.Nested?
private fun foo(): p.Foo.Nested?
public final class Bar : p.Foo {
public constructor Bar()
invisible_fake open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
protected final fun foo(): p.Foo.Nested?
invisible_fake open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
invisible_fake open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
package p {
public/*package*/ open class Foo {
public/*package*/ constructor Foo()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public open class Nested {
public constructor Nested()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
}
@@ -0,0 +1,43 @@
// FIR_IDENTICAL
// FILE: a/b.java
package a;
public class b {
public void a_b() {}
public class c {
public void a_bc() {}
}
}
// FILE: a.java
public class a {
public void _a() {}
public class b {
public void _ab() {}
}
}
// FILE: c.java
import a.b;
public class c {
public b getB() { return null; }
}
// FILE: c2.java
public class c2 {
public a.b getB() { return null; }
}
// FILE: e.kt
fun test() = c().getB().c().a_bc()
fun test2() = c2().getB()._ab()
@@ -0,0 +1,55 @@
package
public fun test(): kotlin.Unit
public fun test2(): kotlin.Unit
public open class a {
public constructor a()
public open fun _a(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public open inner class b {
public constructor b()
public open fun _ab(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
public open class c {
public constructor c()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getB(): a.b!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class c2 {
public constructor c2()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getB(): a.b!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
package a {
public open class b {
public constructor b()
public open fun a_b(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public open inner class c {
public constructor c()
public open fun a_bc(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
}
@@ -0,0 +1,47 @@
// FIR_IDENTICAL
// FILE: foo/a/b.java
package foo.a;
public class b {
public void a_b() {}
public class c {
public void a_bc() {}
}
}
// FILE: foo/a.java
package foo;
public class a {
public void _a() {}
public class b {
public void _ab() {}
}
}
// FILE: foo/c.java
package foo;
import foo.a.b;
public class c {
public b getB() { return null; }
}
// FILE: foo/c2.java
package foo;
public class c2 {
public a.b getB() { return null; }
}
// FILE: e.kt
package foo
fun test() = c().getB().c().a_bc()
fun test2() = c2().getB()._ab()
@@ -0,0 +1,57 @@
package
package foo {
public fun test(): kotlin.Unit
public fun test2(): kotlin.Unit
public open class a {
public constructor a()
public open fun _a(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public open inner class b {
public constructor b()
public open fun _ab(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
public open class c {
public constructor c()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getB(): foo.a.b!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class c2 {
public constructor c2()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getB(): foo.a.b!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
package foo.a {
public open class b {
public constructor b()
public open fun a_b(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public open inner class c {
public constructor c()
public open fun a_bc(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
}
}