From b1731749c0ac2c74a82e7a5f44c355c5d58f429b Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Fri, 23 Aug 2019 12:16:35 +0300 Subject: [PATCH] Add failing test for smart-cast branch --- .../testData/resolve/stdlib/typeParameterDerived.kt | 11 +++++++++++ .../fir/FirResolveTestCaseWithStdlibGenerated.java | 5 +++++ 2 files changed, 16 insertions(+) create mode 100644 compiler/fir/resolve/testData/resolve/stdlib/typeParameterDerived.kt diff --git a/compiler/fir/resolve/testData/resolve/stdlib/typeParameterDerived.kt b/compiler/fir/resolve/testData/resolve/stdlib/typeParameterDerived.kt new file mode 100644 index 00000000000..5958216a9e8 --- /dev/null +++ b/compiler/fir/resolve/testData/resolve/stdlib/typeParameterDerived.kt @@ -0,0 +1,11 @@ +inline fun MutableMap.getOrPut(key: K, defaultValue: (K) -> VA, postCompute: (VA) -> Unit): V { + val value = get(key) + return if (value == null) { + val answer = defaultValue(key) + put(key, answer) + postCompute(answer) + answer + } else { + value + } +} \ No newline at end of file diff --git a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirResolveTestCaseWithStdlibGenerated.java b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirResolveTestCaseWithStdlibGenerated.java index 78d880b0fcc..16f9e8a1a45 100644 --- a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirResolveTestCaseWithStdlibGenerated.java +++ b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirResolveTestCaseWithStdlibGenerated.java @@ -134,6 +134,11 @@ public class FirResolveTestCaseWithStdlibGenerated extends AbstractFirResolveTes runTest("compiler/fir/resolve/testData/resolve/stdlib/typeAliasDeserialization.kt"); } + @TestMetadata("typeParameterDerived.kt") + public void testTypeParameterDerived() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/typeParameterDerived.kt"); + } + @TestMetadata("unaryOperators.kt") public void testUnaryOperators() throws Exception { runTest("compiler/fir/resolve/testData/resolve/stdlib/unaryOperators.kt");