[FIR] Properly infer open modality for functions of expect interfaces
This commit is contained in:
committed by
teamcityserver
parent
3991383853
commit
18af4155b8
+2
-1
@@ -484,7 +484,8 @@ abstract class AbstractFirStatusResolveTransformer(
|
||||
if (needReplacePhase(simpleFunction)) {
|
||||
simpleFunction.replaceResolvePhase(transformerPhase)
|
||||
}
|
||||
simpleFunction.transformStatus(this, statusResolver.resolveStatus(simpleFunction, containingClass, isLocal = false))
|
||||
val resolvedStatus = statusResolver.resolveStatus(simpleFunction, containingClass, isLocal = false)
|
||||
simpleFunction.transformStatus(this, resolvedStatus)
|
||||
calculateDeprecations(simpleFunction)
|
||||
return transformDeclaration(simpleFunction, data) as FirStatement
|
||||
}
|
||||
|
||||
+1
-1
@@ -158,7 +158,7 @@ class FirStatusResolver(
|
||||
}
|
||||
|
||||
val modality = status.modality?.let {
|
||||
if (it == Modality.OPEN && containingClass?.classKind == ClassKind.INTERFACE && !declaration.hasOwnBodyOrAccessorBody()) {
|
||||
if (it == Modality.OPEN && containingClass?.classKind == ClassKind.INTERFACE && !(declaration.hasOwnBodyOrAccessorBody() || status.isExpect)) {
|
||||
Modality.ABSTRACT
|
||||
} else {
|
||||
it
|
||||
|
||||
Reference in New Issue
Block a user