Inlined JetPsiFactory.createReturn

This commit is contained in:
Valentin Kipyatkov
2015-05-11 15:36:50 +03:00
parent ceb9b3d663
commit 224e73e4f0
6 changed files with 8 additions and 14 deletions
@@ -342,10 +342,6 @@ public class JetPsiFactory(private val project: Project) {
return JetBlockCodeFragment(project, "fragment.kt", text, null, context)
}
public fun createReturn(expression: JetExpression): JetReturnExpression {
return createExpressionByPattern("return $0", expression) as JetReturnExpression
}
public fun createIf(condition: JetExpression, thenExpr: JetExpression, elseExpr: JetExpression?): JetIfExpression {
return (if (elseExpr != null)
createExpressionByPattern("if ($0) $1 else $2", condition, thenExpr, elseExpr) as JetIfExpression
@@ -153,8 +153,8 @@ public class BranchedUnfoldingUtils {
assertNotNull(elseExpr);
JetPsiFactory psiFactory = JetPsiFactory(returnExpression);
thenExpr.replace(psiFactory.createReturn(thenExpr));
elseExpr.replace(psiFactory.createReturn(elseExpr));
thenExpr.replace(createExpressionByPattern(psiFactory, "return $0", thenExpr));
elseExpr.replace(createExpressionByPattern(psiFactory, "return $0", elseExpr));
returnExpression.replace(newIfExpression);
}
@@ -172,7 +172,7 @@ public class BranchedUnfoldingUtils {
assertNotNull(currExpr);
currExpr.replace(JetPsiFactory(returnExpression).createReturn(currExpr));
currExpr.replace(createExpressionByPattern(JetPsiFactory(returnExpression), "return $0", currExpr));
}
returnExpression.replace(newWhenExpression);
@@ -45,7 +45,7 @@ public class FoldIfToReturnAsymmetricallyIntention : JetSelfTargetingOffsetIndep
thenReturn.replace(thenReturn.getReturnedExpression()!!)
elseReturn.replace(elseReturn.getReturnedExpression()!!)
element.replace(psiFactory.createReturn(newIfExpression))
element.replace(psiFactory.createExpressionByPattern("return $0", newIfExpression))
elseBranch.delete()
}
}
@@ -36,6 +36,6 @@ public class FoldIfToReturnIntention : JetSelfTargetingOffsetIndependentIntentio
thenReturn.replace(thenReturn.getReturnedExpression()!!)
elseReturn.replace(elseReturn.getReturnedExpression()!!)
element.replace(JetPsiFactory(element).createReturn(element))
element.replace(JetPsiFactory(element).createExpressionByPattern("return $0", element))
}
}
@@ -19,9 +19,7 @@ package org.jetbrains.kotlin.idea.intentions.branchedTransformations.intentions
import com.intellij.openapi.editor.Editor
import org.jetbrains.kotlin.idea.intentions.JetSelfTargetingOffsetIndependentIntention
import org.jetbrains.kotlin.idea.intentions.branchedTransformations.BranchedFoldingUtils
import org.jetbrains.kotlin.psi
import org.jetbrains.kotlin.psi.JetPsiUtil
import org.jetbrains.kotlin.psi.JetWhenExpression
import org.jetbrains.kotlin.psi.*
public class FoldWhenToReturnIntention : JetSelfTargetingOffsetIndependentIntention<JetWhenExpression>(javaClass(), "Replace 'when' expression with return") {
override fun isApplicableTo(element: JetWhenExpression): Boolean {
@@ -41,7 +39,7 @@ public class FoldWhenToReturnIntention : JetSelfTargetingOffsetIndependentIntent
override fun applyTo(element: JetWhenExpression, editor: Editor) {
assert(!element.getEntries().isEmpty())
val newReturnExpression = psi.JetPsiFactory(element).createReturn(element)
val newReturnExpression = JetPsiFactory(element).createExpressionByPattern("return $0", element) as JetReturnExpression
val newWhenExpression = newReturnExpression.getReturnedExpression() as JetWhenExpression
for (entry in newWhenExpression.getEntries()) {
@@ -158,7 +158,7 @@ private class LambdaToFunctionExpression(
return
}
else {
replace(psiFactory.createReturn(this))
replace(psiFactory.createExpressionByPattern("return $0", this))
}
}