StdLib generator: Allow receiver star-projections to be specified per-family.

This commit is contained in:
Ilya Gorbunov
2015-10-15 19:59:31 +03:00
parent efa285bc30
commit 45d13fafc8
@@ -98,7 +98,7 @@ class GenericFunction(val signature: String, val keyword: String = "fun") {
var toNullableT: Boolean = false
var receiverAsterisk = false
val receiverAsterisk = FamilyProperty<Boolean>()
val buildFamilies = LinkedHashSet(defaultFamilies)
val buildPrimitives = LinkedHashSet(defaultPrimitives)
@@ -132,10 +132,6 @@ class GenericFunction(val signature: String, val keyword: String = "fun") {
typeParams.add(t)
}
fun receiverAsterisk(v: Boolean) {
receiverAsterisk = v
}
fun exclude(vararg families: Family) {
buildFamilies.removeAll(families.toList())
}
@@ -293,7 +289,7 @@ class GenericFunction(val signature: String, val keyword: String = "fun") {
return answer.toString()
}
val isAsteriskOrT = if (receiverAsterisk) "*" else "T"
val isAsteriskOrT = if (receiverAsterisk[f] == true) "*" else "T"
val receiver = when (f) {
Iterables -> "Iterable<$isAsteriskOrT>"
Collections -> "Collection<$isAsteriskOrT>"