diff --git a/libraries/tools/kotlin-stdlib-gen/src/templates/Engine.kt b/libraries/tools/kotlin-stdlib-gen/src/templates/Engine.kt index ef1fb5b59be..3eb52665191 100644 --- a/libraries/tools/kotlin-stdlib-gen/src/templates/Engine.kt +++ b/libraries/tools/kotlin-stdlib-gen/src/templates/Engine.kt @@ -41,6 +41,9 @@ class GenericFunction(val signature: String) : Comparable { val buildFamilies = HashSet(defaultFamilies.toList()) private val buildPrimitives = HashSet(PrimitiveType.values().toList()) + var deprecate: String = "" + val deprecates = HashMap() + var doc: String = "" val docs = HashMap() @@ -73,6 +76,16 @@ class GenericFunction(val signature: String) : Comparable { } } + fun deprecate(vararg families: Family, b: () -> String) { + if (families.isEmpty()) + deprecate = b() + else { + for (f in families) { + deprecates[f] = b() + } + } + } + fun returns(vararg families: Family, b: () -> String) { if (families.isEmpty()) defaultReturnType = b() @@ -225,6 +238,10 @@ class GenericFunction(val signature: String) : Comparable { } builder.append(" */\n") } + val deprecated = deprecates[f] ?: deprecate + if (deprecated != "") { + builder.append("deprecated(\"$deprecated\")\n") + } builder.append("public ") if (inlineFamilies[f] ?: defaultInline)