KT-12100 convert try / finally to use: select use parameter after application
This commit is contained in:
+9
-1
@@ -69,7 +69,15 @@ class ConvertTryFinallyToUseCallIntention : SelfTargetingRangeIntention<KtTryExp
|
|||||||
appendFixedText("\n}")
|
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? {
|
override fun applicabilityRange(element: KtTryExpression): TextRange? {
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import java.io.File
|
|||||||
|
|
||||||
fun main(args: Array<String>) {
|
fun main(args: Array<String>) {
|
||||||
val reader = File("hello-world.txt").bufferedReader()
|
val reader = File("hello-world.txt").bufferedReader()
|
||||||
reader.use { reader ->
|
reader.use { <selection>reader</selection> ->
|
||||||
reader.readLine()
|
reader.readLine()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3,7 +3,7 @@ import java.io.File
|
|||||||
|
|
||||||
fun main(args: Array<String>) {
|
fun main(args: Array<String>) {
|
||||||
val writer = File("hello-world.txt").bufferedWriter()
|
val writer = File("hello-world.txt").bufferedWriter()
|
||||||
writer.use { writer ->
|
writer.use { <selection>writer</selection> ->
|
||||||
writer.write("123")
|
writer.write("123")
|
||||||
writer.newLine()
|
writer.newLine()
|
||||||
writer.write("456")
|
writer.write("456")
|
||||||
|
|||||||
Reference in New Issue
Block a user