From f8e2841c2b00e4fefe94a12fc09acbe67eda6b26 Mon Sep 17 00:00:00 2001 From: Valentin Kipyatkov Date: Wed, 13 Aug 2014 14:43:04 +0400 Subject: [PATCH] Checked that auto-import works for extension properties --- .../org/jetbrains/jet/plugin/quickfix/AutoImportFix.kt | 4 ++-- .../autoImports/extensionPropertyImport.after.kt | 9 +++++++++ .../autoImports/extensionPropertyImport.before.Main.kt | 7 +++++++ .../extensionPropertyImport.before.data.Sample.kt | 3 +++ .../plugin/quickfix/QuickFixMultiFileTestGenerated.java | 5 +++++ 5 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 idea/testData/quickfix/autoImports/extensionPropertyImport.after.kt create mode 100644 idea/testData/quickfix/autoImports/extensionPropertyImport.before.Main.kt create mode 100644 idea/testData/quickfix/autoImports/extensionPropertyImport.before.data.Sample.kt diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/AutoImportFix.kt b/idea/src/org/jetbrains/jet/plugin/quickfix/AutoImportFix.kt index b244dc72bbb..6967e1416bf 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/AutoImportFix.kt +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/AutoImportFix.kt @@ -115,7 +115,7 @@ public class AutoImportFix(element: JetSimpleNameExpression) : JetHintAction + private fun getExtensions(name: String, expression: JetSimpleNameExpression, searchScope: GlobalSearchScope, resolveSession: ResolveSessionForBodies, project: Project): Collection = KotlinIndicesHelper(project).getCallableExtensions({ it == name }, expression, resolveSession, searchScope) .map { DescriptorUtils.getFqNameSafe(it) } .toSet() diff --git a/idea/testData/quickfix/autoImports/extensionPropertyImport.after.kt b/idea/testData/quickfix/autoImports/extensionPropertyImport.after.kt new file mode 100644 index 00000000000..c7fde410685 --- /dev/null +++ b/idea/testData/quickfix/autoImports/extensionPropertyImport.after.kt @@ -0,0 +1,9 @@ +// "Import" "true" +// ERROR: Unresolved reference: someVal +package test + +import test.data.someVal + +fun some() { + "".someVal +} diff --git a/idea/testData/quickfix/autoImports/extensionPropertyImport.before.Main.kt b/idea/testData/quickfix/autoImports/extensionPropertyImport.before.Main.kt new file mode 100644 index 00000000000..0bea059d8e3 --- /dev/null +++ b/idea/testData/quickfix/autoImports/extensionPropertyImport.before.Main.kt @@ -0,0 +1,7 @@ +// "Import" "true" +// ERROR: Unresolved reference: someVal +package test + +fun some() { + "".someVal +} diff --git a/idea/testData/quickfix/autoImports/extensionPropertyImport.before.data.Sample.kt b/idea/testData/quickfix/autoImports/extensionPropertyImport.before.data.Sample.kt new file mode 100644 index 00000000000..61908a00b3a --- /dev/null +++ b/idea/testData/quickfix/autoImports/extensionPropertyImport.before.data.Sample.kt @@ -0,0 +1,3 @@ +package test.data + +val String.someVal: Int get() = 1 \ No newline at end of file diff --git a/idea/tests/org/jetbrains/jet/plugin/quickfix/QuickFixMultiFileTestGenerated.java b/idea/tests/org/jetbrains/jet/plugin/quickfix/QuickFixMultiFileTestGenerated.java index 3317d45d82b..5f6c3f74f52 100644 --- a/idea/tests/org/jetbrains/jet/plugin/quickfix/QuickFixMultiFileTestGenerated.java +++ b/idea/tests/org/jetbrains/jet/plugin/quickfix/QuickFixMultiFileTestGenerated.java @@ -69,6 +69,11 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes doTestWithExtraFile("idea/testData/quickfix/autoImports/extensionFunctionImport.before.Main.kt"); } + @TestMetadata("extensionPropertyImport.before.Main.kt") + public void testExtensionPropertyImport() throws Exception { + doTestWithExtraFile("idea/testData/quickfix/autoImports/extensionPropertyImport.before.Main.kt"); + } + @TestMetadata("functionImport.before.Main.kt") public void testFunctionImport() throws Exception { doTestWithExtraFile("idea/testData/quickfix/autoImports/functionImport.before.Main.kt");