From 1a2d28d25b57faf339aa2c825f9e8fa5805b084d Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Fri, 14 Feb 2020 14:32:31 +0300 Subject: [PATCH] [FIR-TEST] Add test with callable reference on function with default argument --- .../callableReferencesAndDefaultParameters.kt | 9 +++++++++ .../callableReferencesAndDefaultParameters.txt | 15 +++++++++++++++ .../kotlin/fir/FirDiagnosticsTestGenerated.java | 5 +++++ .../FirDiagnosticsWithLightTreeTestGenerated.java | 5 +++++ 4 files changed, 34 insertions(+) create mode 100644 compiler/fir/resolve/testData/resolve/problems/callableReferencesAndDefaultParameters.kt create mode 100644 compiler/fir/resolve/testData/resolve/problems/callableReferencesAndDefaultParameters.txt diff --git a/compiler/fir/resolve/testData/resolve/problems/callableReferencesAndDefaultParameters.kt b/compiler/fir/resolve/testData/resolve/problems/callableReferencesAndDefaultParameters.kt new file mode 100644 index 00000000000..019bb375e75 --- /dev/null +++ b/compiler/fir/resolve/testData/resolve/problems/callableReferencesAndDefaultParameters.kt @@ -0,0 +1,9 @@ +class A { + fun foo(s: String, flag: Boolean = true) {} +} + +inline fun T.myLet(block: (T) -> Unit) {} + +fun test(a: A, s: String) { + s.myLet(a::foo) +} \ No newline at end of file diff --git a/compiler/fir/resolve/testData/resolve/problems/callableReferencesAndDefaultParameters.txt b/compiler/fir/resolve/testData/resolve/problems/callableReferencesAndDefaultParameters.txt new file mode 100644 index 00000000000..354783b2404 --- /dev/null +++ b/compiler/fir/resolve/testData/resolve/problems/callableReferencesAndDefaultParameters.txt @@ -0,0 +1,15 @@ +FILE: callableReferencesAndDefaultParameters.kt + public final class A : R|kotlin/Any| { + public constructor(): R|A| { + super() + } + + public final fun foo(s: R|kotlin/String|, flag: R|kotlin/Boolean| = Boolean(true)): R|kotlin/Unit| { + } + + } + public final inline fun R|T|.myLet(block: R|(T) -> kotlin/Unit|): R|kotlin/Unit| { + } + public final fun test(a: R|A|, s: R|kotlin/String|): R|kotlin/Unit| { + R|/s|.#(R|/a|::R|/A.foo|) + } diff --git a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsTestGenerated.java b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsTestGenerated.java index b5921c7131e..71017b2d1c2 100644 --- a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsTestGenerated.java +++ b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsTestGenerated.java @@ -1269,6 +1269,11 @@ public class FirDiagnosticsTestGenerated extends AbstractFirDiagnosticsTest { KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/resolve/testData/resolve/problems"), Pattern.compile("^([^.]+)\\.kt$"), null, true); } + @TestMetadata("callableReferencesAndDefaultParameters.kt") + public void testCallableReferencesAndDefaultParameters() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/problems/callableReferencesAndDefaultParameters.kt"); + } + @TestMetadata("covariantArrayAsReceiver.kt") public void testCovariantArrayAsReceiver() throws Exception { runTest("compiler/fir/resolve/testData/resolve/problems/covariantArrayAsReceiver.kt"); diff --git a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsWithLightTreeTestGenerated.java b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsWithLightTreeTestGenerated.java index 3c53a7d3201..0af2f7531f2 100644 --- a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsWithLightTreeTestGenerated.java +++ b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsWithLightTreeTestGenerated.java @@ -1269,6 +1269,11 @@ public class FirDiagnosticsWithLightTreeTestGenerated extends AbstractFirDiagnos KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/resolve/testData/resolve/problems"), Pattern.compile("^([^.]+)\\.kt$"), null, true); } + @TestMetadata("callableReferencesAndDefaultParameters.kt") + public void testCallableReferencesAndDefaultParameters() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/problems/callableReferencesAndDefaultParameters.kt"); + } + @TestMetadata("covariantArrayAsReceiver.kt") public void testCovariantArrayAsReceiver() throws Exception { runTest("compiler/fir/resolve/testData/resolve/problems/covariantArrayAsReceiver.kt");