diff --git a/libraries/stdlib/common/src/generated/_Maps.kt b/libraries/stdlib/common/src/generated/_Maps.kt index 7408441bff7..b7158267a73 100644 --- a/libraries/stdlib/common/src/generated/_Maps.kt +++ b/libraries/stdlib/common/src/generated/_Maps.kt @@ -40,7 +40,7 @@ public fun Map.toList(): List> { /** * Returns a single list of all elements yielded from results of [transform] function being invoked on each entry of original map. * - * @sample samples.collections.Collections.Transformations.flatMap + * @sample samples.collections.Maps.Transformations.flatMap */ public inline fun Map.flatMap(transform: (Map.Entry) -> Iterable): List { return flatMapTo(ArrayList(), transform) diff --git a/libraries/stdlib/samples/test/samples/collections/maps.kt b/libraries/stdlib/samples/test/samples/collections/maps.kt index 9e33ac6d31d..8141e18bc95 100644 --- a/libraries/stdlib/samples/test/samples/collections/maps.kt +++ b/libraries/stdlib/samples/test/samples/collections/maps.kt @@ -353,7 +353,11 @@ class Maps { assertPrints(peopleToAge.map { it.value }, "[20, 21]") } + @Sample + fun flatMap() { + val map = mapOf("122" to 2, "3455" to 3) + assertPrints(map.flatMap { (key, value) -> key.take(value).toList() }, "[1, 2, 3, 4, 5]") + } } - } diff --git a/libraries/tools/kotlin-stdlib-gen/src/templates/Mapping.kt b/libraries/tools/kotlin-stdlib-gen/src/templates/Mapping.kt index b7db1d361a7..1e0bd205d25 100644 --- a/libraries/tools/kotlin-stdlib-gen/src/templates/Mapping.kt +++ b/libraries/tools/kotlin-stdlib-gen/src/templates/Mapping.kt @@ -1,5 +1,5 @@ /* - * Copyright 2010-2018 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ @@ -290,7 +290,13 @@ object Mapping : TemplateGroupBase() { specialFor(ArraysOfUnsigned) { inlineOnly() } doc { "Returns a single list of all elements yielded from results of [transform] function being invoked on each ${f.element} of original ${f.collection}." } - sample("samples.collections.Collections.Transformations.flatMap") + + fun sampleClass(f: Family): String = when (f) { + Maps -> "samples.collections.Maps.Transformations" + else -> "samples.collections.Collections.Transformations" + } + + sample("${sampleClass(f)}.flatMap") typeParam("R") returns("List") body {