From 5e765c525e398c7721e3c9c7aaec24a21217a6f0 Mon Sep 17 00:00:00 2001 From: Toshiaki Kameyama Date: Thu, 21 Dec 2017 14:08:08 +0300 Subject: [PATCH] Do not suggest quickfix 'Specify type explicitly' with existing type So #KT-15180 Fixed --- .../kotlin/idea/quickfix/SpecifyTypeExplicitlyFix.kt | 1 + idea/testData/quickfix/typeAddition/propertyHasType.kt | 6 ++++++ .../kotlin/idea/quickfix/QuickFixTestGenerated.java | 6 ++++++ 3 files changed, 13 insertions(+) create mode 100644 idea/testData/quickfix/typeAddition/propertyHasType.kt diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/SpecifyTypeExplicitlyFix.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/SpecifyTypeExplicitlyFix.kt index d7cc380c843..d33d7652b38 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/SpecifyTypeExplicitlyFix.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/SpecifyTypeExplicitlyFix.kt @@ -41,6 +41,7 @@ class SpecifyTypeExplicitlyFix : PsiElementBaseIntentionAction() { override fun isAvailable(project: Project, editor: Editor, element: PsiElement): Boolean { val declaration = declarationByElement(element) + if (declaration?.typeReference != null) return false text = when (declaration) { is KtProperty -> "Specify type explicitly" is KtNamedFunction -> "Specify return type explicitly" diff --git a/idea/testData/quickfix/typeAddition/propertyHasType.kt b/idea/testData/quickfix/typeAddition/propertyHasType.kt new file mode 100644 index 00000000000..1aacb4fb2db --- /dev/null +++ b/idea/testData/quickfix/typeAddition/propertyHasType.kt @@ -0,0 +1,6 @@ +// "Specify return type explicitly" "false" +// ACTION: Add getter +// ACTION: Add initializer +// ACTION: Convert property to function +// ERROR: Property must be initialized +val test: Int diff --git a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java index 7ccabaf6d3f..0f98ba25b4b 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java @@ -11012,6 +11012,12 @@ public class QuickFixTestGenerated extends AbstractQuickFixTest { doTest(fileName); } + @TestMetadata("propertyHasType.kt") + public void testPropertyHasType() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/quickfix/typeAddition/propertyHasType.kt"); + doTest(fileName); + } + @TestMetadata("propertyWithGetterWithBlockBody.kt") public void testPropertyWithGetterWithBlockBody() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("idea/testData/quickfix/typeAddition/propertyWithGetterWithBlockBody.kt");