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
inline fun Unit.foo(
crossinline crossinline: () -> Unit,
noinline coroutine x: Unit.() -> Continuation<Unit>,
vararg vararg: Unit
) {}
@@ -15,25 +14,14 @@ inline fun Unit.foo(
fun box(): String {
val p = Unit::foo.parameters
assertFalse(p[0].isNoinline)
assertFalse(p[0].isCrossinline)
assertFalse(p[0].isVararg)
assertFalse(p[0].isCoroutine)
assertFalse(p[1].isNoinline)
assertTrue(p[1].isCrossinline)
assertFalse(p[1].isVararg)
assertFalse(p[1].isCoroutine)
assertTrue(p[1].isCoroutine)
assertTrue(p[2].isNoinline)
assertFalse(p[2].isCrossinline)
assertFalse(p[2].isVararg)
assertTrue(p[2].isCoroutine)
assertFalse(p[3].isNoinline)
assertFalse(p[3].isCrossinline)
assertTrue(p[3].isVararg)
assertFalse(p[3].isCoroutine)
assertTrue(p[2].isVararg)
assertFalse(p[2].isCoroutine)
return "OK"
}
@@ -78,22 +78,6 @@ public interface KParameter : KAnnotatedElement {
@SinceKotlin("1.1")
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`.
*/
@@ -48,12 +48,6 @@ internal class KParameterImpl(
override val isVararg: Boolean
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
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 getType ()Lkotlin/reflect/KType;
public abstract fun isCoroutine ()Z
public abstract fun isCrossinline ()Z
public abstract fun isNoinline ()Z
public abstract fun isOptional ()Z
public abstract fun isVararg ()Z
}