diff --git a/idea/ide-common/src/org/jetbrains/kotlin/idea/util/CallType.kt b/idea/ide-common/src/org/jetbrains/kotlin/idea/util/CallType.kt index cf305e0a6b1..fcb21165dea 100644 --- a/idea/ide-common/src/org/jetbrains/kotlin/idea/util/CallType.kt +++ b/idea/ide-common/src/org/jetbrains/kotlin/idea/util/CallType.kt @@ -44,6 +44,7 @@ public sealed class CallType(val descriptorKindFilter: object SAFE : CallType(DescriptorKindFilter.ALL) + // TODO: split into INFIX and OPERATOR (+ support other convention calls like [] etc) object INFIX : CallType(DescriptorKindFilter.FUNCTIONS exclude NonInfixExclude) object UNARY : CallType(DescriptorKindFilter.FUNCTIONS exclude NonUnaryExclude) diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/AutoImportFix.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/AutoImportFix.kt index 94aab776e20..e5a5b43913c 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/AutoImportFix.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/AutoImportFix.kt @@ -40,6 +40,7 @@ import org.jetbrains.kotlin.idea.core.KotlinIndicesHelper import org.jetbrains.kotlin.idea.core.getResolutionScope import org.jetbrains.kotlin.idea.core.isVisible import org.jetbrains.kotlin.idea.project.ProjectStructureUtil +import org.jetbrains.kotlin.idea.util.CallTypeAndReceiver import org.jetbrains.kotlin.psi.JetFile import org.jetbrains.kotlin.psi.JetPsiUtil import org.jetbrains.kotlin.psi.JetSimpleNameExpression @@ -85,7 +86,7 @@ public class AutoImportFix(element: JetSimpleNameExpression) : JetHintAction.isAvailable(project, editor, file)) && (anySuggestionFound ?: !suggestions.isEmpty()) + = (super.isAvailable(project, editor, file)) && (anySuggestionFound ?: !suggestions.isEmpty()) override fun invoke(project: Project, editor: Editor?, file: JetFile) { CommandProcessor.getInstance().runUndoTransparentAction { @@ -135,10 +136,14 @@ public class AutoImportFix(element: JetSimpleNameExpression) : JetHintActioninfix "" +} \ No newline at end of file diff --git a/idea/testData/quickfix/autoImports/infixCallAndObject.kt.after b/idea/testData/quickfix/autoImports/infixCallAndObject.kt.after new file mode 100644 index 00000000000..ffebcccf7c5 --- /dev/null +++ b/idea/testData/quickfix/autoImports/infixCallAndObject.kt.after @@ -0,0 +1,13 @@ +// "Import" "true" +// ERROR: Unresolved reference: infix +package x + +object infix { + fun invoke() { + + } +} + +fun x() { + "" infix "" +} \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java index c646308902a..72445d0b265 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java @@ -406,6 +406,12 @@ public class QuickFixTestGenerated extends AbstractQuickFixTest { doTest(fileName); } + @TestMetadata("infixCallAndObject.kt") + public void testInfixCallAndObject() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/autoImports/infixCallAndObject.kt"); + doTest(fileName); + } + @TestMetadata("libraryPropertyJsRuntime.kt") public void testLibraryPropertyJsRuntime() throws Exception { String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/autoImports/libraryPropertyJsRuntime.kt");