diff --git a/compiler/testData/codegen/box/callableReference/bound/boundReferenceToOverloadedFunction.kt b/compiler/testData/codegen/box/callableReference/bound/boundReferenceToOverloadedFunction.kt new file mode 100644 index 00000000000..2c420b008d6 --- /dev/null +++ b/compiler/testData/codegen/box/callableReference/bound/boundReferenceToOverloadedFunction.kt @@ -0,0 +1,26 @@ +// !LANGUAGE: +NewInference +// IGNORE_BACKEND_FIR: JVM_IR + +interface JsonParser +interface JsonCodingParser : JsonParser + +var result = "fail" + +fun JsonCodingParser.parseValue(source: String): Any = source +fun JsonParser.parseValue(source: String): Any = TODO() + +fun testDecoding(decode: (String) -> Any) { + result = decode("OK") as String +} + +class Test { + fun fooTest() { + val foo: JsonCodingParser = object : JsonCodingParser {} + testDecoding(foo::parseValue) + } +} + +fun box(): String { + Test().fooTest() + return result +} \ No newline at end of file diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java index 9c2b0763416..737e2f6f054 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java @@ -1982,6 +1982,11 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { runTest("compiler/testData/codegen/box/callableReference/bound/boundJvmFieldInInterfaceCompanion.kt"); } + @TestMetadata("boundReferenceToOverloadedFunction.kt") + public void testBoundReferenceToOverloadedFunction() throws Exception { + runTest("compiler/testData/codegen/box/callableReference/bound/boundReferenceToOverloadedFunction.kt"); + } + @TestMetadata("captureVarInInitBlock.kt") public void testCaptureVarInInitBlock() throws Exception { runTest("compiler/testData/codegen/box/callableReference/bound/captureVarInInitBlock.kt"); diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java index 0186f9a7873..3cc6edc1c56 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -1982,6 +1982,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes runTest("compiler/testData/codegen/box/callableReference/bound/boundJvmFieldInInterfaceCompanion.kt"); } + @TestMetadata("boundReferenceToOverloadedFunction.kt") + public void testBoundReferenceToOverloadedFunction() throws Exception { + runTest("compiler/testData/codegen/box/callableReference/bound/boundReferenceToOverloadedFunction.kt"); + } + @TestMetadata("captureVarInInitBlock.kt") public void testCaptureVarInInitBlock() throws Exception { runTest("compiler/testData/codegen/box/callableReference/bound/captureVarInInitBlock.kt"); diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/ir/FirBlackBoxCodegenTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/ir/FirBlackBoxCodegenTestGenerated.java index be992ca16b0..e50cf227169 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/ir/FirBlackBoxCodegenTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/ir/FirBlackBoxCodegenTestGenerated.java @@ -1962,6 +1962,11 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT runTest("compiler/testData/codegen/box/callableReference/bound/boundJvmFieldInInterfaceCompanion.kt"); } + @TestMetadata("boundReferenceToOverloadedFunction.kt") + public void testBoundReferenceToOverloadedFunction() throws Exception { + runTest("compiler/testData/codegen/box/callableReference/bound/boundReferenceToOverloadedFunction.kt"); + } + @TestMetadata("captureVarInInitBlock.kt") public void testCaptureVarInInitBlock() throws Exception { runTest("compiler/testData/codegen/box/callableReference/bound/captureVarInInitBlock.kt"); diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java index 76716c8036f..cb2aff3b2cf 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java @@ -1962,6 +1962,11 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTest("compiler/testData/codegen/box/callableReference/bound/boundJvmFieldInInterfaceCompanion.kt"); } + @TestMetadata("boundReferenceToOverloadedFunction.kt") + public void testBoundReferenceToOverloadedFunction() throws Exception { + runTest("compiler/testData/codegen/box/callableReference/bound/boundReferenceToOverloadedFunction.kt"); + } + @TestMetadata("captureVarInInitBlock.kt") public void testCaptureVarInInitBlock() throws Exception { runTest("compiler/testData/codegen/box/callableReference/bound/captureVarInInitBlock.kt"); diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java b/js/js.tests/test/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java index 2d5d0eccd31..a6cbe037a75 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java @@ -1422,6 +1422,11 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest { runTest("compiler/testData/codegen/box/callableReference/bound/arrayGetIntrinsic.kt"); } + @TestMetadata("boundReferenceToOverloadedFunction.kt") + public void testBoundReferenceToOverloadedFunction() throws Exception { + runTest("compiler/testData/codegen/box/callableReference/bound/boundReferenceToOverloadedFunction.kt"); + } + @TestMetadata("captureVarInInitBlock.kt") public void testCaptureVarInInitBlock() throws Exception { runTest("compiler/testData/codegen/box/callableReference/bound/captureVarInInitBlock.kt"); diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java index c0dd9c0d5ec..6d67e407fb6 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java @@ -1422,6 +1422,11 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest { runTest("compiler/testData/codegen/box/callableReference/bound/arrayGetIntrinsic.kt"); } + @TestMetadata("boundReferenceToOverloadedFunction.kt") + public void testBoundReferenceToOverloadedFunction() throws Exception { + runTest("compiler/testData/codegen/box/callableReference/bound/boundReferenceToOverloadedFunction.kt"); + } + @TestMetadata("captureVarInInitBlock.kt") public void testCaptureVarInInitBlock() throws Exception { runTest("compiler/testData/codegen/box/callableReference/bound/captureVarInInitBlock.kt");