diff --git a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirOldFrontendDiagnosticsTestGenerated.java b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirOldFrontendDiagnosticsTestGenerated.java index ea1fc8948c2..5fa496e087c 100644 --- a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirOldFrontendDiagnosticsTestGenerated.java +++ b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirOldFrontendDiagnosticsTestGenerated.java @@ -2410,6 +2410,11 @@ public class FirOldFrontendDiagnosticsTestGenerated extends AbstractFirOldFronte runTest("compiler/testData/diagnostics/tests/callableReference/property/extensionPropertyOnNullable.kt"); } + @TestMetadata("extensionsSameName.kt") + public void testExtensionsSameName() throws Exception { + runTest("compiler/testData/diagnostics/tests/callableReference/property/extensionsSameName.kt"); + } + @TestMetadata("genericClass.kt") public void testGenericClass() throws Exception { runTest("compiler/testData/diagnostics/tests/callableReference/property/genericClass.kt"); diff --git a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/components/PostponeArgumentsChecks.kt b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/components/PostponeArgumentsChecks.kt index b378e512fdf..89bf0f48891 100644 --- a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/components/PostponeArgumentsChecks.kt +++ b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/components/PostponeArgumentsChecks.kt @@ -191,8 +191,8 @@ private fun ConstraintSystemBuilder.addConstraintFromLHS(lhsResult: LHSResult.Ty when (expectedTypeProjectionForLHS.projectionKind) { Variance.INVARIANT -> addEqualityConstraint(lhsType, expectedTypeForLHS, constraintPosition) - Variance.IN_VARIANCE -> addSubtypeConstraint(expectedType, lhsType, constraintPosition) - Variance.OUT_VARIANCE -> addSubtypeConstraint(lhsType, expectedType, constraintPosition) + Variance.IN_VARIANCE -> addSubtypeConstraint(expectedTypeForLHS, lhsType, constraintPosition) + Variance.OUT_VARIANCE -> addSubtypeConstraint(lhsType, expectedTypeForLHS, constraintPosition) } } @@ -207,4 +207,4 @@ private fun preprocessCollectionLiteralArgument( internal inline fun Any.requireIs(): T { require(this is T) return this -} \ No newline at end of file +} diff --git a/compiler/testData/diagnostics/tests/callableReference/property/extensionsSameName.fir.kt b/compiler/testData/diagnostics/tests/callableReference/property/extensionsSameName.fir.kt new file mode 100644 index 00000000000..bc4cf86bfff --- /dev/null +++ b/compiler/testData/diagnostics/tests/callableReference/property/extensionsSameName.fir.kt @@ -0,0 +1,14 @@ +// SKIP_TXT +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_PARAMETER + +fun check1(p: kotlin.reflect.KProperty1<*, *>) {} +fun check2(p: kotlin.reflect.KProperty1) {} + +val CharSequence.x: Any get() = this +val BooleanArray.x: Any get() = this + +fun box() { + check1(CharSequence::x) // error in NI, ok in OI + check2(CharSequence::x) +} diff --git a/compiler/testData/diagnostics/tests/callableReference/property/extensionsSameName.kt b/compiler/testData/diagnostics/tests/callableReference/property/extensionsSameName.kt new file mode 100644 index 00000000000..bc4cf86bfff --- /dev/null +++ b/compiler/testData/diagnostics/tests/callableReference/property/extensionsSameName.kt @@ -0,0 +1,14 @@ +// SKIP_TXT +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_PARAMETER + +fun check1(p: kotlin.reflect.KProperty1<*, *>) {} +fun check2(p: kotlin.reflect.KProperty1) {} + +val CharSequence.x: Any get() = this +val BooleanArray.x: Any get() = this + +fun box() { + check1(CharSequence::x) // error in NI, ok in OI + check2(CharSequence::x) +} diff --git a/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestGenerated.java index 8e8905a24c8..20b085fad8f 100644 --- a/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestGenerated.java @@ -2417,6 +2417,11 @@ public class DiagnosticsTestGenerated extends AbstractDiagnosticsTest { runTest("compiler/testData/diagnostics/tests/callableReference/property/extensionPropertyOnNullable.kt"); } + @TestMetadata("extensionsSameName.kt") + public void testExtensionsSameName() throws Exception { + runTest("compiler/testData/diagnostics/tests/callableReference/property/extensionsSameName.kt"); + } + @TestMetadata("genericClass.kt") public void testGenericClass() throws Exception { runTest("compiler/testData/diagnostics/tests/callableReference/property/genericClass.kt"); diff --git a/compiler/tests/org/jetbrains/kotlin/checkers/javac/DiagnosticsUsingJavacTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/checkers/javac/DiagnosticsUsingJavacTestGenerated.java index 6a20b1e4197..8112c44c33a 100644 --- a/compiler/tests/org/jetbrains/kotlin/checkers/javac/DiagnosticsUsingJavacTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/checkers/javac/DiagnosticsUsingJavacTestGenerated.java @@ -2412,6 +2412,11 @@ public class DiagnosticsUsingJavacTestGenerated extends AbstractDiagnosticsUsing runTest("compiler/testData/diagnostics/tests/callableReference/property/extensionPropertyOnNullable.kt"); } + @TestMetadata("extensionsSameName.kt") + public void testExtensionsSameName() throws Exception { + runTest("compiler/testData/diagnostics/tests/callableReference/property/extensionsSameName.kt"); + } + @TestMetadata("genericClass.kt") public void testGenericClass() throws Exception { runTest("compiler/testData/diagnostics/tests/callableReference/property/genericClass.kt");