From f0e890797a3f46a9f09d698a5f32daba35c2d631 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Sat, 28 Jan 2017 18:32:34 +0100 Subject: [PATCH] Disable "Create type alias from usage" fix when language level doesn't support type aliases #KT-16036 Fixed --- .../CreateTypeAliasFromTypeReferenceActionFactory.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createTypeAlias/CreateTypeAliasFromTypeReferenceActionFactory.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createTypeAlias/CreateTypeAliasFromTypeReferenceActionFactory.kt index c01b1480cc4..c552e5f539a 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createTypeAlias/CreateTypeAliasFromTypeReferenceActionFactory.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createTypeAlias/CreateTypeAliasFromTypeReferenceActionFactory.kt @@ -16,17 +16,17 @@ package org.jetbrains.kotlin.idea.quickfix.createFromUsage.createTypeAlias +import org.jetbrains.kotlin.config.LanguageFeature import org.jetbrains.kotlin.diagnostics.Diagnostic import org.jetbrains.kotlin.idea.core.CollectingNameValidator import org.jetbrains.kotlin.idea.core.KotlinNameSuggester import org.jetbrains.kotlin.idea.core.NewDeclarationNameValidator +import org.jetbrains.kotlin.idea.project.languageVersionSettings import org.jetbrains.kotlin.idea.quickfix.IntentionActionPriority import org.jetbrains.kotlin.idea.quickfix.KotlinSingleIntentionActionFactoryWithDelegate import org.jetbrains.kotlin.idea.quickfix.createFromUsage.createClass.CreateClassFromTypeReferenceActionFactory import org.jetbrains.kotlin.idea.quickfix.createFromUsage.createClass.getTypeConstraintInfo -import org.jetbrains.kotlin.psi.KtClassOrObject import org.jetbrains.kotlin.psi.KtDeclaration -import org.jetbrains.kotlin.psi.KtFunction import org.jetbrains.kotlin.psi.KtUserType import org.jetbrains.kotlin.psi.psiUtil.getParentOfTypeAndBranch import org.jetbrains.kotlin.types.typeUtil.containsError @@ -36,6 +36,7 @@ object CreateTypeAliasFromTypeReferenceActionFactory : KotlinSingleIntentionActi override fun extractFixData(element: KtUserType, diagnostic: Diagnostic): TypeAliasInfo? { if (element.getParentOfTypeAndBranch(true) { qualifier } != null) return null + if (!element.languageVersionSettings.supportsFeature(LanguageFeature.TypeAliases)) return null val classInfo = CreateClassFromTypeReferenceActionFactory.extractFixData(element, diagnostic) ?: return null if (classInfo.targetParent is KtDeclaration) return null