From 71336df50a75029337ac0c2dde26550ed4b02cbc Mon Sep 17 00:00:00 2001 From: Ilya Gorbunov Date: Sun, 26 Jun 2022 03:07:33 +0300 Subject: [PATCH] Support open ranges in stdlib-gen #KT-52932 --- .../tools/kotlin-stdlib-gen/src/templates/dsl/CommonTypes.kt | 1 + .../kotlin-stdlib-gen/src/templates/dsl/FamilyProperties.kt | 2 +- .../tools/kotlin-stdlib-gen/src/templates/dsl/MemberBuilder.kt | 3 ++- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/libraries/tools/kotlin-stdlib-gen/src/templates/dsl/CommonTypes.kt b/libraries/tools/kotlin-stdlib-gen/src/templates/dsl/CommonTypes.kt index e0ef31999c3..a70ec3af73e 100644 --- a/libraries/tools/kotlin-stdlib-gen/src/templates/dsl/CommonTypes.kt +++ b/libraries/tools/kotlin-stdlib-gen/src/templates/dsl/CommonTypes.kt @@ -20,6 +20,7 @@ enum class Family { Strings, Ranges, RangesOfPrimitives, + OpenRanges, ProgressionsOfPrimitives, Generic, Primitives, diff --git a/libraries/tools/kotlin-stdlib-gen/src/templates/dsl/FamilyProperties.kt b/libraries/tools/kotlin-stdlib-gen/src/templates/dsl/FamilyProperties.kt index d08020c68a6..402c41b88b4 100644 --- a/libraries/tools/kotlin-stdlib-gen/src/templates/dsl/FamilyProperties.kt +++ b/libraries/tools/kotlin-stdlib-gen/src/templates/dsl/FamilyProperties.kt @@ -33,7 +33,7 @@ object DocExtensions { get() = when (this) { CharSequences -> "char sequence" ArraysOfObjects, ArraysOfPrimitives, InvariantArraysOfObjects, ArraysOfUnsigned -> "array" - Ranges, RangesOfPrimitives -> "range" + Ranges, RangesOfPrimitives, OpenRanges -> "range" ProgressionsOfPrimitives -> "progression" Strings, Sequences, Maps, Lists, Sets -> name.singularize().decapitalize() else -> "collection" 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 c7ca282d7cc..f67a2fb6c52 100644 --- a/libraries/tools/kotlin-stdlib-gen/src/templates/dsl/MemberBuilder.kt +++ b/libraries/tools/kotlin-stdlib-gen/src/templates/dsl/MemberBuilder.kt @@ -13,7 +13,7 @@ private fun getDefaultSourceFile(f: Family): SourceFile = when (f) { Iterables, Collections, Lists -> SourceFile.Collections Sequences -> SourceFile.Sequences Sets -> SourceFile.Sets - Ranges, RangesOfPrimitives, ProgressionsOfPrimitives -> SourceFile.Ranges + Ranges, OpenRanges, RangesOfPrimitives, ProgressionsOfPrimitives -> SourceFile.Ranges ArraysOfObjects, InvariantArraysOfObjects, ArraysOfPrimitives -> SourceFile.Arrays ArraysOfUnsigned -> SourceFile.UArrays Maps -> SourceFile.Maps @@ -268,6 +268,7 @@ class MemberBuilder( Strings -> "String" CharSequences -> "CharSequence" Ranges -> "ClosedRange<$receiverT>" + OpenRanges -> "OpenEndRange<$receiverT>" ArraysOfPrimitives, ArraysOfUnsigned -> primitive?.let { it.name + "Array" } ?: throw IllegalArgumentException("Primitive array should specify primitive type") RangesOfPrimitives -> primitive?.let { it.name + "Range" } ?: throw IllegalArgumentException("Primitive range should specify primitive type") ProgressionsOfPrimitives -> primitive?.let { it.name + "Progression" } ?: throw IllegalArgumentException("Primitive progression should specify primitive type")