From 7dbcceee794a24b1b98092d744c7e551f40d4963 Mon Sep 17 00:00:00 2001 From: Alexey Sedunov Date: Tue, 17 Nov 2015 20:15:27 +0300 Subject: [PATCH] Minor: Replace PsiFile with KtFile in utility functions --- .../refactoring/KotlinRefactoringUtil.java | 14 +++++++------- .../ExtractKotlinFunctionHandler.kt | 19 +++++++++---------- .../KotlinIntroduceParameterHandler.kt | 2 +- .../KotlinIntroducePropertyHandler.kt | 4 +--- .../refactoring/introduce/introduceUtil.kt | 6 +++--- .../KotlinIntroduceVariableHandler.kt | 1 + .../idea/AbstractExpressionSelectionTest.java | 2 +- 7 files changed, 23 insertions(+), 25 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/KotlinRefactoringUtil.java b/idea/src/org/jetbrains/kotlin/idea/refactoring/KotlinRefactoringUtil.java index 7524bd816d5..e5aded5d0bf 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/KotlinRefactoringUtil.java +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/KotlinRefactoringUtil.java @@ -332,15 +332,15 @@ public class KotlinRefactoringUtil { public static void selectExpression( @NotNull Editor editor, - @NotNull PsiFile file, + @NotNull KtFile file, @NotNull SelectExpressionCallback callback) throws IntroduceRefactoringException { selectExpression(editor, file, true, callback); } public static void selectExpression(@NotNull Editor editor, - @NotNull PsiFile file, - boolean failOnEmptySuggestion, - @NotNull SelectExpressionCallback callback) throws IntroduceRefactoringException { + @NotNull KtFile file, + boolean failOnEmptySuggestion, + @NotNull SelectExpressionCallback callback) throws IntroduceRefactoringException { if (editor.getSelectionModel().hasSelection()) { int selectionStart = editor.getSelectionModel().getSelectionStart(); int selectionEnd = editor.getSelectionModel().getSelectionEnd(); @@ -439,7 +439,7 @@ public class KotlinRefactoringUtil { final ScopeHighlighter highlighter = new ScopeHighlighter(editor); final JList list = new JBList(model); - + list.setCellRenderer(new DefaultListCellRenderer() { @Override public Component getListCellRendererComponent(@NotNull JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { @@ -478,7 +478,7 @@ public class KotlinRefactoringUtil { highlighter.dropHighlight(); } }).createPopup().showInBestPositionFor(editor); - + } public static String getExpressionShortText(@NotNull KtElement element) { //todo: write appropriate implementation @@ -487,7 +487,7 @@ public class KotlinRefactoringUtil { @Nullable private static KtExpression findExpression( - @NotNull PsiFile file, int startOffset, int endOffset, boolean failOnNoExpression + @NotNull KtFile file, int startOffset, int endOffset, boolean failOnNoExpression ) throws IntroduceRefactoringException { KtExpression element = CodeInsightUtils.findExpression(file, startOffset, endOffset); if (element == null) { diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractFunction/ExtractKotlinFunctionHandler.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractFunction/ExtractKotlinFunctionHandler.kt index aa879f6c152..84bd13fc8ac 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractFunction/ExtractKotlinFunctionHandler.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractFunction/ExtractKotlinFunctionHandler.kt @@ -16,22 +16,21 @@ package org.jetbrains.kotlin.idea.refactoring.introduce.extractFunction -import com.intellij.refactoring.RefactoringActionHandler import com.intellij.openapi.actionSystem.DataContext -import com.intellij.psi.PsiFile import com.intellij.openapi.editor.Editor -import com.intellij.psi.PsiElement import com.intellij.openapi.project.Project +import com.intellij.psi.PsiElement +import com.intellij.psi.PsiFile +import com.intellij.refactoring.RefactoringActionHandler import org.jetbrains.kotlin.idea.core.refactoring.getExtractionContainers import org.jetbrains.kotlin.idea.refactoring.KotlinRefactoringBundle import org.jetbrains.kotlin.idea.refactoring.introduce.extractFunction.ui.KotlinExtractFunctionDialog -import org.jetbrains.kotlin.psi.KtFile -import org.jetbrains.kotlin.psi.KtBlockExpression -import kotlin.test.fail -import org.jetbrains.kotlin.psi.KtFunctionLiteral -import org.jetbrains.kotlin.idea.util.psi.patternMatching.toRange import org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine.* -import org.jetbrains.kotlin.idea.refactoring.introduce.* +import org.jetbrains.kotlin.idea.refactoring.introduce.selectElementsWithTargetSibling +import org.jetbrains.kotlin.idea.util.psi.patternMatching.toRange +import org.jetbrains.kotlin.psi.KtBlockExpression +import org.jetbrains.kotlin.psi.KtFile +import kotlin.test.fail public class ExtractKotlinFunctionHandler( public val allContainersEnabled: Boolean = false, @@ -63,7 +62,7 @@ public class ExtractKotlinFunctionHandler( } } - fun selectElements(editor: Editor, file: PsiFile, continuation: (elements: List, targetSibling: PsiElement) -> Unit) { + fun selectElements(editor: Editor, file: KtFile, continuation: (elements: List, targetSibling: PsiElement) -> Unit) { selectElementsWithTargetSibling( EXTRACT_FUNCTION, editor, diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceParameter/KotlinIntroduceParameterHandler.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceParameter/KotlinIntroduceParameterHandler.kt index 27476ec8a9c..773f426d8b0 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceParameter/KotlinIntroduceParameterHandler.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceParameter/KotlinIntroduceParameterHandler.kt @@ -171,7 +171,7 @@ private fun isObjectOrNonInnerClass(e: PsiElement): Boolean = e is KtObjectDecla fun selectNewParameterContext( editor: Editor, - file: PsiFile, + file: KtFile, continuation: (elements: List, targetParent: PsiElement) -> Unit ) { selectElementsWithTargetParent( diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceProperty/KotlinIntroducePropertyHandler.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceProperty/KotlinIntroducePropertyHandler.kt index a873e7d7e14..345fdf883a9 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceProperty/KotlinIntroducePropertyHandler.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceProperty/KotlinIntroducePropertyHandler.kt @@ -28,8 +28,6 @@ import org.jetbrains.kotlin.idea.util.psi.patternMatching.* import kotlin.test.* import com.intellij.openapi.application.* import org.jetbrains.kotlin.idea.core.refactoring.getExtractionContainers -import org.jetbrains.kotlin.idea.refactoring.introduce.extractFunction.EXTRACT_FUNCTION -import org.jetbrains.kotlin.idea.refactoring.introduce.introduceProperty.* import java.util.* public class KotlinIntroducePropertyHandler( @@ -54,7 +52,7 @@ public class KotlinIntroducePropertyHandler( } } - public fun selectElements(editor: Editor, file: PsiFile, continuation: (elements: List, targetSibling: PsiElement) -> Unit) { + public fun selectElements(editor: Editor, file: KtFile, continuation: (elements: List, targetSibling: PsiElement) -> Unit) { selectElementsWithTargetSibling( INTRODUCE_PROPERTY, editor, diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceUtil.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceUtil.kt index 8964acf5d60..b8f2307c7f4 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceUtil.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceUtil.kt @@ -21,13 +21,13 @@ import com.intellij.openapi.editor.ScrollType import com.intellij.openapi.project.Project import com.intellij.openapi.util.Key import com.intellij.psi.PsiElement -import com.intellij.psi.PsiFile import com.intellij.psi.util.PsiTreeUtil import org.jetbrains.kotlin.idea.codeInsight.CodeInsightUtils import org.jetbrains.kotlin.idea.core.refactoring.chooseContainerElementIfNecessary import org.jetbrains.kotlin.idea.refactoring.KotlinRefactoringBundle import org.jetbrains.kotlin.idea.refactoring.KotlinRefactoringUtil import org.jetbrains.kotlin.psi.KtExpression +import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.psi.psiUtil.collectDescendantsOfType import org.jetbrains.kotlin.psi.psiUtil.findDescendantOfType import org.jetbrains.kotlin.psi.psiUtil.getOutermostParentContainedIn @@ -43,7 +43,7 @@ fun showErrorHintByKey(project: Project, editor: Editor, messageKey: String, tit fun selectElementsWithTargetSibling( operationName: String, editor: Editor, - file: PsiFile, + file: KtFile, getContainers: (elements: List, commonParent: PsiElement) -> List, continuation: (elements: List, targetSibling: PsiElement) -> Unit ) { @@ -71,7 +71,7 @@ fun selectElementsWithTargetSibling( fun selectElementsWithTargetParent( operationName: String, editor: Editor, - file: PsiFile, + file: KtFile, getContainers: (elements: List, commonParent: PsiElement) -> List, continuation: (elements: List, targetParent: PsiElement) -> Unit ) { diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceVariable/KotlinIntroduceVariableHandler.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceVariable/KotlinIntroduceVariableHandler.kt index aba3ce4cc74..148341563a7 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceVariable/KotlinIntroduceVariableHandler.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceVariable/KotlinIntroduceVariableHandler.kt @@ -579,6 +579,7 @@ object KotlinIntroduceVariableHandler : KotlinIntroduceHandlerBase() { } override fun invoke(project: Project, editor: Editor, file: PsiFile, dataContext: DataContext) { + if (file !is KtFile) return try { KotlinRefactoringUtil.selectExpression(editor, file) { doRefactoring(project, editor, it, null, null) } } diff --git a/idea/tests/org/jetbrains/kotlin/idea/AbstractExpressionSelectionTest.java b/idea/tests/org/jetbrains/kotlin/idea/AbstractExpressionSelectionTest.java index 0f89ba06193..be2037752f5 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/AbstractExpressionSelectionTest.java +++ b/idea/tests/org/jetbrains/kotlin/idea/AbstractExpressionSelectionTest.java @@ -31,7 +31,7 @@ public abstract class AbstractExpressionSelectionTest extends LightCodeInsightTe final String expectedExpression = KotlinTestUtils.getLastCommentInFile((KtFile) getFile()); try { - KotlinRefactoringUtil.selectExpression(getEditor(), getFile(), new KotlinRefactoringUtil.SelectExpressionCallback() { + KotlinRefactoringUtil.selectExpression(getEditor(), (KtFile) getFile(), new KotlinRefactoringUtil.SelectExpressionCallback() { @Override public void run(@Nullable KtExpression expression) { assertNotNull("Selected expression mustn't be null", expression);