diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertTryFinallyToUseCallIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertTryFinallyToUseCallIntention.kt index 093a89357e2..b5d7e21f688 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertTryFinallyToUseCallIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertTryFinallyToUseCallIntention.kt @@ -69,7 +69,15 @@ class ConvertTryFinallyToUseCallIntention : SelfTargetingRangeIntention result.selectorExpression as? KtCallExpression ?: return + is KtCallExpression -> result + else -> return + } + val lambda = call.lambdaArguments.firstOrNull() ?: return + val lambdaParameter = lambda.getLambdaExpression().valueParameters.firstOrNull() ?: return + editor?.selectionModel?.setSelection(lambdaParameter.startOffset, lambdaParameter.endOffset) } override fun applicabilityRange(element: KtTryExpression): TextRange? { diff --git a/idea/testData/intentions/convertTryFinallyToUseCall/simple.kt.after b/idea/testData/intentions/convertTryFinallyToUseCall/simple.kt.after index 4e179e5fd76..705074d0090 100644 --- a/idea/testData/intentions/convertTryFinallyToUseCall/simple.kt.after +++ b/idea/testData/intentions/convertTryFinallyToUseCall/simple.kt.after @@ -3,7 +3,7 @@ import java.io.File fun main(args: Array) { val reader = File("hello-world.txt").bufferedReader() - reader.use { reader -> + reader.use { reader -> reader.readLine() } } \ No newline at end of file diff --git a/idea/testData/intentions/convertTryFinallyToUseCall/triple.kt.after b/idea/testData/intentions/convertTryFinallyToUseCall/triple.kt.after index 521acd5b83e..d833fdeb955 100644 --- a/idea/testData/intentions/convertTryFinallyToUseCall/triple.kt.after +++ b/idea/testData/intentions/convertTryFinallyToUseCall/triple.kt.after @@ -3,7 +3,7 @@ import java.io.File fun main(args: Array) { val writer = File("hello-world.txt").bufferedWriter() - writer.use { writer -> + writer.use { writer -> writer.write("123") writer.newLine() writer.write("456")