[FIR] Recursively search dependsOn modules in visibility checks
#KT-59071 Fixed
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
// FIR_IDENTICAL
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE
|
||||
|
||||
// MODULE: m1
|
||||
// FILE: a.kt
|
||||
|
||||
package p
|
||||
|
||||
public class A {
|
||||
internal val a = A()
|
||||
internal var v = A()
|
||||
internal fun a() = A()
|
||||
internal inner class B
|
||||
}
|
||||
|
||||
internal val a = A()
|
||||
internal var v = A()
|
||||
internal fun a() = A()
|
||||
internal class B
|
||||
|
||||
// MODULE: m2()()(m1)
|
||||
// FILE: b.kt
|
||||
|
||||
import p.*
|
||||
|
||||
fun test2() {
|
||||
val _a = a
|
||||
val _v = v
|
||||
a()
|
||||
B()
|
||||
|
||||
val inst = A()
|
||||
val ia = inst.a
|
||||
val iv = inst.v
|
||||
inst.a()
|
||||
inst.B()
|
||||
}
|
||||
|
||||
|
||||
// MODULE: m3()()(m2)
|
||||
// FILE: c.kt
|
||||
|
||||
import p.*
|
||||
|
||||
fun test3() {
|
||||
val _a = a
|
||||
val _v = v
|
||||
a()
|
||||
B()
|
||||
|
||||
val inst = A()
|
||||
val ia = inst.a
|
||||
val iv = inst.v
|
||||
inst.a()
|
||||
inst.B()
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
// -- Module: <m1> --
|
||||
package
|
||||
|
||||
package p {
|
||||
internal val a: p.A
|
||||
internal var v: p.A
|
||||
internal fun a(): p.A
|
||||
|
||||
public final class A {
|
||||
public constructor A()
|
||||
internal final val a: p.A
|
||||
internal final var v: p.A
|
||||
internal final fun a(): p.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
|
||||
|
||||
internal final inner 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
|
||||
}
|
||||
}
|
||||
|
||||
internal 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
|
||||
}
|
||||
}
|
||||
|
||||
// -- Module: <m2> --
|
||||
package
|
||||
|
||||
public fun test2(): kotlin.Unit
|
||||
|
||||
// -- Module: <m3> --
|
||||
package
|
||||
|
||||
public fun test2(): kotlin.Unit
|
||||
public fun test3(): kotlin.Unit
|
||||
|
||||
Reference in New Issue
Block a user