Extract Function: By default suggest only classes as containers when
etracting to class body
This commit is contained in:
+2
-7
@@ -39,7 +39,6 @@ import org.jetbrains.jet.lang.psi.psiUtil.getOutermostParentContainedIn
|
|||||||
import org.jetbrains.jet.plugin.refactoring.checkConflictsInteractively
|
import org.jetbrains.jet.plugin.refactoring.checkConflictsInteractively
|
||||||
import org.jetbrains.jet.plugin.refactoring.executeWriteCommand
|
import org.jetbrains.jet.plugin.refactoring.executeWriteCommand
|
||||||
import org.jetbrains.jet.lang.psi.JetBlockExpression
|
import org.jetbrains.jet.lang.psi.JetBlockExpression
|
||||||
import org.jetbrains.jet.lang.psi.JetClassOrObject
|
|
||||||
import org.jetbrains.jet.lang.psi.JetClassBody
|
import org.jetbrains.jet.lang.psi.JetClassBody
|
||||||
import kotlin.test.fail
|
import kotlin.test.fail
|
||||||
import org.jetbrains.jet.lang.psi.JetDeclarationWithBody
|
import org.jetbrains.jet.lang.psi.JetDeclarationWithBody
|
||||||
@@ -56,8 +55,8 @@ import java.util.Collections
|
|||||||
import org.jetbrains.jet.lang.psi.JetProperty
|
import org.jetbrains.jet.lang.psi.JetProperty
|
||||||
import org.jetbrains.jet.lang.psi.JetParameterList
|
import org.jetbrains.jet.lang.psi.JetParameterList
|
||||||
import org.jetbrains.jet.lang.psi.JetClassInitializer
|
import org.jetbrains.jet.lang.psi.JetClassInitializer
|
||||||
import org.jetbrains.jet.lang.psi.JetFunctionLiteralExpression
|
|
||||||
import org.jetbrains.jet.lang.psi.JetFunctionLiteral
|
import org.jetbrains.jet.lang.psi.JetFunctionLiteral
|
||||||
|
import org.jetbrains.jet.lang.psi.JetClassOrObject
|
||||||
|
|
||||||
public class ExtractKotlinFunctionHandler(public val allContainersEnabled: Boolean = false) : RefactoringActionHandler {
|
public class ExtractKotlinFunctionHandler(public val allContainersEnabled: Boolean = false) : RefactoringActionHandler {
|
||||||
fun doInvoke(
|
fun doInvoke(
|
||||||
@@ -194,11 +193,7 @@ fun selectElements(
|
|||||||
return when (parent) {
|
return when (parent) {
|
||||||
is JetFile -> Collections.singletonList(parent)
|
is JetFile -> Collections.singletonList(parent)
|
||||||
is JetClassBody -> {
|
is JetClassBody -> {
|
||||||
element.getAllExtractionContainers(strict)
|
element.getAllExtractionContainers(strict).filterIsInstance(javaClass<JetClassBody>())
|
||||||
.filter {
|
|
||||||
it is JetClassBody || (it is JetBlockExpression && it.getParent() is JetDeclarationWithBody)
|
|
||||||
}
|
|
||||||
.dropWhile { it !is JetClassBody }
|
|
||||||
}
|
}
|
||||||
else -> {
|
else -> {
|
||||||
val enclosingDeclaration =
|
val enclosingDeclaration =
|
||||||
|
|||||||
Reference in New Issue
Block a user