[FIR] When enhancing a fake override, do not use dispatch qualifiers

When a fake override is created in a class with a JSpecify qualifier -
NullMarked or NullUnmarked - these annotations should not impact the
enhanced types of this override.

^KT-65719 Fixed
diff --git a/compiler/fir/fir-jvm/src/org/jetbrains/kotlin/fir/java/enhancement/SignatureEnhancement.kt b/compiler/fir/fir-jvm/src/org/jetbrains/kotlin/fir/java/enhancement/SignatureEnhancement.kt
index 815e34d..d6170b9 100644
--- a/compiler/fir/fir-jvm/src/org/jetbrains/kotlin/fir/java/enhancement/SignatureEnhancement.kt
+++ b/compiler/fir/fir-jvm/src/org/jetbrains/kotlin/fir/java/enhancement/SignatureEnhancement.kt
@@ -137,8 +137,10 @@
         return enhancementsCache.enhancedVariables.getValue(property, this to name)
     }
 
-    private fun FirDeclaration.computeDefaultQualifiers() =
-        typeQualifierResolver.extractAndMergeDefaultQualifiers(contextQualifiers, annotations)
+    private fun FirCallableDeclaration.computeDefaultQualifiers(): JavaTypeQualifiersByElementType? {
+        if (isSubstitutionOrIntersectionOverride) return null // Enhancement of fake overrides should not use dispatcher's qualifiers.
+        return typeQualifierResolver.extractAndMergeDefaultQualifiers(contextQualifiers, annotations)
+    }
 
     @PrivateForInline
     internal fun enhance(
diff --git a/compiler/testData/diagnostics/foreignAnnotationsTests/java8Tests/jspecify/strictMode/FakeOverride.fir.kt b/compiler/testData/diagnostics/foreignAnnotationsTests/java8Tests/jspecify/strictMode/FakeOverride.fir.kt
new file mode 100644
index 0000000..683146a
--- /dev/null
+++ b/compiler/testData/diagnostics/foreignAnnotationsTests/java8Tests/jspecify/strictMode/FakeOverride.fir.kt
@@ -0,0 +1,29 @@
+// JSPECIFY_STATE: strict
+// ISSUE: KT-65719
+
+// FILE: MessageOrBuilder.java
+public interface MessageOrBuilder {
+    Object o();
+}
+
+// FILE: GeneratedMessage.java
+public class GeneratedMessage implements MessageOrBuilder {
+    @Override
+    public Object o() {
+        return null;
+    }
+}
+
+// FILE: FooOrBuilder.java
+public interface FooOrBuilder extends MessageOrBuilder {}
+
+// FILE: Foo.java
+import org.jspecify.annotations.NullMarked;
+
+@NullMarked
+public class Foo extends GeneratedMessage implements FooOrBuilder {}
+
+// FILE: main.kt
+fun main() {
+    <!DEBUG_INFO_EXPRESSION_TYPE("(kotlin.Any..kotlin.Any?)")!>Foo().o()<!>
+}
diff --git a/compiler/testData/diagnostics/foreignAnnotationsTests/java8Tests/jspecify/strictMode/FakeOverride.kt b/compiler/testData/diagnostics/foreignAnnotationsTests/java8Tests/jspecify/strictMode/FakeOverride.kt
index e0b6c41..155b67b 100644
--- a/compiler/testData/diagnostics/foreignAnnotationsTests/java8Tests/jspecify/strictMode/FakeOverride.kt
+++ b/compiler/testData/diagnostics/foreignAnnotationsTests/java8Tests/jspecify/strictMode/FakeOverride.kt
@@ -1,4 +1,3 @@
-// FIR_IDENTICAL
 // JSPECIFY_STATE: strict
 // ISSUE: KT-65719