Drop KParameter.isNoinline, KParameter.isCrossinline

There seems to be no valuable use cases for them at the moment
This commit is contained in:
Alexander Udalov
2016-11-14 11:36:56 +03:00
parent 7e82d139cf
commit eedad9194e
4 changed files with 3 additions and 39 deletions
@@ -7,7 +7,6 @@ import kotlin.test.assertTrue
import kotlin.test.assertFalse import kotlin.test.assertFalse
inline fun Unit.foo( inline fun Unit.foo(
crossinline crossinline: () -> Unit,
noinline coroutine x: Unit.() -> Continuation<Unit>, noinline coroutine x: Unit.() -> Continuation<Unit>,
vararg vararg: Unit vararg vararg: Unit
) {} ) {}
@@ -15,25 +14,14 @@ inline fun Unit.foo(
fun box(): String { fun box(): String {
val p = Unit::foo.parameters val p = Unit::foo.parameters
assertFalse(p[0].isNoinline)
assertFalse(p[0].isCrossinline)
assertFalse(p[0].isVararg) assertFalse(p[0].isVararg)
assertFalse(p[0].isCoroutine) assertFalse(p[0].isCoroutine)
assertFalse(p[1].isNoinline)
assertTrue(p[1].isCrossinline)
assertFalse(p[1].isVararg) assertFalse(p[1].isVararg)
assertFalse(p[1].isCoroutine) assertTrue(p[1].isCoroutine)
assertTrue(p[2].isNoinline) assertTrue(p[2].isVararg)
assertFalse(p[2].isCrossinline) assertFalse(p[2].isCoroutine)
assertFalse(p[2].isVararg)
assertTrue(p[2].isCoroutine)
assertFalse(p[3].isNoinline)
assertFalse(p[3].isCrossinline)
assertTrue(p[3].isVararg)
assertFalse(p[3].isCoroutine)
return "OK" return "OK"
} }
@@ -78,22 +78,6 @@ public interface KParameter : KAnnotatedElement {
@SinceKotlin("1.1") @SinceKotlin("1.1")
public val isVararg: Boolean public val isVararg: Boolean
/**
* `true` if this parameter is `noinline`.
* See the [Kotlin language documentation](https://kotlinlang.org/docs/reference/inline-functions.html#noinline)
* for more information.
*/
@SinceKotlin("1.1")
public val isNoinline: Boolean
/**
* `true` if this parameter is `crossinline`.
* See the [Kotlin language documentation](https://kotlinlang.org/docs/reference/inline-functions.html#non-local-returns)
* for more information.
*/
@SinceKotlin("1.1")
public val isCrossinline: Boolean
/** /**
* `true` if this parameter is `coroutine`. * `true` if this parameter is `coroutine`.
*/ */
@@ -48,12 +48,6 @@ internal class KParameterImpl(
override val isVararg: Boolean override val isVararg: Boolean
get() = descriptor.let { it is ValueParameterDescriptor && it.varargElementType != null } get() = descriptor.let { it is ValueParameterDescriptor && it.varargElementType != null }
override val isNoinline: Boolean
get() = descriptor.let { it is ValueParameterDescriptor && it.isNoinline }
override val isCrossinline: Boolean
get() = descriptor.let { it is ValueParameterDescriptor && it.isCrossinline }
override val isCoroutine: Boolean override val isCoroutine: Boolean
get() = descriptor.let { it is ValueParameterDescriptor && it.isCoroutine } get() = descriptor.let { it is ValueParameterDescriptor && it.isCoroutine }
@@ -1194,8 +1194,6 @@ public abstract interface class kotlin/reflect/KParameter : kotlin/reflect/KAnno
public abstract fun getName ()Ljava/lang/String; public abstract fun getName ()Ljava/lang/String;
public abstract fun getType ()Lkotlin/reflect/KType; public abstract fun getType ()Lkotlin/reflect/KType;
public abstract fun isCoroutine ()Z public abstract fun isCoroutine ()Z
public abstract fun isCrossinline ()Z
public abstract fun isNoinline ()Z
public abstract fun isOptional ()Z public abstract fun isOptional ()Z
public abstract fun isVararg ()Z public abstract fun isVararg ()Z
} }