From 997c7f9d6c4a69c077c4c025b71f6d07ee218361 Mon Sep 17 00:00:00 2001 From: Alexey Sedunov Date: Wed, 4 Mar 2015 17:51:07 +0300 Subject: [PATCH] Refactoring: Extract 'extractionEngine' package --- .../evaluate/extractFunctionForDebuggerUtil.kt | 18 +++++++++--------- .../ExtractKotlinFunctionHandler.kt | 3 ++- .../ui/KotlinExtractFunctionDialog.java | 10 +++++----- .../ui/KotlinParameterTablePanel.java | 2 +- .../ExtractableCodeDescriptor.kt | 10 +++++----- .../ExtractionData.kt | 2 +- .../duplicateUtil.kt | 2 +- .../extractableAnalysisUtil.kt | 16 ++++++++-------- .../extractorUtil.kt | 6 +++--- .../AbstractJetExtractionTest.kt | 8 ++++---- 10 files changed, 39 insertions(+), 38 deletions(-) rename idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/{extractFunction => extractionEngine}/ExtractableCodeDescriptor.kt (97%) rename idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/{extractFunction => extractionEngine}/ExtractionData.kt (99%) rename idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/{extractFunction => extractionEngine}/duplicateUtil.kt (98%) rename idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/{extractFunction => extractionEngine}/extractableAnalysisUtil.kt (98%) rename idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/{extractFunction => extractionEngine}/extractorUtil.kt (98%) diff --git a/idea/src/org/jetbrains/kotlin/idea/debugger/evaluate/extractFunctionForDebuggerUtil.kt b/idea/src/org/jetbrains/kotlin/idea/debugger/evaluate/extractFunctionForDebuggerUtil.kt index fdff74380c9..5ac8b893205 100644 --- a/idea/src/org/jetbrains/kotlin/idea/debugger/evaluate/extractFunctionForDebuggerUtil.kt +++ b/idea/src/org/jetbrains/kotlin/idea/debugger/evaluate/extractFunctionForDebuggerUtil.kt @@ -17,25 +17,25 @@ package org.jetbrains.kotlin.idea.debugger.evaluate import com.intellij.psi.PsiFile -import org.jetbrains.kotlin.idea.refactoring.introduce.extractFunction.AnalysisResult -import org.jetbrains.kotlin.idea.refactoring.introduce.extractFunction.AnalysisResult.ErrorMessage +import org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine.AnalysisResult +import org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine.AnalysisResult.ErrorMessage import org.jetbrains.kotlin.idea.codeInsight.CodeInsightUtils import org.jetbrains.kotlin.idea.refactoring.createTempCopy import org.jetbrains.kotlin.psi.codeFragmentUtil.suppressDiagnosticsInDebugMode import com.intellij.psi.PsiElement -import org.jetbrains.kotlin.idea.refactoring.introduce.extractFunction.ExtractionData -import org.jetbrains.kotlin.idea.refactoring.introduce.extractFunction.performAnalysis -import org.jetbrains.kotlin.idea.refactoring.introduce.extractFunction.AnalysisResult.Status +import org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine.ExtractionData +import org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine.performAnalysis +import org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine.AnalysisResult.Status import com.intellij.debugger.engine.evaluation.EvaluateExceptionUtil -import org.jetbrains.kotlin.idea.refactoring.introduce.extractFunction.validate -import org.jetbrains.kotlin.idea.refactoring.introduce.extractFunction.ExtractionOptions +import org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine.validate +import org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine.ExtractionOptions import org.jetbrains.kotlin.idea.util.application.runReadAction import com.intellij.psi.PsiManager import com.intellij.psi.impl.PsiModificationTrackerImpl import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.idea.intentions.InsertExplicitTypeArguments -import org.jetbrains.kotlin.idea.refactoring.introduce.extractFunction.ExtractionGeneratorOptions -import org.jetbrains.kotlin.idea.refactoring.introduce.extractFunction.generateDeclaration +import org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine.ExtractionGeneratorOptions +import org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine.generateDeclaration import org.jetbrains.kotlin.idea.util.psi.patternMatching.toRange import org.jetbrains.kotlin.idea.actions.internal.KotlinInternalMode import org.jetbrains.kotlin.psi.psiUtil.replaced 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 e90b5f82329..54e490fc0d3 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 @@ -37,7 +37,7 @@ import org.jetbrains.kotlin.idea.refactoring.checkConflictsInteractively import org.jetbrains.kotlin.idea.util.application.executeWriteCommand import org.jetbrains.kotlin.psi.JetBlockExpression import kotlin.test.fail -import org.jetbrains.kotlin.idea.refactoring.introduce.extractFunction.AnalysisResult.Status +import org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine.AnalysisResult.Status import com.intellij.openapi.ui.popup.JBPopupFactory import com.intellij.openapi.ui.MessageType import javax.swing.event.HyperlinkEvent @@ -48,6 +48,7 @@ import org.jetbrains.kotlin.psi.JetFunctionLiteral import org.jetbrains.kotlin.idea.util.psi.patternMatching.toRange import org.jetbrains.kotlin.idea.refactoring.chooseContainerElementIfNecessary import org.jetbrains.kotlin.idea.refactoring.getExtractionContainers +import org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine.* public open class ExtractKotlinFunctionHandlerHelper { open fun adjustExtractionData(data: ExtractionData): ExtractionData = data diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractFunction/ui/KotlinExtractFunctionDialog.java b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractFunction/ui/KotlinExtractFunctionDialog.java index e20541891f3..e1c8bca4dc4 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractFunction/ui/KotlinExtractFunctionDialog.java +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractFunction/ui/KotlinExtractFunctionDialog.java @@ -32,7 +32,7 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.kotlin.idea.refactoring.JetNameSuggester; import org.jetbrains.kotlin.idea.refactoring.JetRefactoringBundle; import org.jetbrains.kotlin.idea.refactoring.RefactoringPackage; -import org.jetbrains.kotlin.idea.refactoring.introduce.extractFunction.*; +import org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine.*; import org.jetbrains.kotlin.idea.util.IdeDescriptorRenderers; import javax.swing.*; @@ -83,7 +83,7 @@ public class KotlinExtractFunctionDialog extends DialogWrapper { } private boolean isVisibilitySectionAvailable() { - return ExtractFunctionPackage.isVisibilityApplicable(originalDescriptor.getDescriptor().getExtractionData()); + return ExtractionEnginePackage.isVisibilityApplicable(originalDescriptor.getDescriptor().getExtractionData()); } private String getFunctionName() { @@ -110,7 +110,7 @@ public class KotlinExtractFunctionDialog extends DialogWrapper { setOKActionEnabled(checkNames()); signaturePreviewField.setText( - ExtractFunctionPackage.getDeclarationText(currentDescriptor, getGeneratorOptions(), false, + ExtractionEnginePackage.getDeclarationText(currentDescriptor, getGeneratorOptions(), false, IdeDescriptorRenderers.SOURCE_CODE_SHORT_NAMES_IN_TYPES) ); } @@ -145,7 +145,7 @@ public class KotlinExtractFunctionDialog extends DialogWrapper { } ); - propertyCheckBox.setEnabled(ExtractFunctionPackage.canGenerateProperty(originalDescriptor.getDescriptor())); + propertyCheckBox.setEnabled(ExtractionEnginePackage.canGenerateProperty(originalDescriptor.getDescriptor())); if (propertyCheckBox.isEnabled()) { propertyCheckBox.addActionListener( new ActionListener() { @@ -183,7 +183,7 @@ public class KotlinExtractFunctionDialog extends DialogWrapper { @SuppressWarnings("SuspiciousMethodCalls") @Override protected void doOKAction() { - MultiMap conflicts = ExtractFunctionPackage.validate(currentDescriptor).getConflicts(); + MultiMap conflicts = ExtractionEnginePackage.validate(currentDescriptor).getConflicts(); conflicts.values().removeAll(originalDescriptor.getConflicts().values()); RefactoringPackage.checkConflictsInteractively( diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractFunction/ui/KotlinParameterTablePanel.java b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractFunction/ui/KotlinParameterTablePanel.java index 823aaa86e4e..ce81665ac04 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractFunction/ui/KotlinParameterTablePanel.java +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractFunction/ui/KotlinParameterTablePanel.java @@ -31,7 +31,7 @@ import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.kotlin.idea.refactoring.JetNameSuggester; -import org.jetbrains.kotlin.idea.refactoring.introduce.extractFunction.Parameter; +import org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine.Parameter; import org.jetbrains.kotlin.idea.util.IdeDescriptorRenderers; import org.jetbrains.kotlin.types.JetType; diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractFunction/ExtractableCodeDescriptor.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractionEngine/ExtractableCodeDescriptor.kt similarity index 97% rename from idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractFunction/ExtractableCodeDescriptor.kt rename to idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractionEngine/ExtractableCodeDescriptor.kt index ead68871f6c..3c3b066199f 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractFunction/ExtractableCodeDescriptor.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractionEngine/ExtractableCodeDescriptor.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.jetbrains.kotlin.idea.refactoring.introduce.extractFunction +package org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine import org.jetbrains.kotlin.types.JetType import org.jetbrains.kotlin.psi.JetPsiFactory @@ -31,9 +31,9 @@ import org.jetbrains.kotlin.psi.psiUtil.replaced import org.jetbrains.kotlin.psi.JetQualifiedExpression import org.jetbrains.kotlin.psi.JetTypeParameter import org.jetbrains.kotlin.psi.JetTypeConstraint -import org.jetbrains.kotlin.idea.refactoring.introduce.extractFunction.AnalysisResult.Status +import org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine.AnalysisResult.Status import org.jetbrains.kotlin.idea.refactoring.JetRefactoringBundle -import org.jetbrains.kotlin.idea.refactoring.introduce.extractFunction.AnalysisResult.ErrorMessage +import org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine.AnalysisResult.ErrorMessage import org.jetbrains.kotlin.descriptors.DeclarationDescriptor import org.jetbrains.kotlin.psi.JetProperty import org.jetbrains.kotlin.psi.JetDeclaration @@ -46,8 +46,8 @@ import java.util.Collections import org.jetbrains.kotlin.psi.JetExpression import org.jetbrains.kotlin.resolve.DescriptorUtils import org.jetbrains.kotlin.psi.JetReturnExpression -import org.jetbrains.kotlin.idea.refactoring.introduce.extractFunction.OutputValue.ExpressionValue -import org.jetbrains.kotlin.idea.refactoring.introduce.extractFunction.OutputValue.Jump +import org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine.OutputValue.ExpressionValue +import org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine.OutputValue.Jump import org.jetbrains.kotlin.descriptors.ModuleDescriptor import org.jetbrains.kotlin.types.TypeUtils import kotlin.properties.Delegates diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractFunction/ExtractionData.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractionEngine/ExtractionData.kt similarity index 99% rename from idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractFunction/ExtractionData.kt rename to idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractionEngine/ExtractionData.kt index f8c8a182eb7..178dd86ebeb 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractFunction/ExtractionData.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractionEngine/ExtractionData.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.jetbrains.kotlin.idea.refactoring.introduce.extractFunction +package org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine import com.intellij.psi.PsiElement import org.jetbrains.kotlin.descriptors.DeclarationDescriptor diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractFunction/duplicateUtil.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractionEngine/duplicateUtil.kt similarity index 98% rename from idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractFunction/duplicateUtil.kt rename to idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractionEngine/duplicateUtil.kt index 6c50730f33d..4da48953d56 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractFunction/duplicateUtil.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractionEngine/duplicateUtil.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.jetbrains.kotlin.idea.refactoring.introduce.extractFunction +package org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine import org.jetbrains.kotlin.idea.util.psi.patternMatching.JetPsiRange import com.intellij.openapi.application.ApplicationManager diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractFunction/extractableAnalysisUtil.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractionEngine/extractableAnalysisUtil.kt similarity index 98% rename from idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractFunction/extractableAnalysisUtil.kt rename to idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractionEngine/extractableAnalysisUtil.kt index 50eedbe9f62..bde32bb9938 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractFunction/extractableAnalysisUtil.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractionEngine/extractableAnalysisUtil.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.jetbrains.kotlin.idea.refactoring.introduce.extractFunction +package org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine import com.intellij.psi.PsiElement import org.jetbrains.kotlin.types.* @@ -42,8 +42,8 @@ import org.jetbrains.kotlin.utils.DFS.* import com.intellij.refactoring.util.RefactoringUIUtil import com.intellij.util.containers.MultiMap import org.jetbrains.kotlin.diagnostics.Errors -import org.jetbrains.kotlin.idea.refactoring.introduce.extractFunction.AnalysisResult.Status -import org.jetbrains.kotlin.idea.refactoring.introduce.extractFunction.AnalysisResult.ErrorMessage +import org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine.AnalysisResult.Status +import org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine.AnalysisResult.ErrorMessage import org.jetbrains.kotlin.cfg.pseudocode.instructions.special.* import org.jetbrains.kotlin.cfg.pseudocode.instructions.* import org.jetbrains.kotlin.cfg.pseudocode.instructions.eval.* @@ -55,12 +55,12 @@ import org.jetbrains.kotlin.resolve.bindingContextUtil.getTargetFunctionDescript import org.jetbrains.kotlin.resolve.bindingContextUtil.isUsedAsStatement import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils import org.jetbrains.kotlin.idea.imports.importableFqNameSafe -import org.jetbrains.kotlin.idea.refactoring.introduce.extractFunction.OutputValue.Initializer -import org.jetbrains.kotlin.idea.refactoring.introduce.extractFunction.OutputValue.ParameterUpdate -import org.jetbrains.kotlin.idea.refactoring.introduce.extractFunction.OutputValue.ExpressionValue -import org.jetbrains.kotlin.idea.refactoring.introduce.extractFunction.OutputValue.Jump +import org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine.OutputValue.Initializer +import org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine.OutputValue.ParameterUpdate +import org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine.OutputValue.ExpressionValue +import org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine.OutputValue.Jump import org.jetbrains.kotlin.cfg.pseudocodeTraverser.traverseFollowingInstructions -import org.jetbrains.kotlin.idea.refactoring.introduce.extractFunction.OutputValueBoxer.AsList +import org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine.OutputValueBoxer.AsList import org.jetbrains.kotlin.idea.refactoring.getContextForContainingDeclarationBody import org.jetbrains.kotlin.idea.util.IdeDescriptorRenderers import org.jetbrains.kotlin.idea.caches.resolve.findModuleDescriptor diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractFunction/extractorUtil.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractionEngine/extractorUtil.kt similarity index 98% rename from idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractFunction/extractorUtil.kt rename to idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractionEngine/extractorUtil.kt index d86d557726f..bce1a6f0e76 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractFunction/extractorUtil.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractionEngine/extractorUtil.kt @@ -14,16 +14,16 @@ * limitations under the License. */ -package org.jetbrains.kotlin.idea.refactoring.introduce.extractFunction +package org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine import com.intellij.psi.PsiElement import org.jetbrains.kotlin.builtins.KotlinBuiltIns import org.jetbrains.kotlin.idea.refactoring.JetNameSuggester import org.jetbrains.kotlin.idea.refactoring.JetNameValidatorImpl -import org.jetbrains.kotlin.idea.refactoring.introduce.extractFunction.OutputValue.* +import org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine.OutputValue.* import org.jetbrains.kotlin.idea.util.IdeDescriptorRenderers import org.jetbrains.kotlin.idea.refactoring.isMultiLine -import org.jetbrains.kotlin.idea.refactoring.introduce.extractFunction.OutputValueBoxer.AsTuple +import org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine.OutputValueBoxer.AsTuple import org.jetbrains.kotlin.idea.util.ShortenReferences import org.jetbrains.kotlin.idea.util.psi.patternMatching.JetPsiRange import org.jetbrains.kotlin.idea.util.psi.patternMatching.JetPsiRange.Match diff --git a/idea/tests/org/jetbrains/kotlin/idea/refactoring/introduce/introduceVariable/AbstractJetExtractionTest.kt b/idea/tests/org/jetbrains/kotlin/idea/refactoring/introduce/introduceVariable/AbstractJetExtractionTest.kt index afdf59ef729..82558da76cd 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/refactoring/introduce/introduceVariable/AbstractJetExtractionTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/refactoring/introduce/introduceVariable/AbstractJetExtractionTest.kt @@ -33,12 +33,12 @@ import kotlin.test.assertEquals import org.jetbrains.kotlin.idea.JetLightCodeInsightFixtureTestCase import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase import org.jetbrains.kotlin.idea.refactoring.introduce.extractFunction.ExtractKotlinFunctionHandlerHelper -import org.jetbrains.kotlin.idea.refactoring.introduce.extractFunction.ExtractionGeneratorOptions -import org.jetbrains.kotlin.idea.refactoring.introduce.extractFunction.ExtractableCodeDescriptor +import org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine.ExtractionGeneratorOptions +import org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine.ExtractableCodeDescriptor import org.jetbrains.kotlin.test.ConfigLibraryUtil import org.jetbrains.kotlin.idea.PluginTestCaseBase -import org.jetbrains.kotlin.idea.refactoring.introduce.extractFunction.ExtractionData -import org.jetbrains.kotlin.idea.refactoring.introduce.extractFunction.ExtractionOptions +import org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine.ExtractionData +import org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine.ExtractionOptions import org.jetbrains.kotlin.psi.JetDeclaration import com.intellij.psi.util.PsiTreeUtil import com.intellij.psi.PsiWhiteSpace