From 367b99a156a9023a09532e38704e0c7e67635868 Mon Sep 17 00:00:00 2001 From: Alexey Sedunov Date: Tue, 23 Dec 2014 14:16:42 +0300 Subject: [PATCH] Extraction refactorings: Do not suggest extraction of type elements #KT-3994 Fixed --- .../jet/plugin/refactoring/JetRefactoringUtil.java | 3 +++ idea/testData/refactoring/introduceVariable/TypeElement.kt | 3 +++ .../refactoring/introduceVariable/TypeElement.kt.after | 4 ++++ .../introduceVariable/JetExtractionTestGenerated.java | 6 ++++++ 4 files changed, 16 insertions(+) create mode 100644 idea/testData/refactoring/introduceVariable/TypeElement.kt create mode 100644 idea/testData/refactoring/introduceVariable/TypeElement.kt.after diff --git a/idea/src/org/jetbrains/jet/plugin/refactoring/JetRefactoringUtil.java b/idea/src/org/jetbrains/jet/plugin/refactoring/JetRefactoringUtil.java index 5e0d43f4ec3..313a9f13776 100644 --- a/idea/src/org/jetbrains/jet/plugin/refactoring/JetRefactoringUtil.java +++ b/idea/src/org/jetbrains/jet/plugin/refactoring/JetRefactoringUtil.java @@ -432,6 +432,9 @@ public class JetRefactoringUtil { } } } + else if (element instanceof JetTypeElement) { + expressions.clear(); + } element = element.getParent(); } return expressions; diff --git a/idea/testData/refactoring/introduceVariable/TypeElement.kt b/idea/testData/refactoring/introduceVariable/TypeElement.kt new file mode 100644 index 00000000000..089bdf049de --- /dev/null +++ b/idea/testData/refactoring/introduceVariable/TypeElement.kt @@ -0,0 +1,3 @@ +fun foo(t: Any) { + val x = t as List +} \ No newline at end of file diff --git a/idea/testData/refactoring/introduceVariable/TypeElement.kt.after b/idea/testData/refactoring/introduceVariable/TypeElement.kt.after new file mode 100644 index 00000000000..07cbc319254 --- /dev/null +++ b/idea/testData/refactoring/introduceVariable/TypeElement.kt.after @@ -0,0 +1,4 @@ +fun foo(t: Any) { + val list = t as List + val x = list +} \ No newline at end of file diff --git a/idea/tests/org/jetbrains/jet/plugin/refactoring/introduce/introduceVariable/JetExtractionTestGenerated.java b/idea/tests/org/jetbrains/jet/plugin/refactoring/introduce/introduceVariable/JetExtractionTestGenerated.java index 788c2277d28..13d4f1d5e99 100644 --- a/idea/tests/org/jetbrains/jet/plugin/refactoring/introduce/introduceVariable/JetExtractionTestGenerated.java +++ b/idea/tests/org/jetbrains/jet/plugin/refactoring/introduce/introduceVariable/JetExtractionTestGenerated.java @@ -243,6 +243,12 @@ public class JetExtractionTestGenerated extends AbstractJetExtractionTest { doIntroduceVariableTest(fileName); } + @TestMetadata("TypeElement.kt") + public void testTypeElement() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/refactoring/introduceVariable/TypeElement.kt"); + doIntroduceVariableTest(fileName); + } + @TestMetadata("UnresolvedOccurrences.kt") public void testUnresolvedOccurrences() throws Exception { String fileName = JetTestUtils.navigationMetadata("idea/testData/refactoring/introduceVariable/UnresolvedOccurrences.kt");