Drop KFunction.isTailrec
The fate of this modifier seems unclear, and there doesn't seem to be any valuable use cases for it in reflection
This commit is contained in:
@@ -10,7 +10,6 @@ inline fun inline() {}
|
|||||||
class External { external fun external() }
|
class External { external fun external() }
|
||||||
operator fun Unit.invoke() {}
|
operator fun Unit.invoke() {}
|
||||||
infix fun Unit.infix(unit: Unit) {}
|
infix fun Unit.infix(unit: Unit) {}
|
||||||
tailrec fun tailrec() { tailrec() }
|
|
||||||
class Suspend { suspend fun suspend(c: Continuation<Unit>) {} }
|
class Suspend { suspend fun suspend(c: Continuation<Unit>) {} }
|
||||||
|
|
||||||
val externalGetter = Unit
|
val externalGetter = Unit
|
||||||
@@ -25,42 +24,30 @@ fun box(): String {
|
|||||||
assertFalse(::inline.isExternal)
|
assertFalse(::inline.isExternal)
|
||||||
assertFalse(::inline.isOperator)
|
assertFalse(::inline.isOperator)
|
||||||
assertFalse(::inline.isInfix)
|
assertFalse(::inline.isInfix)
|
||||||
assertFalse(::inline.isTailrec)
|
|
||||||
assertFalse(::inline.isSuspend)
|
assertFalse(::inline.isSuspend)
|
||||||
|
|
||||||
assertFalse(External::external.isInline)
|
assertFalse(External::external.isInline)
|
||||||
assertTrue(External::external.isExternal)
|
assertTrue(External::external.isExternal)
|
||||||
assertFalse(External::external.isOperator)
|
assertFalse(External::external.isOperator)
|
||||||
assertFalse(External::external.isInfix)
|
assertFalse(External::external.isInfix)
|
||||||
assertFalse(External::external.isTailrec)
|
|
||||||
assertFalse(External::external.isSuspend)
|
assertFalse(External::external.isSuspend)
|
||||||
|
|
||||||
assertFalse(Unit::invoke.isInline)
|
assertFalse(Unit::invoke.isInline)
|
||||||
assertFalse(Unit::invoke.isExternal)
|
assertFalse(Unit::invoke.isExternal)
|
||||||
assertTrue(Unit::invoke.isOperator)
|
assertTrue(Unit::invoke.isOperator)
|
||||||
assertFalse(Unit::invoke.isInfix)
|
assertFalse(Unit::invoke.isInfix)
|
||||||
assertFalse(Unit::invoke.isTailrec)
|
|
||||||
assertFalse(Unit::invoke.isSuspend)
|
assertFalse(Unit::invoke.isSuspend)
|
||||||
|
|
||||||
assertFalse(Unit::infix.isInline)
|
assertFalse(Unit::infix.isInline)
|
||||||
assertFalse(Unit::infix.isExternal)
|
assertFalse(Unit::infix.isExternal)
|
||||||
assertFalse(Unit::infix.isOperator)
|
assertFalse(Unit::infix.isOperator)
|
||||||
assertTrue(Unit::infix.isInfix)
|
assertTrue(Unit::infix.isInfix)
|
||||||
assertFalse(Unit::infix.isTailrec)
|
|
||||||
assertFalse(Unit::infix.isSuspend)
|
assertFalse(Unit::infix.isSuspend)
|
||||||
|
|
||||||
assertFalse(::tailrec.isInline)
|
|
||||||
assertFalse(::tailrec.isExternal)
|
|
||||||
assertFalse(::tailrec.isOperator)
|
|
||||||
assertFalse(::tailrec.isInfix)
|
|
||||||
assertTrue(::tailrec.isTailrec)
|
|
||||||
assertFalse(::tailrec.isSuspend)
|
|
||||||
|
|
||||||
assertFalse(Suspend::suspend.isInline)
|
assertFalse(Suspend::suspend.isInline)
|
||||||
assertFalse(Suspend::suspend.isExternal)
|
assertFalse(Suspend::suspend.isExternal)
|
||||||
assertFalse(Suspend::suspend.isOperator)
|
assertFalse(Suspend::suspend.isOperator)
|
||||||
assertFalse(Suspend::suspend.isInfix)
|
assertFalse(Suspend::suspend.isInfix)
|
||||||
assertFalse(Suspend::suspend.isTailrec)
|
|
||||||
assertTrue(Suspend::suspend.isSuspend)
|
assertTrue(Suspend::suspend.isSuspend)
|
||||||
|
|
||||||
assertTrue(::externalGetter.getter.isExternal)
|
assertTrue(::externalGetter.getter.isExternal)
|
||||||
|
|||||||
@@ -52,14 +52,6 @@ public interface KFunction<out R> : KCallable<R>, Function<R> {
|
|||||||
@SinceKotlin("1.1")
|
@SinceKotlin("1.1")
|
||||||
public val isInfix: Boolean
|
public val isInfix: Boolean
|
||||||
|
|
||||||
/**
|
|
||||||
* `true` if this function is `tailrec`.
|
|
||||||
* See the [Kotlin language documentation](https://kotlinlang.org/docs/reference/functions.html#tail-recursive-functions)
|
|
||||||
* for more information.
|
|
||||||
*/
|
|
||||||
@SinceKotlin("1.1")
|
|
||||||
public val isTailrec: Boolean
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* `true` if this is a suspending function.
|
* `true` if this is a suspending function.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -135,9 +135,6 @@ internal class KFunctionImpl private constructor(
|
|||||||
override val isInfix: Boolean
|
override val isInfix: Boolean
|
||||||
get() = descriptor.isInfix
|
get() = descriptor.isInfix
|
||||||
|
|
||||||
override val isTailrec: Boolean
|
|
||||||
get() = descriptor.isTailrec
|
|
||||||
|
|
||||||
override val isSuspend: Boolean
|
override val isSuspend: Boolean
|
||||||
get() = descriptor.isSuspend
|
get() = descriptor.isSuspend
|
||||||
|
|
||||||
|
|||||||
@@ -118,7 +118,6 @@ internal abstract class KPropertyImpl<out R> private constructor(
|
|||||||
override val isExternal: Boolean get() = descriptor.isExternal
|
override val isExternal: Boolean get() = descriptor.isExternal
|
||||||
override val isOperator: Boolean get() = descriptor.isOperator
|
override val isOperator: Boolean get() = descriptor.isOperator
|
||||||
override val isInfix: Boolean get() = descriptor.isInfix
|
override val isInfix: Boolean get() = descriptor.isInfix
|
||||||
override val isTailrec: Boolean get() = descriptor.isTailrec
|
|
||||||
override val isSuspend: Boolean get() = descriptor.isSuspend
|
override val isSuspend: Boolean get() = descriptor.isSuspend
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -61,11 +61,6 @@ public class FunctionReference extends CallableReference implements FunctionImpl
|
|||||||
return getReflected().isInfix();
|
return getReflected().isInfix();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isTailrec() {
|
|
||||||
return getReflected().isTailrec();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isSuspend() {
|
public boolean isSuspend() {
|
||||||
return getReflected().isSuspend();
|
return getReflected().isSuspend();
|
||||||
|
|||||||
@@ -509,7 +509,6 @@ public class kotlin/jvm/internal/FunctionReference : kotlin/jvm/internal/Callabl
|
|||||||
public fun isInline ()Z
|
public fun isInline ()Z
|
||||||
public fun isOperator ()Z
|
public fun isOperator ()Z
|
||||||
public fun isSuspend ()Z
|
public fun isSuspend ()Z
|
||||||
public fun isTailrec ()Z
|
|
||||||
public fun toString ()Ljava/lang/String;
|
public fun toString ()Ljava/lang/String;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1156,7 +1155,6 @@ public abstract interface class kotlin/reflect/KFunction : kotlin/Function, kotl
|
|||||||
public abstract fun isInline ()Z
|
public abstract fun isInline ()Z
|
||||||
public abstract fun isOperator ()Z
|
public abstract fun isOperator ()Z
|
||||||
public abstract fun isSuspend ()Z
|
public abstract fun isSuspend ()Z
|
||||||
public abstract fun isTailrec ()Z
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract interface class kotlin/reflect/KMutableProperty : kotlin/reflect/KProperty {
|
public abstract interface class kotlin/reflect/KMutableProperty : kotlin/reflect/KProperty {
|
||||||
|
|||||||
Reference in New Issue
Block a user