From 9e11a200067a5d193acdb47b6d977a9b943ef31b Mon Sep 17 00:00:00 2001 From: Alexey Sedunov Date: Mon, 7 Sep 2015 12:31:55 +0300 Subject: [PATCH] Create from Usage: Drop "Create package" quick-fix #KT-7138 Fixed --- ...teClassFromReferenceExpressionActionFactory.kt | 2 +- .../CreateClassFromTypeReferenceActionFactory.kt | 2 +- .../createClass/CreateClassFromUsageFactory.kt | 15 ++------------- 3 files changed, 4 insertions(+), 15 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createClass/CreateClassFromReferenceExpressionActionFactory.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createClass/CreateClassFromReferenceExpressionActionFactory.kt index be02f933f9a..1ccd9d1da4b 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createClass/CreateClassFromReferenceExpressionActionFactory.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createClass/CreateClassFromReferenceExpressionActionFactory.kt @@ -31,7 +31,7 @@ import org.jetbrains.kotlin.resolve.calls.callUtil.getCall import java.util.Arrays import java.util.Collections -public object CreateClassFromReferenceExpressionActionFactory : CreateClassFromUsageFactory(true) { +public object CreateClassFromReferenceExpressionActionFactory : CreateClassFromUsageFactory() { override fun getElementOfInterest(diagnostic: Diagnostic): JetSimpleNameExpression? { val refExpr = diagnostic.psiElement as? JetSimpleNameExpression ?: return null if (refExpr.getNonStrictParentOfType() != null) return null diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createClass/CreateClassFromTypeReferenceActionFactory.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createClass/CreateClassFromTypeReferenceActionFactory.kt index e5df7797ebf..affd376104d 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createClass/CreateClassFromTypeReferenceActionFactory.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createClass/CreateClassFromTypeReferenceActionFactory.kt @@ -29,7 +29,7 @@ import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.types.Variance import java.util.Collections -public object CreateClassFromTypeReferenceActionFactory : CreateClassFromUsageFactory(true) { +public object CreateClassFromTypeReferenceActionFactory : CreateClassFromUsageFactory() { override fun getElementOfInterest(diagnostic: Diagnostic): JetUserType? { return QuickFixUtil.getParentElementOfType(diagnostic, javaClass()) } diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createClass/CreateClassFromUsageFactory.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createClass/CreateClassFromUsageFactory.kt index 0e09f736997..5c33b671b11 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createClass/CreateClassFromUsageFactory.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createClass/CreateClassFromUsageFactory.kt @@ -22,11 +22,8 @@ import org.jetbrains.kotlin.idea.quickfix.NullQuickFix import org.jetbrains.kotlin.idea.quickfix.QuickFixWithDelegateFactory import org.jetbrains.kotlin.idea.quickfix.createFromUsage.CreateFromUsageFactory import org.jetbrains.kotlin.psi.JetElement -import org.jetbrains.kotlin.psi.JetUserType -abstract class CreateClassFromUsageFactory( - val createPackageIsAvailable: Boolean = false -) : CreateFromUsageFactory() { +abstract class CreateClassFromUsageFactory : CreateFromUsageFactory() { protected abstract fun getPossibleClassKinds(element: E, diagnostic: Diagnostic): List override fun createQuickFixes( @@ -46,14 +43,6 @@ abstract class CreateClassFromUsageFactory( } } - if (!createPackageIsAvailable) return classFixes - val refExpr = (originalElement as? JetUserType)?.referenceExpression ?: return classFixes - val packageFix = QuickFixWithDelegateFactory { - quickFixDataFactory(originalElementPointer)?.let { - refExpr.getCreatePackageFixIfApplicable(it.targetParent) - } ?: NullQuickFix - } - - return classFixes + packageFix + return classFixes } } \ No newline at end of file