[FIR] Skip published visibility computation for local functions
This fixes an exception caused by annotations being unresolved during status computation. #KT-61367
This commit is contained in:
committed by
Space Team
parent
f0112040fc
commit
126f2c9440
+3
@@ -290,6 +290,8 @@ class FirStatusResolver(
|
|||||||
containingClass?.symbol?.toLookupTag(), forClass = declaration is FirClass
|
containingClass?.symbol?.toLookupTag(), forClass = declaration is FirClass
|
||||||
)
|
)
|
||||||
val effectiveVisibility = parentEffectiveVisibility.lowerBound(selfEffectiveVisibility, session.typeContext)
|
val effectiveVisibility = parentEffectiveVisibility.lowerBound(selfEffectiveVisibility, session.typeContext)
|
||||||
|
|
||||||
|
if (!isLocal) {
|
||||||
val annotations = (containingProperty ?: declaration).annotations
|
val annotations = (containingProperty ?: declaration).annotations
|
||||||
val parentPublishedEffectiveVisibility = when {
|
val parentPublishedEffectiveVisibility = when {
|
||||||
containingProperty != null -> containingProperty.publishedApiEffectiveVisibility
|
containingProperty != null -> containingProperty.publishedApiEffectiveVisibility
|
||||||
@@ -309,6 +311,7 @@ class FirStatusResolver(
|
|||||||
)?.let {
|
)?.let {
|
||||||
declaration.nonLazyPublishedApiEffectiveVisibility = it
|
declaration.nonLazyPublishedApiEffectiveVisibility = it
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (containingClass is FirRegularClass && containingClass.isExpect) {
|
if (containingClass is FirRegularClass && containingClass.isExpect) {
|
||||||
status.isExpect = true
|
status.isExpect = true
|
||||||
|
|||||||
Reference in New Issue
Block a user