[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
Vendored
+1
-1
@@ -18,7 +18,7 @@ FILE: [ResolvedTo(IMPORTS)] contextReceiver.kt
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public? final? [ResolvedTo(RAW_FIR)] class Nested : R|kotlin/Any| {
|
||||
public final? [ResolvedTo(RAW_FIR)] class Nested : R|kotlin/Any| {
|
||||
public? [ResolvedTo(RAW_FIR)] constructor(): R|test/Base.Nested| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
Vendored
+1
-1
@@ -18,7 +18,7 @@ FILE: [ResolvedTo(IMPORTS)] superTypeCallee.kt
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public? final? [ResolvedTo(RAW_FIR)] class Nested : R|kotlin/Any| {
|
||||
public final? [ResolvedTo(RAW_FIR)] class Nested : R|kotlin/Any| {
|
||||
public? [ResolvedTo(RAW_FIR)] constructor(): R|test/Base.Nested| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
+1
-1
@@ -18,7 +18,7 @@ FILE: [ResolvedTo(IMPORTS)] superTypeCalleeGenerics.kt
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public? final? [ResolvedTo(RAW_FIR)] class Nested : R|kotlin/Any| {
|
||||
public final? [ResolvedTo(RAW_FIR)] class Nested : R|kotlin/Any| {
|
||||
public? [ResolvedTo(RAW_FIR)] constructor(): R|test/Base.Nested| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
+2
-2
@@ -18,7 +18,7 @@ FILE: [ResolvedTo(IMPORTS)] superTypeCallee_objectLiteral.kt
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public? final? [ResolvedTo(RAW_FIR)] class Nested : R|kotlin/Any| {
|
||||
public final? [ResolvedTo(RAW_FIR)] class Nested : R|kotlin/Any| {
|
||||
public? [ResolvedTo(RAW_FIR)] constructor(): R|test/Base.Nested| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
@@ -33,4 +33,4 @@ FILE: [ResolvedTo(IMPORTS)] superTypeCallee_objectLiteral.kt
|
||||
|
||||
}
|
||||
|
||||
public [ResolvedTo(BODY_RESOLVE)] get(): R|test/Base|
|
||||
public [ResolvedTo(BODY_RESOLVE)] get(): R|test/Base|
|
||||
+1
-1
@@ -18,7 +18,7 @@ FILE: [ResolvedTo(IMPORTS)] superTypeRef.kt
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public? final? [ResolvedTo(RAW_FIR)] class Nested : R|kotlin/Any| {
|
||||
public final? [ResolvedTo(RAW_FIR)] class Nested : R|kotlin/Any| {
|
||||
public? [ResolvedTo(RAW_FIR)] constructor(): R|test/Base.Nested| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
Vendored
+1
-1
@@ -18,7 +18,7 @@ FILE: [ResolvedTo(IMPORTS)] superTypeRefGenerics.kt
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public? final? [ResolvedTo(RAW_FIR)] class Nested : R|kotlin/Any| {
|
||||
public final? [ResolvedTo(RAW_FIR)] class Nested : R|kotlin/Any| {
|
||||
public? [ResolvedTo(RAW_FIR)] constructor(): R|test/Base.Nested| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
+6
-6
@@ -14,8 +14,8 @@ Tower Data Context:
|
||||
Element 6
|
||||
Scope: FirScriptDeclarationsScope
|
||||
Classifiers:
|
||||
FirRegularClassSymbol public? final? class After_OtherClass : R|kotlin/Any|
|
||||
FirRegularClassSymbol public? final? class Before_OtherClass : R|kotlin/Any|
|
||||
FirRegularClassSymbol public final? class After_OtherClass : R|kotlin/Any|
|
||||
FirRegularClassSymbol public final? class Before_OtherClass : R|kotlin/Any|
|
||||
FirRegularClassSymbol public final class MyClass : R|kotlin/Any|
|
||||
Functions
|
||||
FirNamedFunctionSymbol public? final? fun after_Fun(): R|kotlin/Unit|
|
||||
@@ -41,13 +41,13 @@ Tower Data Context:
|
||||
public? final? val before_Val: <implicit>
|
||||
public? get(): <implicit>
|
||||
|
||||
public? final? class Before_OtherClass : R|kotlin/Any|
|
||||
public final? class Before_OtherClass : R|kotlin/Any|
|
||||
public final class MyClass : R|kotlin/Any|
|
||||
public? final? fun after_Fun(): R|kotlin/Unit|
|
||||
public? final? val after_Val: <implicit>
|
||||
public? get(): <implicit>
|
||||
|
||||
public? final? class After_OtherClass : R|kotlin/Any|
|
||||
public final? class After_OtherClass : R|kotlin/Any|
|
||||
Type: kotlin.script.templates.standard.ScriptTemplateWithArgs
|
||||
Label: <script>
|
||||
Element 9
|
||||
@@ -69,7 +69,7 @@ FILE: [ResolvedTo(IMPORTS)] insideClassMember.kts
|
||||
public? final? [ResolvedTo(RAW_FIR)] val before_Val: <implicit> = LAZY_EXPRESSION
|
||||
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
|
||||
|
||||
public? final? [ResolvedTo(RAW_FIR)] class Before_OtherClass : R|kotlin/Any| {
|
||||
public final? [ResolvedTo(RAW_FIR)] class Before_OtherClass : R|kotlin/Any| {
|
||||
public? [ResolvedTo(RAW_FIR)] constructor(): R|Before_OtherClass| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
@@ -95,7 +95,7 @@ FILE: [ResolvedTo(IMPORTS)] insideClassMember.kts
|
||||
public? final? [ResolvedTo(RAW_FIR)] val after_Val: <implicit> = LAZY_EXPRESSION
|
||||
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
|
||||
|
||||
public? final? [ResolvedTo(RAW_FIR)] class After_OtherClass : R|kotlin/Any| {
|
||||
public final? [ResolvedTo(RAW_FIR)] class After_OtherClass : R|kotlin/Any| {
|
||||
public? [ResolvedTo(RAW_FIR)] constructor(): R|After_OtherClass| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
+6
-6
@@ -14,8 +14,8 @@ Tower Data Context:
|
||||
Element 6
|
||||
Scope: FirScriptDeclarationsScope
|
||||
Classifiers:
|
||||
FirRegularClassSymbol public? final? class After_OtherClass : R|kotlin/Any|
|
||||
FirRegularClassSymbol public? final? class Before_OtherClass : R|kotlin/Any|
|
||||
FirRegularClassSymbol public final? class After_OtherClass : R|kotlin/Any|
|
||||
FirRegularClassSymbol public final? class Before_OtherClass : R|kotlin/Any|
|
||||
Functions
|
||||
FirNamedFunctionSymbol public? final? fun after_Fun(): R|kotlin/Unit|
|
||||
FirNamedFunctionSymbol public? final? fun before_Fun(): R|kotlin/Unit|
|
||||
@@ -41,13 +41,13 @@ Tower Data Context:
|
||||
public? final? val before_Val: <implicit>
|
||||
public? get(): <implicit>
|
||||
|
||||
public? final? class Before_OtherClass : R|kotlin/Any|
|
||||
public final? class Before_OtherClass : R|kotlin/Any|
|
||||
public final fun usage(foo: R|kotlin/Int|): R|kotlin/Unit|
|
||||
public? final? fun after_Fun(): R|kotlin/Unit|
|
||||
public? final? val after_Val: <implicit>
|
||||
public? get(): <implicit>
|
||||
|
||||
public? final? class After_OtherClass : R|kotlin/Any|
|
||||
public final? class After_OtherClass : R|kotlin/Any|
|
||||
Type: kotlin.script.templates.standard.ScriptTemplateWithArgs
|
||||
Label: <script>
|
||||
Element 9
|
||||
@@ -67,7 +67,7 @@ FILE: [ResolvedTo(IMPORTS)] insideTopLevelFunction.kts
|
||||
public? final? [ResolvedTo(RAW_FIR)] val before_Val: <implicit> = LAZY_EXPRESSION
|
||||
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
|
||||
|
||||
public? final? [ResolvedTo(RAW_FIR)] class Before_OtherClass : R|kotlin/Any| {
|
||||
public final? [ResolvedTo(RAW_FIR)] class Before_OtherClass : R|kotlin/Any| {
|
||||
public? [ResolvedTo(RAW_FIR)] constructor(): R|Before_OtherClass| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
@@ -83,7 +83,7 @@ FILE: [ResolvedTo(IMPORTS)] insideTopLevelFunction.kts
|
||||
public? final? [ResolvedTo(RAW_FIR)] val after_Val: <implicit> = LAZY_EXPRESSION
|
||||
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
|
||||
|
||||
public? final? [ResolvedTo(RAW_FIR)] class After_OtherClass : R|kotlin/Any| {
|
||||
public final? [ResolvedTo(RAW_FIR)] class After_OtherClass : R|kotlin/Any| {
|
||||
public? [ResolvedTo(RAW_FIR)] constructor(): R|After_OtherClass| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ FILE: [ResolvedTo(IMPORTS)] simple.kt
|
||||
}
|
||||
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] class Unrelated : R|kotlin/Any| {
|
||||
public final? [ResolvedTo(RAW_FIR)] class Unrelated : R|kotlin/Any| {
|
||||
public? [ResolvedTo(RAW_FIR)] constructor(): R|foo/Unrelated| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ FILE: [ResolvedTo(IMPORTS)] onType.kt
|
||||
}
|
||||
public final inline [ResolvedTo(CONTRACTS)] fun <reified [ResolvedTo(CONTRACTS)] T : R|kotlin/Any|> call(): R|kotlin/Unit| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Foo : R|kotlin/Any| {
|
||||
public final? [ResolvedTo(RAW_FIR)] interface Foo : R|kotlin/Any| {
|
||||
public? final? [ResolvedTo(RAW_FIR)] fun process(): Boolean
|
||||
|
||||
}
|
||||
+1
-1
@@ -19,7 +19,7 @@ Tower Data Context:
|
||||
Scope: FirLocalScope
|
||||
|
||||
FILE: [ResolvedTo(IMPORTS)] orRight.kt
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Foo : R|kotlin/Any| {
|
||||
public final? [ResolvedTo(RAW_FIR)] interface Foo : R|kotlin/Any| {
|
||||
public? final? [ResolvedTo(RAW_FIR)] val isValid: Boolean
|
||||
public? [ResolvedTo(RAW_FIR)] get(): Boolean
|
||||
|
||||
|
||||
Reference in New Issue
Block a user