diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/javaTypeUtils.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/javaTypeUtils.kt index ba9c0961fe0..1abfc535c2c 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/javaTypeUtils.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/javaTypeUtils.kt @@ -179,7 +179,8 @@ private fun JavaClassifierType.enhanceInflexibleType( } else { val argEnhancedTypeRef = arg.enhancePossiblyFlexible(session, javaTypeParameterStack, annotations, qualifiers, globalArgIndex) globalArgIndex += arg.subtreeSize() - argEnhancedTypeRef.type.type.toTypeProjection(Variance.INVARIANT) + // For arg == null (raw type) we take to match everything + argEnhancedTypeRef.type.type.toTypeProjection(if (arg == null) Variance.OUT_VARIANCE else Variance.INVARIANT) } } diff --git a/compiler/fir/resolve/testData/diagnostics/j+k/LoggerInstance.txt b/compiler/fir/resolve/testData/diagnostics/j+k/LoggerInstance.txt index 14200ece240..98000890a3f 100644 --- a/compiler/fir/resolve/testData/diagnostics/j+k/LoggerInstance.txt +++ b/compiler/fir/resolve/testData/diagnostics/j+k/LoggerInstance.txt @@ -10,7 +10,7 @@ FILE: test.kt private final val klass: R|java/lang/Class| = (this@R|/MyTest|).R|kotlin/jvm/java| private get(): R|java/lang/Class| - private final val logger: = Q|Logger|.#(this@R|/MyTest|.R|/MyTest.klass|) - private get(): + private final val logger: R|ft!| = Q|Logger|.R|/Logger.getInstance|(this@R|/MyTest|.R|/MyTest.klass|) + private get(): R|ft!| }