J2K: If last expression in Method Call is Lambda add it outside the parenthesis
This commit is contained in:
@@ -59,4 +59,8 @@ public class MoveLambdaOutsideParenthesesIntention : JetSelfTargetingIntention<J
|
||||
override fun applyTo(element: JetCallExpression, editor: Editor) {
|
||||
element.moveFunctionLiteralOutsideParentheses()
|
||||
}
|
||||
|
||||
fun applyTo(element: JetCallExpression) {
|
||||
element.moveFunctionLiteralOutsideParentheses()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,10 +26,7 @@ import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||
import org.jetbrains.kotlin.diagnostics.Errors
|
||||
import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade
|
||||
import org.jetbrains.kotlin.idea.caches.resolve.resolveImportReference
|
||||
import org.jetbrains.kotlin.idea.intentions.ConvertToStringTemplateIntention
|
||||
import org.jetbrains.kotlin.idea.intentions.IfNullToElvisIntention
|
||||
import org.jetbrains.kotlin.idea.intentions.RemoveExplicitTypeArgumentsIntention
|
||||
import org.jetbrains.kotlin.idea.intentions.SimplifyNegatedBinaryExpressionIntention
|
||||
import org.jetbrains.kotlin.idea.intentions.*
|
||||
import org.jetbrains.kotlin.idea.intentions.branchedTransformations.intentions.IfThenToElvisIntention
|
||||
import org.jetbrains.kotlin.idea.intentions.branchedTransformations.intentions.IfThenToSafeAccessIntention
|
||||
import org.jetbrains.kotlin.idea.quickfix.RemoveModifierFix
|
||||
@@ -172,6 +169,18 @@ public class J2kPostProcessor(private val formatCode: Boolean) : PostProcessor {
|
||||
super.visitBinaryExpression(expression)
|
||||
}
|
||||
}
|
||||
|
||||
override fun visitCallExpression(expression: JetCallExpression) {
|
||||
super.visitCallExpression(expression)
|
||||
|
||||
val literalArgument = expression.valueArguments.lastOrNull()?.getArgumentExpression()?.unpackFunctionLiteral()
|
||||
if (literalArgument != null) {
|
||||
val intention = MoveLambdaOutsideParenthesesIntention()
|
||||
if (intention.isApplicableTo(expression, literalArgument.textOffset)) {
|
||||
intention.applyTo(expression)
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
for (typeArgs in redundantTypeArgs) {
|
||||
|
||||
Reference in New Issue
Block a user