diff --git a/plugins/kotlin/code-insight/fixes-k2/tests/test/org/jetbrains/kotlin/idea/k2/codeinsight/fixes/HighLevelQuickFixTestGenerated.java b/plugins/kotlin/code-insight/fixes-k2/tests/test/org/jetbrains/kotlin/idea/k2/codeinsight/fixes/HighLevelQuickFixTestGenerated.java
index a9d5b2eaa960..809fe4d39972 100644
--- a/plugins/kotlin/code-insight/fixes-k2/tests/test/org/jetbrains/kotlin/idea/k2/codeinsight/fixes/HighLevelQuickFixTestGenerated.java
+++ b/plugins/kotlin/code-insight/fixes-k2/tests/test/org/jetbrains/kotlin/idea/k2/codeinsight/fixes/HighLevelQuickFixTestGenerated.java
@@ -8960,6 +8960,11 @@ public abstract class HighLevelQuickFixTestGenerated extends AbstractHighLevelQu
runTest("../../../idea/tests/testData/quickfix/implement/enum.kt");
}
+ @TestMetadata("fakeOverride.kt")
+ public void testFakeOverride() throws Exception {
+ runTest("../../../idea/tests/testData/quickfix/implement/fakeOverride.kt");
+ }
+
@TestMetadata("finalClass.kt")
public void testFinalClass() throws Exception {
runTest("../../../idea/tests/testData/quickfix/implement/finalClass.kt");
diff --git a/plugins/kotlin/code-insight/override-implement-k2/src/org/jetbrains/kotlin/idea/core/overrideImplement/KtImplementMembersHandler.kt b/plugins/kotlin/code-insight/override-implement-k2/src/org/jetbrains/kotlin/idea/core/overrideImplement/KtImplementMembersHandler.kt
index 672032f84de5..308b794b2a46 100644
--- a/plugins/kotlin/code-insight/override-implement-k2/src/org/jetbrains/kotlin/idea/core/overrideImplement/KtImplementMembersHandler.kt
+++ b/plugins/kotlin/code-insight/override-implement-k2/src/org/jetbrains/kotlin/idea/core/overrideImplement/KtImplementMembersHandler.kt
@@ -67,7 +67,7 @@ open class KtImplementMembersHandler : KtGenerateMembersHandler(true) {
}
if (abstractSymbols.isNotEmpty()) {
addAll(abstractSymbols)
- } else {
+ } else if (intersectionOverriddenSymbols.size > 1) {
// This for the [MANY_INTERFACES_MEMBER_NOT_IMPLEMENTED] and [MANY_IMPL_MEMBER_NOT_IMPLEMENTED] compiler errors.
addAll(intersectionOverriddenSymbols)
}
diff --git a/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/idea/quickfix/K1QuickFixTestGenerated.java b/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/idea/quickfix/K1QuickFixTestGenerated.java
index 7a0960728140..3a8ad88dd383 100644
--- a/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/idea/quickfix/K1QuickFixTestGenerated.java
+++ b/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/idea/quickfix/K1QuickFixTestGenerated.java
@@ -9747,6 +9747,11 @@ public abstract class K1QuickFixTestGenerated extends AbstractK1QuickFixTest {
runTest("testData/quickfix/implement/enum.kt");
}
+ @TestMetadata("fakeOverride.kt")
+ public void testFakeOverride() throws Exception {
+ runTest("testData/quickfix/implement/fakeOverride.kt");
+ }
+
@TestMetadata("finalClass.kt")
public void testFinalClass() throws Exception {
runTest("testData/quickfix/implement/finalClass.kt");
diff --git a/plugins/kotlin/idea/tests/testData/quickfix/implement/fakeOverride.k2.kt.after b/plugins/kotlin/idea/tests/testData/quickfix/implement/fakeOverride.k2.kt.after
new file mode 100644
index 000000000000..8829cbc24b46
--- /dev/null
+++ b/plugins/kotlin/idea/tests/testData/quickfix/implement/fakeOverride.k2.kt.after
@@ -0,0 +1,19 @@
+// "Implement members" "true"
+// WITH_STDLIB
+
+class C : java.io.Writer(), java.lang.Appendable {
+ override fun write(p0: CharArray, p1: Int, p2: Int) {
+ TODO("Not yet implemented")
+ }
+
+ override fun flush() {
+ TODO("Not yet implemented")
+ }
+
+ override fun close() {
+ TODO("Not yet implemented")
+ }
+}
+
+// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.core.overrideImplement.ImplementMembersHandler
+// FUS_K2_QUICKFIX_NAME: org.jetbrains.kotlin.idea.core.overrideImplement.KtImplementMembersQuickfix
diff --git a/plugins/kotlin/idea/tests/testData/quickfix/implement/fakeOverride.kt b/plugins/kotlin/idea/tests/testData/quickfix/implement/fakeOverride.kt
new file mode 100644
index 000000000000..aa40315c5b33
--- /dev/null
+++ b/plugins/kotlin/idea/tests/testData/quickfix/implement/fakeOverride.kt
@@ -0,0 +1,7 @@
+// "Implement members" "true"
+// WITH_STDLIB
+
+class C : java.io.Writer(), java.lang.Appendable
+
+// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.core.overrideImplement.ImplementMembersHandler
+// FUS_K2_QUICKFIX_NAME: org.jetbrains.kotlin.idea.core.overrideImplement.KtImplementMembersQuickfix
diff --git a/plugins/kotlin/idea/tests/testData/quickfix/implement/fakeOverride.kt.after b/plugins/kotlin/idea/tests/testData/quickfix/implement/fakeOverride.kt.after
new file mode 100644
index 000000000000..77dac7696d6f
--- /dev/null
+++ b/plugins/kotlin/idea/tests/testData/quickfix/implement/fakeOverride.kt.after
@@ -0,0 +1,19 @@
+// "Implement members" "true"
+// WITH_STDLIB
+
+class C : java.io.Writer(), java.lang.Appendable {
+ override fun close() {
+ TODO("Not yet implemented")
+ }
+
+ override fun flush() {
+ TODO("Not yet implemented")
+ }
+
+ override fun write(p0: CharArray, p1: Int, p2: Int) {
+ TODO("Not yet implemented")
+ }
+}
+
+// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.core.overrideImplement.ImplementMembersHandler
+// FUS_K2_QUICKFIX_NAME: org.jetbrains.kotlin.idea.core.overrideImplement.KtImplementMembersQuickfix