KT-64080 [LL] Use nullable receiver overload for isAncestor function

This simplifies the `bodyResolveRequired` a lot
This commit is contained in:
Roman Golyshev
2023-12-06 14:31:24 +01:00
parent a475a3031e
commit 3c7dfc0e5b
@@ -456,14 +456,14 @@ object LowLevelFirApiFacadeForResolveOnAir {
private fun bodyResolveRequired(container: KtDeclaration, elementToReplace: PsiElement): Boolean = when {
container == elementToReplace -> true
container is KtDeclarationWithBody -> container.bodyExpression?.isAncestor(elementToReplace)
container is KtProperty -> container.delegateExpressionOrInitializer?.isAncestor(elementToReplace)
container is KtParameter -> container.defaultValue?.isAncestor(elementToReplace)
container is KtDeclarationWithBody -> container.bodyExpression.isAncestor(elementToReplace)
container is KtProperty -> container.delegateExpressionOrInitializer.isAncestor(elementToReplace)
container is KtParameter -> container.defaultValue.isAncestor(elementToReplace)
container is KtEnumEntry -> {
container.initializerList?.isAncestor(elementToReplace) == true || container.body?.isAncestor(elementToReplace) == true
container.initializerList.isAncestor(elementToReplace) || container.body.isAncestor(elementToReplace)
}
container is KtScript || container is KtAnonymousInitializer -> true
else -> false
} == true
}
}