From c40c9a3d14dacbdc9041dff416a71f9d3a24940c Mon Sep 17 00:00:00 2001 From: Ilya Gorbunov Date: Sat, 16 May 2020 13:21:27 +0300 Subject: [PATCH] stdlib-gen: make 'sample' overwrite samples list instead of adding It's more common for a function to have the single sample, and it's more convenient to override it in `specialFor` blocks, rather than to append another one. --- .../tools/kotlin-stdlib-gen/src/templates/Sequence.kt | 5 +++-- .../kotlin-stdlib-gen/src/templates/dsl/MemberBuilder.kt | 8 ++++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/libraries/tools/kotlin-stdlib-gen/src/templates/Sequence.kt b/libraries/tools/kotlin-stdlib-gen/src/templates/Sequence.kt index 84824818af4..50340c2d0a1 100644 --- a/libraries/tools/kotlin-stdlib-gen/src/templates/Sequence.kt +++ b/libraries/tools/kotlin-stdlib-gen/src/templates/Sequence.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. */ @@ -43,8 +43,9 @@ object SequenceOps : TemplateGroupBase() { Creates a [Sequence] instance that wraps the original ${f.collection} returning its ${f.element.pluralize()} when being iterated. """ } - if (f in listOf(ArraysOfPrimitives, ArraysOfObjects, Iterables)) + specialFor(ArraysOfPrimitives, ArraysOfObjects, Iterables) { sample("samples.collections.Sequences.Building.sequenceFrom${f.doc.collection.capitalize()}") + } returns("Sequence") body { diff --git a/libraries/tools/kotlin-stdlib-gen/src/templates/dsl/MemberBuilder.kt b/libraries/tools/kotlin-stdlib-gen/src/templates/dsl/MemberBuilder.kt index 349212297da..08173795e6c 100644 --- a/libraries/tools/kotlin-stdlib-gen/src/templates/dsl/MemberBuilder.kt +++ b/libraries/tools/kotlin-stdlib-gen/src/templates/dsl/MemberBuilder.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. */ @@ -45,7 +45,7 @@ class MemberBuilder( var doc: String? = null; private set - val samples = mutableListOf() + var samples = listOf() val sequenceClassification = mutableListOf() var deprecate: Deprecation? = null; private set @@ -134,8 +134,8 @@ class MemberBuilder( @Deprecated("Use specialFor", ReplaceWith("specialFor(*fs) { doc(valueBuilder) }")) fun doc(vararg fs: Family, valueBuilder: DocExtensions.() -> String) = specialFor(*fs) { doc(valueBuilder) } - fun sample(sampleRef: String) { - samples += sampleRef + fun sample(vararg sampleRef: String) { + samples = sampleRef.asList() } fun body(valueBuilder: () -> String) {