69b9bfc3e0
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
80 lines
2.2 KiB
Plaintext
Vendored
80 lines
2.2 KiB
Plaintext
Vendored
FILE: script.kts
|
|
SCRIPT: <script-script.kts>
|
|
|
|
public final? class Builder : R|kotlin/Any| {
|
|
public? [ContainingClassKey=Builder] constructor(): R|Builder| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
public? final? var version: String = String()
|
|
public? [ContainingClassKey=Builder] get(): String
|
|
public? [ContainingClassKey=Builder] set(value: String): R|kotlin/Unit|
|
|
|
|
public? final? fun execute(): R|kotlin/Unit| {
|
|
println#(version#)
|
|
}
|
|
|
|
public final? class Nested : R|kotlin/Any| {
|
|
public? [ContainingClassKey=Nested] constructor(): R|Builder.Nested| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
public? final? fun foo(): R|kotlin/Unit| {
|
|
}
|
|
|
|
public? final? fun boo(): R|kotlin/Unit| {
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
public? final? fun build(action: ( Builder.() -> Unit )): <implicit> {
|
|
^build Builder#().apply#(action#)
|
|
}
|
|
|
|
public? final? fun build2(action: ( Builder.() -> Unit )): Builder {
|
|
^build2 Builder#().apply#(action#)
|
|
}
|
|
|
|
init {
|
|
build#(<L> = build@fun <implicit>.<anonymous>(): <implicit> <inline=Unknown> {
|
|
version# = String(123)
|
|
local final? class A : R|kotlin/Any| {
|
|
public? [ContainingClassKey=A] constructor(): R|<local>/A| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
public? final? fun doo(): R|kotlin/Unit| {
|
|
}
|
|
|
|
}
|
|
|
|
execute#()
|
|
}
|
|
)
|
|
}
|
|
|
|
init {
|
|
+=(version#, IntegerLiteral(123))
|
|
}
|
|
|
|
public? final? val builder: <implicit> = build#(<L> = build@fun <implicit>.<anonymous>(): <implicit> <inline=Unknown> {
|
|
version# = String(321)
|
|
}
|
|
)
|
|
public? get(): <implicit>
|
|
|
|
init {
|
|
println#()
|
|
}
|
|
|
|
init {
|
|
builder#.version# = String()
|
|
}
|
|
|
|
init {
|
|
builder#.execute#()
|
|
}
|
|
|