From 840f2228670ab37f9f3e000899f5a023bba61730 Mon Sep 17 00:00:00 2001 From: adammc331 Date: Mon, 17 Feb 2020 19:04:40 -0500 Subject: [PATCH] Add sample for filterNotNull --- libraries/stdlib/common/src/generated/_Arrays.kt | 2 ++ libraries/stdlib/common/src/generated/_Collections.kt | 2 ++ libraries/stdlib/common/src/generated/_Sequences.kt | 2 ++ .../samples/test/samples/collections/collections.kt | 10 ++++++++++ .../tools/kotlin-stdlib-gen/src/templates/Filtering.kt | 1 + 5 files changed, 17 insertions(+) diff --git a/libraries/stdlib/common/src/generated/_Arrays.kt b/libraries/stdlib/common/src/generated/_Arrays.kt index ff68df59a2c..57fa0ba8c69 100644 --- a/libraries/stdlib/common/src/generated/_Arrays.kt +++ b/libraries/stdlib/common/src/generated/_Arrays.kt @@ -3920,6 +3920,8 @@ public inline fun CharArray.filterNot(predicate: (Char) -> Boolean): List /** * Returns a list containing all elements that are not `null`. + * + * @sample samples.collections.Collections.Filtering.filterNotNull */ public fun Array.filterNotNull(): List { return filterNotNullTo(ArrayList()) diff --git a/libraries/stdlib/common/src/generated/_Collections.kt b/libraries/stdlib/common/src/generated/_Collections.kt index cc682dfb19a..4af0334c34a 100644 --- a/libraries/stdlib/common/src/generated/_Collections.kt +++ b/libraries/stdlib/common/src/generated/_Collections.kt @@ -749,6 +749,8 @@ public inline fun Iterable.filterNot(predicate: (T) -> Boolean): List /** * Returns a list containing all elements that are not `null`. + * + * @sample samples.collections.Collections.Filtering.filterNotNull */ public fun Iterable.filterNotNull(): List { return filterNotNullTo(ArrayList()) diff --git a/libraries/stdlib/common/src/generated/_Sequences.kt b/libraries/stdlib/common/src/generated/_Sequences.kt index d0cb2f21515..4fa25ae4a2a 100644 --- a/libraries/stdlib/common/src/generated/_Sequences.kt +++ b/libraries/stdlib/common/src/generated/_Sequences.kt @@ -439,6 +439,8 @@ public fun Sequence.filterNot(predicate: (T) -> Boolean): Sequence { * Returns a sequence containing all elements that are not `null`. * * The operation is _intermediate_ and _stateless_. + * + * @sample samples.collections.Collections.Filtering.filterNotNull */ public fun Sequence.filterNotNull(): Sequence { @Suppress("UNCHECKED_CAST") diff --git a/libraries/stdlib/samples/test/samples/collections/collections.kt b/libraries/stdlib/samples/test/samples/collections/collections.kt index 206c8fb2f2a..93e8bf841c3 100644 --- a/libraries/stdlib/samples/test/samples/collections/collections.kt +++ b/libraries/stdlib/samples/test/samples/collections/collections.kt @@ -801,4 +801,14 @@ class Collections { } } + + class Filtering { + @Sample + fun filterNotNull() { + val numbers: List = listOf(1, 2, null, 4) + val nonNullNumbers = numbers.filterNotNull() + + assertPrints(nonNullNumbers, "[1, 2, 4]") + } + } } \ No newline at end of file diff --git a/libraries/tools/kotlin-stdlib-gen/src/templates/Filtering.kt b/libraries/tools/kotlin-stdlib-gen/src/templates/Filtering.kt index c34d5f0e8ca..744eb794b08 100644 --- a/libraries/tools/kotlin-stdlib-gen/src/templates/Filtering.kt +++ b/libraries/tools/kotlin-stdlib-gen/src/templates/Filtering.kt @@ -730,6 +730,7 @@ object Filtering : TemplateGroupBase() { include(Iterables, Sequences, ArraysOfObjects) } builder { doc { "Returns a list containing all elements that are not `null`." } + sample("samples.collections.Collections.Filtering.filterNotNull") typeParam("T : Any") returns("List") toNullableT = true