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
39 lines
1.3 KiB
Plaintext
Vendored
39 lines
1.3 KiB
Plaintext
Vendored
Tower Data Context:
|
|
Element 0
|
|
Scope: FirDefaultStarImportingScope
|
|
Element 1
|
|
Scope: FirExplicitStarImportingScope
|
|
Element 2
|
|
Scope: FirDefaultSimpleImportingScope
|
|
Element 3
|
|
Scope: FirDefaultSimpleImportingScope
|
|
Element 4
|
|
Scope: FirPackageMemberScope
|
|
Element 5
|
|
Scope: FirExplicitSimpleImportingScope
|
|
Element 6
|
|
Scope: FirLocalScope
|
|
Properties:
|
|
FirValueParameterSymbol obj: R|kotlin/Any|
|
|
Element 7
|
|
Scope: FirLocalScope
|
|
|
|
FILE: [ResolvedTo(IMPORTS)] orRight.kt
|
|
public final? [ResolvedTo(RAW_FIR)] interface Foo : R|kotlin/Any| {
|
|
public? final? [ResolvedTo(RAW_FIR)] val isValid: Boolean
|
|
public? [ResolvedTo(RAW_FIR)] get(): Boolean
|
|
|
|
}
|
|
public final [ResolvedTo(BODY_RESOLVE)] fun test([ResolvedTo(BODY_RESOLVE)] obj: R|kotlin/Any|): R|kotlin/Unit| {
|
|
when () {
|
|
(R|<local>/obj| is R|Foo|) || R|/isValid|(R|<local>/obj|) -> {
|
|
R|/consume<Inapplicable(INAPPLICABLE): /consume>#|(R|<local>/obj|)
|
|
}
|
|
}
|
|
|
|
}
|
|
public final [ResolvedTo(CONTRACTS)] fun isValid([ResolvedTo(CONTRACTS)] obj: R|kotlin/Any|): R|kotlin/Boolean| {
|
|
^isValid Boolean(true)
|
|
}
|
|
public final [ResolvedTo(CONTRACTS)] fun consume([ResolvedTo(CONTRACTS)] obj: R|Foo|): R|kotlin/Unit| {
|
|
} |