Fix shortening references for receiver in MakeTypeExplicitInLambdaIntention

#KT-5474 Fixed
This commit is contained in:
Pavel V. Talanov
2014-07-15 17:47:20 +04:00
parent 18cb479ef3
commit 5246735648
4 changed files with 15 additions and 6 deletions
@@ -97,10 +97,9 @@ public class MakeTypeExplicitInLambdaIntention : JetSelfTargetingIntention<JetFu
val expectedReceiverType = func.getReceiverParameter()?.getType()
if (hasImplicitReceiverType(element) && expectedReceiverType != null) {
val receiverTypeString = DescriptorRenderer.SOURCE_CODE.renderType(expectedReceiverType)
val paramListString = functionLiteral.getValueParameterList()?.getText()
val paramListWithReceiver = psiFactory.createExpression(receiverTypeString + "." + paramListString)
ShortenReferences.process(paramListWithReceiver)
functionLiteral.getValueParameterList()?.replace(paramListWithReceiver)
val dot = functionLiteral.addBefore(psiFactory.createDot(), functionLiteral.getValueParameterList())
functionLiteral.addBefore(psiFactory.createType(receiverTypeString), dot)
ShortenReferences.process(functionLiteral.getReceiverTypeRef()!!)
}
}