7145caca40
Before this commit, we had effective visibility as a part of FIR status, so it was integrated into the full pipeline. In this commit, we introduced "effective visibility as a service" which is now used only by exposed visibility checker. This allows us to make the thing universal for all FIR nodes, including nodes for Java / deserialized.
45 lines
1.0 KiB
Kotlin
Vendored
45 lines
1.0 KiB
Kotlin
Vendored
//FILE: a/MyJavaClass.java
|
|
package a;
|
|
|
|
class MyJavaClass {
|
|
static int staticMethod() {
|
|
return 1;
|
|
}
|
|
|
|
static class NestedClass {
|
|
static int staticMethodOfNested() {
|
|
return 1;
|
|
}
|
|
}
|
|
}
|
|
|
|
//FILE:a.kt
|
|
package a
|
|
|
|
val <!EXPOSED_PROPERTY_TYPE!>mc<!> = MyJavaClass()
|
|
val x = MyJavaClass.staticMethod()
|
|
val y = MyJavaClass.NestedClass.staticMethodOfNested()
|
|
val <!EXPOSED_PROPERTY_TYPE!>z<!> = MyJavaClass.NestedClass()
|
|
|
|
//FILE: b.kt
|
|
package b
|
|
|
|
import a.MyJavaClass
|
|
|
|
val <!EXPOSED_PROPERTY_TYPE!>mc1<!> = <!HIDDEN!>MyJavaClass<!>()
|
|
|
|
val x = MyJavaClass.<!HIDDEN!>staticMethod<!>()
|
|
val y = MyJavaClass.NestedClass.<!HIDDEN!>staticMethodOfNested<!>()
|
|
val <!EXPOSED_PROPERTY_TYPE!>z<!> = MyJavaClass.<!HIDDEN!>NestedClass<!>()
|
|
|
|
//FILE: c.kt
|
|
package a.c
|
|
|
|
import a.MyJavaClass
|
|
|
|
val <!EXPOSED_PROPERTY_TYPE!>mc1<!> = <!HIDDEN!>MyJavaClass<!>()
|
|
|
|
val x = MyJavaClass.<!HIDDEN!>staticMethod<!>()
|
|
val y = MyJavaClass.NestedClass.<!HIDDEN!>staticMethodOfNested<!>()
|
|
val <!EXPOSED_PROPERTY_TYPE!>z<!> = MyJavaClass.<!HIDDEN!>NestedClass<!>()
|