Require explicit type parameter specification for filterIsInstance.

This commit is contained in:
Ilya Gorbunov
2015-10-17 05:33:15 +03:00
parent a5708c9c0d
commit 551e0181dc
5 changed files with 6 additions and 6 deletions
@@ -19,7 +19,7 @@ package org.jetbrains.kotlin.preprocessor
interface Evaluator : (List<Conditional>) -> Boolean
interface PlatformEvaluator : Evaluator {
override fun invoke(conditions: List<Conditional>): Boolean = evaluate(conditions.filterIsInstance())
override fun invoke(conditions: List<Conditional>): Boolean = evaluate(conditions.filterIsInstance<Conditional.PlatformVersion>())
open fun evaluate(conditions: List<Conditional.PlatformVersion>): Boolean
= conditions.isEmpty() || conditions.any { match(it) }
+1 -1
View File
@@ -10746,7 +10746,7 @@ public fun <T> Array<T>.fill(element: T, fromIndex: Int = 0, toIndex: Int = size
* Returns a list containing all elements that are instances of specified type parameter R.
*/
@kotlin.jvm.JvmVersion
public inline fun <reified R> Array<*>.filterIsInstance(): List<R> {
public inline fun <reified R> Array<*>.filterIsInstance(): List<@kotlin.internal.NoInfer R> {
return filterIsInstanceTo(ArrayList<R>())
}
@@ -1658,7 +1658,7 @@ public fun <T> Iterable<T>.asSequence(): Sequence<T> {
* Returns a list containing all elements that are instances of specified type parameter R.
*/
@kotlin.jvm.JvmVersion
public inline fun <reified R> Iterable<*>.filterIsInstance(): List<R> {
public inline fun <reified R> Iterable<*>.filterIsInstance(): List<@kotlin.internal.NoInfer R> {
return filterIsInstanceTo(ArrayList<R>())
}
+1 -1
View File
@@ -1032,7 +1032,7 @@ public fun <T> Sequence<T>.asSequence(): Sequence<T> {
* Returns a sequence containing all elements that are instances of specified type parameter R.
*/
@kotlin.jvm.JvmVersion
public inline fun <reified R> Sequence<*>.filterIsInstance(): Sequence<R> {
public inline fun <reified R> Sequence<*>.filterIsInstance(): Sequence<@kotlin.internal.NoInfer R> {
return filter { it is R } as Sequence<R>
}
@@ -194,7 +194,7 @@ fun specialJVM(): List<GenericFunction> {
templates add f("filterIsInstance()") {
doc { "Returns a list containing all elements that are instances of specified type parameter R." }
typeParam("reified R")
returns("List<R>")
returns("List<@kotlin.internal.NoInfer R>")
inline(true)
receiverAsterisk(true)
body {
@@ -205,7 +205,7 @@ fun specialJVM(): List<GenericFunction> {
exclude(ArraysOfPrimitives, Strings)
doc(Sequences) { "Returns a sequence containing all elements that are instances of specified type parameter R." }
returns(Sequences) { "Sequence<R>" }
returns(Sequences) { "Sequence<@kotlin.internal.NoInfer R>" }
inline(true)
receiverAsterisk(true)
body(Sequences) {