diff --git a/libraries/stdlib/samples/test/samples/collections/maps.kt b/libraries/stdlib/samples/test/samples/collections/maps.kt index d7acda3eb8b..51ddab62236 100644 --- a/libraries/stdlib/samples/test/samples/collections/maps.kt +++ b/libraries/stdlib/samples/test/samples/collections/maps.kt @@ -119,6 +119,15 @@ class Maps { assertFalse(map.isNullOrEmpty()) } + @Sample + fun mapOrEmpty() { + val nullMap: Map? = null + assertPrints(nullMap.orEmpty(), "{}") + + val map: Map? = mapOf('a' to 1, 'b' to 2, 'c' to 3) + assertPrints(map.orEmpty(), "{a=1, b=2, c=3}") + } + @Sample fun mapIfEmpty() { val emptyMap: Map = emptyMap() diff --git a/libraries/stdlib/src/kotlin/collections/Maps.kt b/libraries/stdlib/src/kotlin/collections/Maps.kt index 89509c196be..c4b48ba8124 100644 --- a/libraries/stdlib/src/kotlin/collections/Maps.kt +++ b/libraries/stdlib/src/kotlin/collections/Maps.kt @@ -158,6 +158,8 @@ public inline fun Map?.isNullOrEmpty(): Boolean { /** * Returns the [Map] if its not `null`, or the empty [Map] otherwise. + * + * @sample samples.collections.Maps.Usage.mapOrEmpty */ @kotlin.internal.InlineOnly public inline fun Map?.orEmpty(): Map = this ?: emptyMap()