From ce690d8a1de53b0d44c46234f605d9562373d1b0 Mon Sep 17 00:00:00 2001 From: Mikhail Zarechenskiy Date: Tue, 28 Jan 2020 10:48:47 +0300 Subject: [PATCH] Add test for obsolete issue #KT-36121 Obsolete --- .../boundReferenceToOverloadedFunction.kt | 26 +++++++++++++++++++ .../codegen/BlackBoxCodegenTestGenerated.java | 5 ++++ .../LightAnalysisModeTestGenerated.java | 5 ++++ .../ir/FirBlackBoxCodegenTestGenerated.java | 5 ++++ .../ir/IrBlackBoxCodegenTestGenerated.java | 5 ++++ .../IrJsCodegenBoxTestGenerated.java | 5 ++++ .../semantics/JsCodegenBoxTestGenerated.java | 5 ++++ 7 files changed, 56 insertions(+) create mode 100644 compiler/testData/codegen/box/callableReference/bound/boundReferenceToOverloadedFunction.kt 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");