提交 4af9b274 编写于 作者: M Mikhail Glukhikh

KT-12100 convert try / finally to use: select use parameter after application

上级 9ea32687
......@@ -69,7 +69,15 @@ class ConvertTryFinallyToUseCallIntention : SelfTargetingRangeIntention<KtTryExp
appendFixedText("\n}")
}
element.replace(useCallExpression)
val result = element.replace(useCallExpression) as KtExpression
val call = when (result) {
is KtQualifiedExpression -> 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? {
......
......@@ -3,7 +3,7 @@ import java.io.File
fun main(args: Array<String>) {
val reader = File("hello-world.txt").bufferedReader()
reader.use { reader ->
reader.use { <selection>reader</selection> ->
reader.readLine()
}
}
\ No newline at end of file
......@@ -3,7 +3,7 @@ import java.io.File
fun main(args: Array<String>) {
val writer = File("hello-world.txt").bufferedWriter()
writer.use { writer ->
writer.use { <selection>writer</selection> ->
writer.write("123")
writer.newLine()
writer.write("456")
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册