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

49 lines
1.5 KiB
Plaintext
Vendored

FILE: initWithLocalDeclarations.kt
public final? class A : R|kotlin/Any| {
public? [ContainingClassKey=A] constructor(): R|util/A| {
super<R|kotlin/Any|>()
}
init {
local final? class OuterIntoLocal : R|kotlin/Any| {
public? [ContainingClassKey=OuterIntoLocal] constructor(): R|<local>/OuterIntoLocal| {
super<R|kotlin/Any|>()
}
public? final? fun doo(): <implicit> {
^doo foo#()
}
public? final? fun foo(): <implicit> {
^foo bar#()
}
public? final? fun baz(): <implicit> {
^baz foo#()
}
}
local final? class LocalIntoLocal : R|kotlin/Any| {
public? [ContainingClassKey=LocalIntoLocal] constructor(): R|<local>/LocalIntoLocal| {
super<R|kotlin/Any|>()
}
public? final? fun foo(): <implicit> {
^foo bar#()
}
public? final? fun bar(): @Anno(<strcat>(String(bar ), prop#)) List<@Anno(<strcat>(String(nested bar ), prop#)) Collection<@Anno(<strcat>(String(nested nested bar ), prop#)) Int>>? {
^bar Null(null)
}
public? final? fun foo2(): <implicit> {
^foo2 bar#()
}
}
}
}