Introduced NewQualifiedExpressionResolver
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
// MODULE: m1
|
||||
// FILE: a.kt
|
||||
package a
|
||||
|
||||
class B {
|
||||
fun m1() {}
|
||||
}
|
||||
|
||||
// MODULE: m2
|
||||
// FILE: b.kt
|
||||
package a
|
||||
|
||||
class B {
|
||||
fun m2() {}
|
||||
}
|
||||
|
||||
// MODULE: m3(m1, m2)
|
||||
// FILE: c.kt
|
||||
import a.B
|
||||
|
||||
fun test(b: B) {
|
||||
b.m1()
|
||||
b.<!UNRESOLVED_REFERENCE!>m2<!>()
|
||||
|
||||
val b_: B = B()
|
||||
b_.m1()
|
||||
|
||||
val b_1: a.B = B()
|
||||
b_1.m1()
|
||||
|
||||
val b_2: B = a.B()
|
||||
b_2.m1()
|
||||
}
|
||||
|
||||
|
||||
//----------------------------TOP LEVEL---------------------
|
||||
// MODULE: top_m1
|
||||
// FILE: top_a.kt
|
||||
class B {
|
||||
fun m1() {}
|
||||
}
|
||||
|
||||
// MODULE: top_m2
|
||||
// FILE: top_b.kt
|
||||
class B {
|
||||
fun m2() {}
|
||||
}
|
||||
|
||||
// MODULE: top_m3(top_m1, top_m2)
|
||||
// FILE: top_c.kt
|
||||
import B
|
||||
|
||||
fun test(b: B) {
|
||||
b.m1()
|
||||
b.<!UNRESOLVED_REFERENCE!>m2<!>()
|
||||
|
||||
val b_: B = B()
|
||||
b_.m1()
|
||||
}
|
||||
|
||||
// FILE: top_d.kt
|
||||
|
||||
fun test2(b: B) {
|
||||
b.m1()
|
||||
b.<!UNRESOLVED_REFERENCE!>m2<!>()
|
||||
|
||||
val b_: B = B()
|
||||
b_.m1()
|
||||
}
|
||||
@@ -0,0 +1,86 @@
|
||||
// -- Module: <m1> --
|
||||
package
|
||||
|
||||
package a {
|
||||
|
||||
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 m1(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// -- Module: <m2> --
|
||||
package
|
||||
|
||||
package a {
|
||||
|
||||
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 m2(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// -- Module: <m3> --
|
||||
package
|
||||
|
||||
public fun test(/*0*/ b: a.B): kotlin.Unit
|
||||
|
||||
package a {
|
||||
|
||||
public final class B {
|
||||
// -- Module: <m1> --
|
||||
}
|
||||
|
||||
public final class B {
|
||||
// -- Module: <m2> --
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// -- Module: <top_m1> --
|
||||
package
|
||||
|
||||
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 m1(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
|
||||
// -- Module: <top_m2> --
|
||||
package
|
||||
|
||||
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 m2(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
|
||||
// -- Module: <top_m3> --
|
||||
package
|
||||
|
||||
public fun test(/*0*/ b: B): kotlin.Unit
|
||||
public fun test2(/*0*/ b: B): kotlin.Unit
|
||||
|
||||
public final class B {
|
||||
// -- Module: <top_m1> --
|
||||
}
|
||||
|
||||
public final class B {
|
||||
// -- Module: <top_m2> --
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
// MODULE: m1
|
||||
// FILE: a.kt
|
||||
package a
|
||||
|
||||
class B {
|
||||
fun m1() {}
|
||||
}
|
||||
|
||||
// MODULE: m2
|
||||
// FILE: b.kt
|
||||
package a
|
||||
|
||||
class B {
|
||||
fun m2() {}
|
||||
}
|
||||
|
||||
// MODULE: m3(m2, m1)
|
||||
// FILE: b.kt
|
||||
import a.*
|
||||
|
||||
|
||||
fun test(b: B) {
|
||||
b.m2()
|
||||
b.<!UNRESOLVED_REFERENCE!>m1<!>()
|
||||
|
||||
val b_: B = B()
|
||||
b_.m2()
|
||||
|
||||
val b_1: a.B = B()
|
||||
b_1.m2()
|
||||
|
||||
val b_2: B = a.B()
|
||||
b_2.m2()
|
||||
}
|
||||
|
||||
|
||||
//----------------------------TOP LEVEL---------------------
|
||||
|
||||
// MODULE: top_m1
|
||||
// FILE: top_a.kt
|
||||
class B {
|
||||
fun m1() {}
|
||||
}
|
||||
|
||||
// MODULE: top_m2
|
||||
// FILE: top_b.kt
|
||||
class B {
|
||||
fun m2() {}
|
||||
}
|
||||
|
||||
// MODULE: top_m3(top_m2, top_m1)
|
||||
// FILE: top_c.kt
|
||||
|
||||
fun test(b: B) {
|
||||
b.m2()
|
||||
b.<!UNRESOLVED_REFERENCE!>m1<!>()
|
||||
|
||||
val b_: B = B()
|
||||
b_.m2()
|
||||
|
||||
val b_2 = B()
|
||||
b_2.m2()
|
||||
}
|
||||
@@ -0,0 +1,85 @@
|
||||
// -- Module: <m1> --
|
||||
package
|
||||
|
||||
package a {
|
||||
|
||||
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 m1(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// -- Module: <m2> --
|
||||
package
|
||||
|
||||
package a {
|
||||
|
||||
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 m2(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// -- Module: <m3> --
|
||||
package
|
||||
|
||||
public fun test(/*0*/ b: a.B): kotlin.Unit
|
||||
|
||||
package a {
|
||||
|
||||
public final class B {
|
||||
// -- Module: <m1> --
|
||||
}
|
||||
|
||||
public final class B {
|
||||
// -- Module: <m2> --
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// -- Module: <top_m1> --
|
||||
package
|
||||
|
||||
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 m1(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
|
||||
// -- Module: <top_m2> --
|
||||
package
|
||||
|
||||
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 m2(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
|
||||
// -- Module: <top_m3> --
|
||||
package
|
||||
|
||||
public fun test(/*0*/ b: B): kotlin.Unit
|
||||
|
||||
public final class B {
|
||||
// -- Module: <top_m1> --
|
||||
}
|
||||
|
||||
public final class B {
|
||||
// -- Module: <top_m2> --
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -11,7 +11,7 @@ class X
|
||||
// FILE: c.kt
|
||||
package c
|
||||
|
||||
import <!CONFLICTING_IMPORT!>a.x<!>
|
||||
import <!CONFLICTING_IMPORT!>b.x<!>
|
||||
import a.<!UNRESOLVED_REFERENCE!>x<!>
|
||||
import b.<!UNRESOLVED_REFERENCE!>x<!>
|
||||
|
||||
class Y : <!UNRESOLVED_REFERENCE!>x<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>X<!>
|
||||
@@ -0,0 +1,67 @@
|
||||
// MODULE: m1
|
||||
// FILE: a.kt
|
||||
package a.b
|
||||
|
||||
class c {
|
||||
fun ab_c() {}
|
||||
}
|
||||
|
||||
// MODULE: m2
|
||||
// FILE: b.kt
|
||||
package a
|
||||
|
||||
class b<T> {
|
||||
class c {
|
||||
fun a_bc() {}
|
||||
}
|
||||
}
|
||||
|
||||
// MODULE: m3(m1, m2)
|
||||
// FILE: c.kt
|
||||
import a.b.c
|
||||
|
||||
fun test(ab_c: c) {
|
||||
ab_c.ab_c()
|
||||
|
||||
val ab_c2: a.b.c = a.b.c()
|
||||
ab_c2.ab_c()
|
||||
}
|
||||
|
||||
fun test2(a_bc: a.b<Int>.c) {
|
||||
a_bc.<!UNRESOLVED_REFERENCE!>a_bc<!>() // todo
|
||||
}
|
||||
|
||||
|
||||
|
||||
//---------------------------TOP LEVEL----------
|
||||
// MODULE: top_m1
|
||||
// FILE: top_a.kt
|
||||
package a
|
||||
|
||||
class b {
|
||||
fun a_b() {}
|
||||
}
|
||||
|
||||
// MODULE: top_m2
|
||||
// FILE: top_b.kt
|
||||
class a<T> {
|
||||
class b {
|
||||
fun _ab() {}
|
||||
}
|
||||
fun _a() {}
|
||||
}
|
||||
|
||||
// MODULE: top_m3(top_m1, top_m2)
|
||||
// FILE: top_c.kt
|
||||
import a.b
|
||||
|
||||
fun test(a_b: b) {
|
||||
a_b.a_b()
|
||||
|
||||
val a_b2: a.b = a.b()
|
||||
a_b2.a_b()
|
||||
}
|
||||
|
||||
fun test2(_ab: a<Int>.b) {
|
||||
_ab.<!UNRESOLVED_REFERENCE!>_ab<!>() // todo
|
||||
}
|
||||
@@ -0,0 +1,112 @@
|
||||
// -- Module: <m1> --
|
||||
package
|
||||
|
||||
package a {
|
||||
|
||||
package a.b {
|
||||
|
||||
public final class c {
|
||||
public constructor c()
|
||||
public final 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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// -- Module: <m2> --
|
||||
package
|
||||
|
||||
package a {
|
||||
|
||||
public final class b</*0*/ T> {
|
||||
public constructor b</*0*/ T>()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
|
||||
public final class c {
|
||||
public constructor c()
|
||||
public final 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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// -- Module: <m3> --
|
||||
package
|
||||
|
||||
public fun test(/*0*/ ab_c: a.b.c): kotlin.Unit
|
||||
public fun test2(/*0*/ a_bc: a.b.c): kotlin.Unit
|
||||
|
||||
package a {
|
||||
|
||||
public final class b</*0*/ T> {
|
||||
// -- Module: <m2> --
|
||||
}
|
||||
|
||||
package a.b {
|
||||
|
||||
public final class c {
|
||||
// -- Module: <m1> --
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// -- Module: <top_m1> --
|
||||
package
|
||||
|
||||
package a {
|
||||
|
||||
public final class b {
|
||||
public constructor b()
|
||||
public final 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
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// -- Module: <top_m2> --
|
||||
package
|
||||
|
||||
public final class a</*0*/ T> {
|
||||
public constructor a</*0*/ T>()
|
||||
public final 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 final class b {
|
||||
public constructor b()
|
||||
public final 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
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// -- Module: <top_m3> --
|
||||
package
|
||||
|
||||
public fun test(/*0*/ a_b: a.b): kotlin.Unit
|
||||
public fun test2(/*0*/ _ab: a.b): kotlin.Unit
|
||||
|
||||
public final class a</*0*/ T> {
|
||||
// -- Module: <top_m2> --
|
||||
}
|
||||
|
||||
package a {
|
||||
|
||||
public final class b {
|
||||
// -- Module: <top_m1> --
|
||||
}
|
||||
}
|
||||
+7
-7
@@ -5,16 +5,16 @@ import b.B //class
|
||||
import b.foo //function
|
||||
import b.ext //extension function
|
||||
import b.value //property
|
||||
import b.C.Companion.<!CANNOT_BE_IMPORTED!>bar<!> //function from companion object
|
||||
import b.C.Companion.<!CANNOT_BE_IMPORTED!>cValue<!> //property from companion object
|
||||
import b.<!CANNOT_IMPORT_FROM_ELEMENT!>constant<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>fff<!> //function from val
|
||||
import b.<!CANNOT_IMPORT_FROM_ELEMENT!>constant<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>dValue<!> //property from val
|
||||
import b.C.Companion.<!UNRESOLVED_REFERENCE!>bar<!> //function from companion object
|
||||
import b.C.Companion.<!UNRESOLVED_REFERENCE!>cValue<!> //property from companion object
|
||||
import b.<!UNRESOLVED_REFERENCE!>constant<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>fff<!> //function from val
|
||||
import b.<!UNRESOLVED_REFERENCE!>constant<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>dValue<!> //property from val
|
||||
import b.constant
|
||||
import b.E.Companion.<!CANNOT_BE_IMPORTED!>f<!> //val from companion object
|
||||
import b.E.Companion.<!UNRESOLVED_REFERENCE!>f<!> //val from companion object
|
||||
import <!UNRESOLVED_REFERENCE!>smth<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>illegal<!>
|
||||
import b.C.<!UNRESOLVED_REFERENCE!>smth<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>illegal<!>
|
||||
import b.<!CANNOT_IMPORT_FROM_ELEMENT!>bar<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>smth<!>
|
||||
import b.<!CANNOT_IMPORT_FROM_ELEMENT!>bar<!>.*
|
||||
import b.<!UNRESOLVED_REFERENCE!>bar<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>smth<!>
|
||||
import b.<!UNRESOLVED_REFERENCE!>bar<!>.*
|
||||
|
||||
fun test(arg: B) {
|
||||
foo(value)
|
||||
|
||||
@@ -3,7 +3,7 @@ package test
|
||||
import <!UNRESOLVED_REFERENCE!>some<!>.<!SYNTAX!><!>
|
||||
import <!SYNTAX!>.some<!>
|
||||
import <!SYNTAX!>.kotlin<!>
|
||||
import kotlin.<!SYNTAX!><!>
|
||||
import <!UNRESOLVED_REFERENCE!>kotlin<!>.<!SYNTAX!><!>
|
||||
import<!SYNTAX!><!>
|
||||
import <!SYNTAX!>.<!>
|
||||
import <!SYNTAX!>*<!>
|
||||
@@ -0,0 +1,31 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
// FILE: a.kt
|
||||
package a
|
||||
|
||||
class A {
|
||||
class B
|
||||
}
|
||||
|
||||
// FILE: b.kt
|
||||
package a
|
||||
|
||||
class D {
|
||||
class B
|
||||
}
|
||||
|
||||
// FILE: c.kt
|
||||
import <!CONFLICTING_IMPORT!>a.A.B<!>
|
||||
import <!CONFLICTING_IMPORT!>a.D.B<!>
|
||||
|
||||
fun test(b: <!UNRESOLVED_REFERENCE!>B<!>) {
|
||||
<!UNRESOLVED_REFERENCE!>B<!>()
|
||||
}
|
||||
|
||||
// FILE: d.kt
|
||||
import a.A.*
|
||||
import a.D.*
|
||||
|
||||
// todo ambiguvity here
|
||||
fun test2(b: <!UNRESOLVED_REFERENCE!>B<!>) {
|
||||
<!UNRESOLVED_REFERENCE!>B<!>()
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
package
|
||||
|
||||
public fun test(/*0*/ b: [ERROR : B]): kotlin.Unit
|
||||
public fun test2(/*0*/ b: [ERROR : B]): kotlin.Unit
|
||||
|
||||
package a {
|
||||
|
||||
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 open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
}
|
||||
|
||||
public final 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 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 open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,128 @@
|
||||
// MODULE: m1
|
||||
// FILE: a.kt
|
||||
package a.b
|
||||
|
||||
fun ab_fun() {}
|
||||
|
||||
class c {
|
||||
fun ab_c() {}
|
||||
|
||||
class d {
|
||||
fun ab_cd() {}
|
||||
}
|
||||
}
|
||||
|
||||
// MODULE: m2
|
||||
// FILE: b.kt
|
||||
package a
|
||||
|
||||
fun a_fun() {}
|
||||
|
||||
class b {
|
||||
fun a_b() {}
|
||||
|
||||
class c {
|
||||
fun a_bc() {}
|
||||
}
|
||||
}
|
||||
|
||||
// MODULE: m3(m1, m2)
|
||||
// FILE: c.kt
|
||||
import a.a_fun
|
||||
import a.b
|
||||
|
||||
import a.b.ab_fun
|
||||
import a.b.c
|
||||
|
||||
fun test(a_b: b) {
|
||||
a_b.a_b()
|
||||
|
||||
val a_bc: b.c = b.c()
|
||||
a_bc.a_bc()
|
||||
|
||||
a_fun()
|
||||
}
|
||||
|
||||
fun test2(ab_c: c) {
|
||||
ab_c.ab_c()
|
||||
|
||||
val ab_cd: c.d = c.d()
|
||||
ab_cd.ab_cd()
|
||||
|
||||
ab_fun()
|
||||
}
|
||||
|
||||
// FILE: d.kt
|
||||
package a
|
||||
|
||||
import a.b.ab_fun
|
||||
import a.b.c
|
||||
|
||||
fun test(a_b: b) {
|
||||
a_b.a_b()
|
||||
|
||||
val a_bc: b.c = b.c()
|
||||
a_bc.a_bc()
|
||||
|
||||
a_fun()
|
||||
}
|
||||
|
||||
fun test2(ab_c: c) {
|
||||
ab_c.ab_c()
|
||||
|
||||
val ab_cd: c.d = c.d()
|
||||
ab_cd.ab_cd()
|
||||
|
||||
ab_fun()
|
||||
}
|
||||
|
||||
//---- Changed dependence order
|
||||
// MODULE: m4(m2, m1)
|
||||
// FILE: c.kt
|
||||
import a.a_fun
|
||||
import a.b
|
||||
|
||||
import a.b.ab_fun
|
||||
import a.b.c
|
||||
|
||||
fun test(a_b: b) {
|
||||
a_b.a_b()
|
||||
|
||||
val a_bc: b.c = b.c()
|
||||
a_bc.a_bc()
|
||||
|
||||
a_fun()
|
||||
}
|
||||
|
||||
fun test2(ab_c: c) {
|
||||
ab_c.ab_c()
|
||||
|
||||
val ab_cd: c.d = c.d()
|
||||
ab_cd.ab_cd()
|
||||
|
||||
ab_fun()
|
||||
}
|
||||
|
||||
// FILE: d.kt
|
||||
package a
|
||||
|
||||
import a.b.ab_fun
|
||||
import a.b.c
|
||||
|
||||
fun test(a_b: b) {
|
||||
a_b.a_b()
|
||||
|
||||
val a_bc: b.c = b.c()
|
||||
a_bc.a_bc()
|
||||
|
||||
a_fun()
|
||||
}
|
||||
|
||||
fun test2(ab_c: c) {
|
||||
ab_c.ab_c()
|
||||
|
||||
val ab_cd: c.d = c.d()
|
||||
ab_cd.ab_cd()
|
||||
|
||||
ab_fun()
|
||||
}
|
||||
@@ -0,0 +1,101 @@
|
||||
// -- Module: <m1> --
|
||||
package
|
||||
|
||||
package a {
|
||||
|
||||
package a.b {
|
||||
public fun ab_fun(): kotlin.Unit
|
||||
|
||||
public final class c {
|
||||
public constructor c()
|
||||
public final 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
|
||||
|
||||
public final class d {
|
||||
public constructor d()
|
||||
public final fun ab_cd(): 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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// -- Module: <m2> --
|
||||
package
|
||||
|
||||
package a {
|
||||
public fun a_fun(): kotlin.Unit
|
||||
|
||||
public final class b {
|
||||
public constructor b()
|
||||
public final 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 final class c {
|
||||
public constructor c()
|
||||
public final 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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// -- Module: <m3> --
|
||||
package
|
||||
|
||||
public fun test(/*0*/ a_b: a.b): kotlin.Unit
|
||||
public fun test2(/*0*/ ab_c: a.b.c): kotlin.Unit
|
||||
|
||||
package a {
|
||||
public fun a_fun(): kotlin.Unit
|
||||
public fun test(/*0*/ a_b: a.b): kotlin.Unit
|
||||
public fun test2(/*0*/ ab_c: a.b.c): kotlin.Unit
|
||||
|
||||
public final class b {
|
||||
// -- Module: <m2> --
|
||||
}
|
||||
|
||||
package a.b {
|
||||
public fun ab_fun(): kotlin.Unit
|
||||
|
||||
public final class c {
|
||||
// -- Module: <m1> --
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// -- Module: <m4> --
|
||||
package
|
||||
|
||||
public fun test(/*0*/ a_b: a.b): kotlin.Unit
|
||||
public fun test2(/*0*/ ab_c: a.b.c): kotlin.Unit
|
||||
|
||||
package a {
|
||||
public fun a_fun(): kotlin.Unit
|
||||
public fun test(/*0*/ a_b: a.b): kotlin.Unit
|
||||
public fun test2(/*0*/ ab_c: a.b.c): kotlin.Unit
|
||||
|
||||
public final class b {
|
||||
// -- Module: <m2> --
|
||||
}
|
||||
|
||||
package a.b {
|
||||
public fun ab_fun(): kotlin.Unit
|
||||
|
||||
public final class c {
|
||||
// -- Module: <m1> --
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
// MODULE: m1
|
||||
// FILE: a.kt
|
||||
package a
|
||||
|
||||
fun a_fun() {}
|
||||
|
||||
class b {
|
||||
fun a_b() {}
|
||||
|
||||
class c {
|
||||
fun a_bc() {}
|
||||
}
|
||||
}
|
||||
|
||||
// MODULE: m2
|
||||
// FILE: b.kt
|
||||
fun _fun() {}
|
||||
|
||||
class a {
|
||||
fun _a() {}
|
||||
|
||||
class b {
|
||||
fun _ab() {}
|
||||
}
|
||||
}
|
||||
|
||||
// MODULE: m3(m1, m2)
|
||||
// FILE: c.kt
|
||||
import a.a_fun
|
||||
import a.b
|
||||
|
||||
fun test(a_b: b) {
|
||||
a_b.a_b()
|
||||
|
||||
val a_bc: b.c = b.c()
|
||||
a_bc.a_bc()
|
||||
|
||||
a_fun()
|
||||
}
|
||||
|
||||
// FILE: d.kt
|
||||
fun test2(_a: a) {
|
||||
_a._a()
|
||||
|
||||
val _ab: a.b = a.b()
|
||||
_ab.<!UNRESOLVED_REFERENCE!>_ab<!>() // todo
|
||||
|
||||
_fun()
|
||||
}
|
||||
|
||||
// FILE: e.kt
|
||||
import a
|
||||
import _fun
|
||||
|
||||
fun test3(_a: a) {
|
||||
_a._a()
|
||||
|
||||
val _ab: a.b = a.b()
|
||||
_ab.<!UNRESOLVED_REFERENCE!>_ab<!>() // todo
|
||||
|
||||
_fun()
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
// -- Module: <m1> --
|
||||
package
|
||||
|
||||
package a {
|
||||
public fun a_fun(): kotlin.Unit
|
||||
|
||||
public final class b {
|
||||
public constructor b()
|
||||
public final 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 final class c {
|
||||
public constructor c()
|
||||
public final 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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// -- Module: <m2> --
|
||||
package
|
||||
|
||||
public fun _fun(): kotlin.Unit
|
||||
|
||||
public final class a {
|
||||
public constructor a()
|
||||
public final 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 final class b {
|
||||
public constructor b()
|
||||
public final 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
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// -- Module: <m3> --
|
||||
package
|
||||
|
||||
public fun _fun(): kotlin.Unit
|
||||
public fun test(/*0*/ a_b: a.b): kotlin.Unit
|
||||
public fun test2(/*0*/ _a: a): kotlin.Unit
|
||||
public fun test3(/*0*/ _a: a): kotlin.Unit
|
||||
|
||||
public final class a {
|
||||
// -- Module: <m2> --
|
||||
}
|
||||
|
||||
package a {
|
||||
public fun a_fun(): kotlin.Unit
|
||||
|
||||
public final class b {
|
||||
// -- Module: <m1> --
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user