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