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}")
|
||||
}
|
||||
|
||||
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()
|
||||
}
|
||||
}
|
||||
@@ -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")
|
||||
|
||||
Reference in New Issue
Block a user