From 1c0d1630e5cec4110c11e0780de646fcfaa77951 Mon Sep 17 00:00:00 2001 From: Alexey Sedunov Date: Mon, 2 Jun 2014 14:39:08 +0400 Subject: [PATCH] Extract Function: Replace IDEA "Extract Method..." action with "Extract Function..." --- idea/src/META-INF/plugin.xml | 7 +++++- .../JetRefactoringSupportProvider.java | 4 +-- ...copeAction.kt => ExtractFunctionAction.kt} | 25 +++++++++++-------- 3 files changed, 22 insertions(+), 14 deletions(-) rename idea/src/org/jetbrains/jet/plugin/refactoring/extractFunction/{ExtractFunctionToScopeAction.kt => ExtractFunctionAction.kt} (62%) diff --git a/idea/src/META-INF/plugin.xml b/idea/src/META-INF/plugin.xml index 1a71ec6edb0..3b839745ff3 100644 --- a/idea/src/META-INF/plugin.xml +++ b/idea/src/META-INF/plugin.xml @@ -97,10 +97,15 @@ + + + + - + diff --git a/idea/src/org/jetbrains/jet/plugin/refactoring/JetRefactoringSupportProvider.java b/idea/src/org/jetbrains/jet/plugin/refactoring/JetRefactoringSupportProvider.java index ae2fa5543e8..4031afc1a7a 100644 --- a/idea/src/org/jetbrains/jet/plugin/refactoring/JetRefactoringSupportProvider.java +++ b/idea/src/org/jetbrains/jet/plugin/refactoring/JetRefactoringSupportProvider.java @@ -39,8 +39,8 @@ public class JetRefactoringSupportProvider extends RefactoringSupportProvider { return new KotlinIntroduceVariableHandler(); } - @Override - public RefactoringActionHandler getExtractMethodHandler() { + @NotNull + public RefactoringActionHandler getExtractFunctionHandler() { return new ExtractKotlinFunctionHandler(); } diff --git a/idea/src/org/jetbrains/jet/plugin/refactoring/extractFunction/ExtractFunctionToScopeAction.kt b/idea/src/org/jetbrains/jet/plugin/refactoring/extractFunction/ExtractFunctionAction.kt similarity index 62% rename from idea/src/org/jetbrains/jet/plugin/refactoring/extractFunction/ExtractFunctionToScopeAction.kt rename to idea/src/org/jetbrains/jet/plugin/refactoring/extractFunction/ExtractFunctionAction.kt index 0af10c1561e..5ab8f34a28a 100644 --- a/idea/src/org/jetbrains/jet/plugin/refactoring/extractFunction/ExtractFunctionToScopeAction.kt +++ b/idea/src/org/jetbrains/jet/plugin/refactoring/extractFunction/ExtractFunctionAction.kt @@ -23,20 +23,23 @@ import com.intellij.lang.refactoring.RefactoringSupportProvider import org.jetbrains.jet.lang.psi.JetElement import org.jetbrains.jet.plugin.refactoring.JetRefactoringSupportProvider -public class ExtractFunctionToScopeAction: BasePlatformRefactoringAction() { +public abstract class AbstractExtractFunctionAction: BasePlatformRefactoringAction() { { setInjectedContext(true) } - override fun isAvailableInEditorOnly(): Boolean { - return true - } + override fun isAvailableInEditorOnly(): Boolean = true - protected override fun isEnabledOnElements(elements: Array): Boolean { - return elements.all { it is JetElement } - } - - override fun getRefactoringHandler(provider: RefactoringSupportProvider): RefactoringActionHandler? { - return (provider as? JetRefactoringSupportProvider)?.getExtractFunctionToScopeHandler() - } + protected override fun isEnabledOnElements(elements: Array): Boolean = + elements.all { it is JetElement } } + +public class ExtractFunctionAction: AbstractExtractFunctionAction() { + override fun getRefactoringHandler(provider: RefactoringSupportProvider): RefactoringActionHandler? = + (provider as? JetRefactoringSupportProvider)?.getExtractFunctionHandler() +} + +public class ExtractFunctionToScopeAction: AbstractExtractFunctionAction() { + override fun getRefactoringHandler(provider: RefactoringSupportProvider): RefactoringActionHandler? = + (provider as? JetRefactoringSupportProvider)?.getExtractFunctionToScopeHandler() +} \ No newline at end of file