Drop KParameter.isNoinline, KParameter.isCrossinline
There seems to be no valuable use cases for them at the moment
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user