[FIR] Initialize public visibility for class-like declarations at FIR building phase if no modifier is presented
Java resolving subsystem requires calculated visibility for correct disambiguation of supertypes. But visibility remains `Unknown` for Kotlin class-like declarations during supertypes resolving because `STATUS` resolve phase is performed after `SUPER_TYPES` phase. To fix the problem, the visibility should be initialized to public at the FIR building phase if no modifier is presented. ^KT-64127 Fixed
This commit is contained in:
committed by
Space Team
parent
ee8d42532b
commit
69b9bfc3e0
@@ -0,0 +1,32 @@
|
||||
// FIR_IDENTICAL
|
||||
// ISSUE: KT-64127
|
||||
|
||||
// FILE: DiffPackageBase.kt
|
||||
|
||||
package diff
|
||||
|
||||
abstract class Base {
|
||||
fun f() {}
|
||||
}
|
||||
|
||||
// FILE: SamePackageBase.kt
|
||||
|
||||
abstract class Base
|
||||
|
||||
// FILE: Derived.java
|
||||
|
||||
import diff.Base;
|
||||
|
||||
public abstract class Derived extends Base {}
|
||||
|
||||
// FILE: Main.kt
|
||||
|
||||
class TestKlass: Derived() {
|
||||
fun test() {
|
||||
f()
|
||||
}
|
||||
}
|
||||
|
||||
fun test(arg: Derived) {
|
||||
arg.f()
|
||||
}
|
||||
Reference in New Issue
Block a user