diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/BasicCompletionSession.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/BasicCompletionSession.kt index e4eaf7b8983..fb4a3555628 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/BasicCompletionSession.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/BasicCompletionSession.kt @@ -36,6 +36,7 @@ import org.jetbrains.kotlin.idea.project.TargetPlatformDetector import org.jetbrains.kotlin.idea.references.KtSimpleNameReference.ShorteningMode.FORCED_SHORTENING import org.jetbrains.kotlin.idea.references.mainReference import org.jetbrains.kotlin.idea.stubindex.PackageIndexUtil +import org.jetbrains.kotlin.idea.util.CallType import org.jetbrains.kotlin.idea.util.CallTypeAndReceiver import org.jetbrains.kotlin.idea.util.getResolutionScope import org.jetbrains.kotlin.lexer.KtTokens @@ -332,8 +333,14 @@ class BasicCompletionSession( } } - if (configuration.staticMembers && prefix.isNotEmpty()) { - if (!receiverTypes.isNullOrEmpty()) { + if (!receiverTypes.isNullOrEmpty()) { + // N.B.: callable references to member extensions are forbidden + val shouldCompleteExtensionsFromObjects = when (callTypeAndReceiver.callType) { + CallType.DEFAULT, CallType.DOT, CallType.SAFE, CallType.INFIX -> true + else -> false + } + + if (shouldCompleteExtensionsFromObjects) { staticMembersCompletion.completeObjectMemberExtensionsFromIndices( indicesHelper(false), receiverTypes.map { it.type }, @@ -341,7 +348,9 @@ class BasicCompletionSession( collector ) } + } + if (configuration.staticMembers && prefix.isNotEmpty()) { if (callTypeAndReceiver is CallTypeAndReceiver.DEFAULT) { staticMembersCompletion.completeFromIndices(indicesHelper(false), collector) } diff --git a/idea/idea-completion/testData/basic/common/extensionMethodInObject/CompanionObjectExplicitReceiver.kt b/idea/idea-completion/testData/basic/common/extensionMethodInObject/CompanionObjectExplicitReceiver.kt index 110f3ce6154..476acc51090 100644 --- a/idea/idea-completion/testData/basic/common/extensionMethodInObject/CompanionObjectExplicitReceiver.kt +++ b/idea/idea-completion/testData/basic/common/extensionMethodInObject/CompanionObjectExplicitReceiver.kt @@ -11,6 +11,5 @@ fun usage(t: T) { t.foo } -// INVOCATION_COUNT: 2 // EXIST: { lookupString: "fooExtension", itemText: "fooExtension" } // EXIST: { lookupString: "fooProperty", itemText: "fooProperty" } \ No newline at end of file diff --git a/idea/idea-completion/testData/basic/common/extensionMethodInObject/CompanionObjectExplicitReceiverInfixExtension.kt b/idea/idea-completion/testData/basic/common/extensionMethodInObject/CompanionObjectExplicitReceiverInfixExtension.kt new file mode 100644 index 00000000000..665b58819e1 --- /dev/null +++ b/idea/idea-completion/testData/basic/common/extensionMethodInObject/CompanionObjectExplicitReceiverInfixExtension.kt @@ -0,0 +1,13 @@ +class T + +class A { + companion object { + infix fun T.fooExtension(i: Int) {} + } +} + +fun usage(t: T) { + t foo +} + +// EXIST: { lookupString: "fooExtension", itemText: "fooExtension" } diff --git a/idea/idea-completion/testData/basic/common/extensionMethodInObject/CompanionObjectExplicitReceiverNoPrefix.kt b/idea/idea-completion/testData/basic/common/extensionMethodInObject/CompanionObjectExplicitReceiverNoPrefix.kt new file mode 100644 index 00000000000..c0bb99b7477 --- /dev/null +++ b/idea/idea-completion/testData/basic/common/extensionMethodInObject/CompanionObjectExplicitReceiverNoPrefix.kt @@ -0,0 +1,15 @@ +class T + +class A { + companion object { + fun T.fooExtension() {} + val T.fooProperty get() = 10 + } +} + +fun usage(t: T) { + t. +} + +// EXIST: { lookupString: "fooExtension", itemText: "fooExtension" } +// EXIST: { lookupString: "fooProperty", itemText: "fooProperty" } \ No newline at end of file diff --git a/idea/idea-completion/testData/basic/common/extensionMethodInObject/CompanionObjectExplicitReceiverSafeAccess.kt b/idea/idea-completion/testData/basic/common/extensionMethodInObject/CompanionObjectExplicitReceiverSafeAccess.kt new file mode 100644 index 00000000000..7680cd88de9 --- /dev/null +++ b/idea/idea-completion/testData/basic/common/extensionMethodInObject/CompanionObjectExplicitReceiverSafeAccess.kt @@ -0,0 +1,15 @@ +class T + +class A { + companion object { + fun T.fooExtension() {} + val T.fooProperty get() = 10 + } +} + +fun usage(t: T) { + t?.foo +} + +// EXIST: { lookupString: "fooExtension", itemText: "fooExtension" } +// EXIST: { lookupString: "fooProperty", itemText: "fooProperty" } \ No newline at end of file diff --git a/idea/idea-completion/testData/basic/common/extensionMethodInObject/CompanionObjectImplicitReceiver.kt b/idea/idea-completion/testData/basic/common/extensionMethodInObject/CompanionObjectImplicitReceiver.kt index b55c3e1af14..b0419794d92 100644 --- a/idea/idea-completion/testData/basic/common/extensionMethodInObject/CompanionObjectImplicitReceiver.kt +++ b/idea/idea-completion/testData/basic/common/extensionMethodInObject/CompanionObjectImplicitReceiver.kt @@ -11,6 +11,5 @@ fun T.usage() { foo } -// INVOCATION_COUNT: 2 // EXIST: { lookupString: "fooExtension", itemText: "fooExtension" } // EXIST: { lookupString: "fooProperty", itemText: "fooProperty" } \ No newline at end of file diff --git a/idea/idea-completion/testData/basic/common/extensionMethodInObject/CorrectTypeExplicitReceiver.kt b/idea/idea-completion/testData/basic/common/extensionMethodInObject/CorrectTypeExplicitReceiver.kt index 71e208bbd4a..646bbe4cbdb 100644 --- a/idea/idea-completion/testData/basic/common/extensionMethodInObject/CorrectTypeExplicitReceiver.kt +++ b/idea/idea-completion/testData/basic/common/extensionMethodInObject/CorrectTypeExplicitReceiver.kt @@ -21,7 +21,6 @@ fun usage(b: B) { b.foo } -// INVOCATION_COUNT: 2 // EXIST: { lookupString: "fooForAny", itemText: "fooForAny" } // EXIST: { lookupString: "fooForT", itemText: "fooForT" } diff --git a/idea/idea-completion/testData/basic/common/extensionMethodInObject/CorrectTypeImplicitReceiver.kt b/idea/idea-completion/testData/basic/common/extensionMethodInObject/CorrectTypeImplicitReceiver.kt index 0fd3a245c21..8450d90c134 100644 --- a/idea/idea-completion/testData/basic/common/extensionMethodInObject/CorrectTypeImplicitReceiver.kt +++ b/idea/idea-completion/testData/basic/common/extensionMethodInObject/CorrectTypeImplicitReceiver.kt @@ -21,7 +21,6 @@ fun B.usage() { foo } -// INVOCATION_COUNT: 2 // EXIST: { lookupString: "fooForAny", itemText: "fooForAny" } // EXIST: { lookupString: "fooForT", itemText: "fooForT" } @@ -30,7 +29,7 @@ fun B.usage() { // EXIST: { lookupString: "fooForTGeneric", itemText: "fooForTGeneric" } // EXIST: { lookupString: "fooForBGeneric", itemText: "fooForBGeneric" } -// EXIST: fooNoReceiver +// ABSENT: fooNoReceiver // ABSENT: fooForC // ABSENT: fooForCGeneric diff --git a/idea/idea-completion/testData/basic/common/extensionMethodInObject/MultipleImplicitReceivers.kt b/idea/idea-completion/testData/basic/common/extensionMethodInObject/MultipleImplicitReceivers.kt index 449126e87ea..841c1f46122 100644 --- a/idea/idea-completion/testData/basic/common/extensionMethodInObject/MultipleImplicitReceivers.kt +++ b/idea/idea-completion/testData/basic/common/extensionMethodInObject/MultipleImplicitReceivers.kt @@ -17,7 +17,6 @@ class A { } } -// INVOCATION_COUNT: 2 // EXIST: { lookupString: "fooForA", itemText: "fooForA" } // EXIST: { lookupString: "fooForB", itemText: "fooForB" } // EXIST: { lookupString: "fooForT", itemText: "fooForT" } diff --git a/idea/idea-completion/testData/basic/common/extensionMethodInObject/ObjectExplicitReceiver.kt b/idea/idea-completion/testData/basic/common/extensionMethodInObject/ObjectExplicitReceiver.kt index dfd7e69956d..33412ac911d 100644 --- a/idea/idea-completion/testData/basic/common/extensionMethodInObject/ObjectExplicitReceiver.kt +++ b/idea/idea-completion/testData/basic/common/extensionMethodInObject/ObjectExplicitReceiver.kt @@ -9,6 +9,5 @@ fun usage(t: T) { t.foo } -// INVOCATION_COUNT: 2 // EXIST: { lookupString: "fooExtension", itemText: "fooExtension" } // EXIST: { lookupString: "fooProperty", itemText: "fooProperty" } \ No newline at end of file diff --git a/idea/idea-completion/testData/basic/common/extensionMethodInObject/ObjectImplicitReceiver.kt b/idea/idea-completion/testData/basic/common/extensionMethodInObject/ObjectImplicitReceiver.kt index 924b98e4eef..e69d0b49287 100644 --- a/idea/idea-completion/testData/basic/common/extensionMethodInObject/ObjectImplicitReceiver.kt +++ b/idea/idea-completion/testData/basic/common/extensionMethodInObject/ObjectImplicitReceiver.kt @@ -9,6 +9,5 @@ fun T.usage() { foo } -// INVOCATION_COUNT: 2 // EXIST: { lookupString: "fooExtension", itemText: "fooExtension" } // EXIST: { lookupString: "fooProperty", itemText: "fooProperty" } \ No newline at end of file diff --git a/idea/idea-completion/testData/basic/common/extensionMethodInObject/OverridenExtensionsInObject.kt b/idea/idea-completion/testData/basic/common/extensionMethodInObject/OverridenExtensionsInObject.kt index 030474f0218..e2267662d0d 100644 --- a/idea/idea-completion/testData/basic/common/extensionMethodInObject/OverridenExtensionsInObject.kt +++ b/idea/idea-completion/testData/basic/common/extensionMethodInObject/OverridenExtensionsInObject.kt @@ -14,6 +14,5 @@ fun T.usage() { foo } -// INVOCATION_COUNT: 2 // EXIST: { lookupString: "fooExtension", itemText: "fooExtension" } // EXIST: { lookupString: "fooProperty", itemText: "fooProperty" } \ No newline at end of file diff --git a/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/CompanionObjectInSameFileExplicitReceiver.kt b/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/CompanionObjectInSameFileExplicitReceiver.kt index e54a31c5b57..31ac726ee54 100644 --- a/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/CompanionObjectInSameFileExplicitReceiver.kt +++ b/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/CompanionObjectInSameFileExplicitReceiver.kt @@ -8,5 +8,4 @@ fun usage(t: T) { t.f } -// INVOCATION_COUNT: 2 // ELEMENT: foo \ No newline at end of file diff --git a/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/CompanionObjectInSameFileExplicitReceiver.kt.after b/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/CompanionObjectInSameFileExplicitReceiver.kt.after index d87c8a10ef7..671d32765bd 100644 --- a/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/CompanionObjectInSameFileExplicitReceiver.kt.after +++ b/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/CompanionObjectInSameFileExplicitReceiver.kt.after @@ -10,5 +10,4 @@ fun usage(t: T) { t.foo() } -// INVOCATION_COUNT: 2 // ELEMENT: foo \ No newline at end of file diff --git a/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/CompanionObjectInSameFileImplicitReceiver.kt b/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/CompanionObjectInSameFileImplicitReceiver.kt index ecbfb6441dc..09c06d9cfe2 100644 --- a/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/CompanionObjectInSameFileImplicitReceiver.kt +++ b/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/CompanionObjectInSameFileImplicitReceiver.kt @@ -8,5 +8,4 @@ fun T.usage() { f } -// INVOCATION_COUNT: 2 // ELEMENT: foo \ No newline at end of file diff --git a/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/CompanionObjectInSameFileImplicitReceiver.kt.after b/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/CompanionObjectInSameFileImplicitReceiver.kt.after index f7fb703fcc0..62644d1a6f4 100644 --- a/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/CompanionObjectInSameFileImplicitReceiver.kt.after +++ b/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/CompanionObjectInSameFileImplicitReceiver.kt.after @@ -10,5 +10,4 @@ fun T.usage() { foo() } -// INVOCATION_COUNT: 2 // ELEMENT: foo \ No newline at end of file diff --git a/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/NestedCompanionObjectInSameFileExplicitReceiver.kt b/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/NestedCompanionObjectInSameFileExplicitReceiver.kt index d8be5941fd8..0a1caecab09 100644 --- a/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/NestedCompanionObjectInSameFileExplicitReceiver.kt +++ b/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/NestedCompanionObjectInSameFileExplicitReceiver.kt @@ -12,5 +12,4 @@ fun usage(t: T) { t.f } -// INVOCATION_COUNT: 2 // ELEMENT: foo \ No newline at end of file diff --git a/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/NestedCompanionObjectInSameFileExplicitReceiver.kt.after b/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/NestedCompanionObjectInSameFileExplicitReceiver.kt.after index 1a470ad4d0f..6eab969703e 100644 --- a/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/NestedCompanionObjectInSameFileExplicitReceiver.kt.after +++ b/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/NestedCompanionObjectInSameFileExplicitReceiver.kt.after @@ -14,5 +14,4 @@ fun usage(t: T) { t.foo() } -// INVOCATION_COUNT: 2 // ELEMENT: foo \ No newline at end of file diff --git a/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/NestedCompanionObjectInSameFileImplicitReceiver.kt b/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/NestedCompanionObjectInSameFileImplicitReceiver.kt index ef0b2943ef4..2df511afd16 100644 --- a/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/NestedCompanionObjectInSameFileImplicitReceiver.kt +++ b/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/NestedCompanionObjectInSameFileImplicitReceiver.kt @@ -12,5 +12,4 @@ fun T.usage() { f } -// INVOCATION_COUNT: 2 // ELEMENT: foo \ No newline at end of file diff --git a/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/NestedCompanionObjectInSameFileImplicitReceiver.kt.after b/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/NestedCompanionObjectInSameFileImplicitReceiver.kt.after index d214931bafb..e1e2d40cfbb 100644 --- a/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/NestedCompanionObjectInSameFileImplicitReceiver.kt.after +++ b/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/NestedCompanionObjectInSameFileImplicitReceiver.kt.after @@ -14,5 +14,4 @@ fun T.usage() { foo() } -// INVOCATION_COUNT: 2 // ELEMENT: foo \ No newline at end of file diff --git a/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/NestedObjectInSameFileExplicitReceiver.kt b/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/NestedObjectInSameFileExplicitReceiver.kt index eb3d7d8322c..866c838506c 100644 --- a/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/NestedObjectInSameFileExplicitReceiver.kt +++ b/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/NestedObjectInSameFileExplicitReceiver.kt @@ -10,5 +10,4 @@ fun usage(t: T) { t.f } -// INVOCATION_COUNT: 2 // ELEMENT: foo \ No newline at end of file diff --git a/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/NestedObjectInSameFileExplicitReceiver.kt.after b/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/NestedObjectInSameFileExplicitReceiver.kt.after index 4e6c0974cd8..746df498a1e 100644 --- a/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/NestedObjectInSameFileExplicitReceiver.kt.after +++ b/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/NestedObjectInSameFileExplicitReceiver.kt.after @@ -12,5 +12,4 @@ fun usage(t: T) { t.foo() } -// INVOCATION_COUNT: 2 // ELEMENT: foo \ No newline at end of file diff --git a/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/NestedObjectInSameFileImplicitReceiver.kt b/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/NestedObjectInSameFileImplicitReceiver.kt index 40d8300858c..4cc8c22bf23 100644 --- a/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/NestedObjectInSameFileImplicitReceiver.kt +++ b/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/NestedObjectInSameFileImplicitReceiver.kt @@ -10,5 +10,4 @@ fun T.usage() { f } -// INVOCATION_COUNT: 2 // ELEMENT: foo \ No newline at end of file diff --git a/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/NestedObjectInSameFileImplicitReceiver.kt.after b/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/NestedObjectInSameFileImplicitReceiver.kt.after index 14774614156..9a2391352f3 100644 --- a/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/NestedObjectInSameFileImplicitReceiver.kt.after +++ b/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/NestedObjectInSameFileImplicitReceiver.kt.after @@ -12,5 +12,4 @@ fun T.usage() { foo() } -// INVOCATION_COUNT: 2 // ELEMENT: foo \ No newline at end of file diff --git a/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/ObjectInSameFileExplicitReceiver.kt b/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/ObjectInSameFileExplicitReceiver.kt index c390fea75fa..09b722102bb 100644 --- a/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/ObjectInSameFileExplicitReceiver.kt +++ b/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/ObjectInSameFileExplicitReceiver.kt @@ -8,5 +8,4 @@ fun usage(t: T) { t.f } -// INVOCATION_COUNT: 2 // ELEMENT: foo \ No newline at end of file diff --git a/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/ObjectInSameFileExplicitReceiver.kt.after b/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/ObjectInSameFileExplicitReceiver.kt.after index 4dba2fd9dad..57eb377f102 100644 --- a/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/ObjectInSameFileExplicitReceiver.kt.after +++ b/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/ObjectInSameFileExplicitReceiver.kt.after @@ -10,5 +10,4 @@ fun usage(t: T) { t.foo() } -// INVOCATION_COUNT: 2 // ELEMENT: foo \ No newline at end of file diff --git a/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/ObjectInSameFileImplicitReceiver.kt b/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/ObjectInSameFileImplicitReceiver.kt index c4703379bea..13de8d0ccbe 100644 --- a/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/ObjectInSameFileImplicitReceiver.kt +++ b/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/ObjectInSameFileImplicitReceiver.kt @@ -8,5 +8,4 @@ fun T.usage() { f } -// INVOCATION_COUNT: 2 // ELEMENT: foo \ No newline at end of file diff --git a/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/ObjectInSameFileImplicitReceiver.kt.after b/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/ObjectInSameFileImplicitReceiver.kt.after index effc70b942b..33b3b51ad5d 100644 --- a/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/ObjectInSameFileImplicitReceiver.kt.after +++ b/idea/idea-completion/testData/handlers/basic/extensionMethodInObject/ObjectInSameFileImplicitReceiver.kt.after @@ -10,5 +10,4 @@ fun T.usage() { foo() } -// INVOCATION_COUNT: 2 // ELEMENT: foo \ No newline at end of file diff --git a/idea/idea-completion/tests/org/jetbrains/kotlin/idea/completion/test/JSBasicCompletionTestGenerated.java b/idea/idea-completion/tests/org/jetbrains/kotlin/idea/completion/test/JSBasicCompletionTestGenerated.java index f8e7be44472..8aa4199f584 100644 --- a/idea/idea-completion/tests/org/jetbrains/kotlin/idea/completion/test/JSBasicCompletionTestGenerated.java +++ b/idea/idea-completion/tests/org/jetbrains/kotlin/idea/completion/test/JSBasicCompletionTestGenerated.java @@ -1255,6 +1255,21 @@ public class JSBasicCompletionTestGenerated extends AbstractJSBasicCompletionTes runTest("idea/idea-completion/testData/basic/common/extensionMethodInObject/CompanionObjectExplicitReceiver.kt"); } + @TestMetadata("CompanionObjectExplicitReceiverInfixExtension.kt") + public void testCompanionObjectExplicitReceiverInfixExtension() throws Exception { + runTest("idea/idea-completion/testData/basic/common/extensionMethodInObject/CompanionObjectExplicitReceiverInfixExtension.kt"); + } + + @TestMetadata("CompanionObjectExplicitReceiverNoPrefix.kt") + public void testCompanionObjectExplicitReceiverNoPrefix() throws Exception { + runTest("idea/idea-completion/testData/basic/common/extensionMethodInObject/CompanionObjectExplicitReceiverNoPrefix.kt"); + } + + @TestMetadata("CompanionObjectExplicitReceiverSafeAccess.kt") + public void testCompanionObjectExplicitReceiverSafeAccess() throws Exception { + runTest("idea/idea-completion/testData/basic/common/extensionMethodInObject/CompanionObjectExplicitReceiverSafeAccess.kt"); + } + @TestMetadata("CompanionObjectImplicitReceiver.kt") public void testCompanionObjectImplicitReceiver() throws Exception { runTest("idea/idea-completion/testData/basic/common/extensionMethodInObject/CompanionObjectImplicitReceiver.kt"); diff --git a/idea/idea-completion/tests/org/jetbrains/kotlin/idea/completion/test/JvmBasicCompletionTestGenerated.java b/idea/idea-completion/tests/org/jetbrains/kotlin/idea/completion/test/JvmBasicCompletionTestGenerated.java index 7add807232a..cb8e0a2927c 100644 --- a/idea/idea-completion/tests/org/jetbrains/kotlin/idea/completion/test/JvmBasicCompletionTestGenerated.java +++ b/idea/idea-completion/tests/org/jetbrains/kotlin/idea/completion/test/JvmBasicCompletionTestGenerated.java @@ -1255,6 +1255,21 @@ public class JvmBasicCompletionTestGenerated extends AbstractJvmBasicCompletionT runTest("idea/idea-completion/testData/basic/common/extensionMethodInObject/CompanionObjectExplicitReceiver.kt"); } + @TestMetadata("CompanionObjectExplicitReceiverInfixExtension.kt") + public void testCompanionObjectExplicitReceiverInfixExtension() throws Exception { + runTest("idea/idea-completion/testData/basic/common/extensionMethodInObject/CompanionObjectExplicitReceiverInfixExtension.kt"); + } + + @TestMetadata("CompanionObjectExplicitReceiverNoPrefix.kt") + public void testCompanionObjectExplicitReceiverNoPrefix() throws Exception { + runTest("idea/idea-completion/testData/basic/common/extensionMethodInObject/CompanionObjectExplicitReceiverNoPrefix.kt"); + } + + @TestMetadata("CompanionObjectExplicitReceiverSafeAccess.kt") + public void testCompanionObjectExplicitReceiverSafeAccess() throws Exception { + runTest("idea/idea-completion/testData/basic/common/extensionMethodInObject/CompanionObjectExplicitReceiverSafeAccess.kt"); + } + @TestMetadata("CompanionObjectImplicitReceiver.kt") public void testCompanionObjectImplicitReceiver() throws Exception { runTest("idea/idea-completion/testData/basic/common/extensionMethodInObject/CompanionObjectImplicitReceiver.kt");