Fix for EA-81477 : correct handling of a property without initializer (but with e.g. getter)
(cherry picked from commit 4e2d35a)
This commit is contained in:
committed by
Mikhail Glukhikh
parent
5b328e9042
commit
b44c94a887
@@ -64,7 +64,9 @@ class ChangeFunctionLiteralReturnTypeFix(
|
||||
val eventualFunctionLiteralType = TypeUtils.substituteParameters(functionClass, functionClassTypeParameters)
|
||||
|
||||
val correspondingProperty = PsiTreeUtil.getParentOfType(functionLiteralExpression, KtProperty::class.java)
|
||||
if (correspondingProperty != null && QuickFixUtil.canEvaluateTo(correspondingProperty.initializer!!, functionLiteralExpression)) {
|
||||
if (correspondingProperty != null &&
|
||||
correspondingProperty.initializer?.let { QuickFixUtil.canEvaluateTo(it, functionLiteralExpression) } ?: true
|
||||
) {
|
||||
val correspondingPropertyTypeRef = correspondingProperty.typeReference
|
||||
val propertyType = context.get(BindingContext.TYPE, correspondingPropertyTypeRef)
|
||||
return if (propertyType != null && !KotlinTypeChecker.DEFAULT.isSubtypeOf(eventualFunctionLiteralType, propertyType))
|
||||
|
||||
Reference in New Issue
Block a user