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");