From 1aad82bbafa185fd430c5cdd8be2ebac34d95a8f Mon Sep 17 00:00:00 2001 From: Ilya Gorbunov Date: Tue, 29 Nov 2016 20:38:41 +0300 Subject: [PATCH] Allow to specify generated function visibility, add capacity rank of primitive type --- .../tools/kotlin-stdlib-gen/src/templates/engine/Engine.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libraries/tools/kotlin-stdlib-gen/src/templates/engine/Engine.kt b/libraries/tools/kotlin-stdlib-gen/src/templates/engine/Engine.kt index 4ca58021573..39938cfb331 100644 --- a/libraries/tools/kotlin-stdlib-gen/src/templates/engine/Engine.kt +++ b/libraries/tools/kotlin-stdlib-gen/src/templates/engine/Engine.kt @@ -46,6 +46,8 @@ enum class PrimitiveType { Boolean, Char; + val capacity by lazy { descendingByDomainCapacity.indexOf(this).let { if (it < 0) it else descendingByDomainCapacity.size - it } } + companion object { val defaultPrimitives = PrimitiveType.values().toSet() val numericPrimitives = setOf(Int, Long, Byte, Short, Double, Float) @@ -145,6 +147,7 @@ class GenericFunction(val signature: String, val keyword: String = "fun") { val since = FamilyProperty() val typeParams = ArrayList() val returns = FamilyProperty() + val visibility = FamilyProperty() val operator = FamilyProperty() val infix = FamilyProperty() val external = FamilyProperty() @@ -410,7 +413,7 @@ class GenericFunction(val signature: String, val keyword: String = "fun") { builder.append("@kotlin.internal.InlineOnly").append('\n') } - builder.append("public ") + builder.append(visibility[f] ?: "public").append(' ') if (external[f] == true) builder.append("external ") if (inline[f]?.isInline() == true)