Files
Ivan Kochurkin 69b9bfc3e0 [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
2024-01-04 16:17:32 +00:00

39 lines
1.3 KiB
Plaintext
Vendored

FILE: simpleClass.kt
public final? interface SomeInterface : R|kotlin/Any| {
public? final? fun foo(x: Int, y: String): String
public? final? val bar: Boolean
public? [ContainingClassKey=SomeInterface] get(): Boolean
}
public final? class SomeClass : SomeInterface {
public? [ContainingClassKey=SomeClass] constructor(): R|SomeClass| {
super<<implicit>>()
}
private final? val baz: <implicit> = IntegerLiteral(42)
private [ContainingClassKey=SomeClass] get(): <implicit>
public? open? override fun foo(x: Int, y: String): String {
^foo y#.plus#(x#).plus#(baz#)
}
public? open? override var bar: Boolean
public? [ContainingClassKey=SomeClass] get(): Boolean {
^ Boolean(true)
}
public? [ContainingClassKey=SomeClass] set(value: Boolean): R|kotlin/Unit| {
}
public? final? lateinit var fau: Double
public? [ContainingClassKey=SomeClass] get(): Double
public? [ContainingClassKey=SomeClass] set(value: Double): R|kotlin/Unit|
}
public final? inline class InlineClass : R|kotlin/Any| {
public? [ContainingClassKey=InlineClass] constructor(): R|InlineClass| {
super<R|kotlin/Any|>()
}
}