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:
Alexander Udalov
2016-11-14 11:08:44 +03:00
parent 5e73dc4a4c
commit 7e82d139cf
6 changed files with 0 additions and 32 deletions
@@ -10,7 +10,6 @@ inline fun inline() {}
class External { external fun external() }
operator fun Unit.invoke() {}
infix fun Unit.infix(unit: Unit) {}
tailrec fun tailrec() { tailrec() }
class Suspend { suspend fun suspend(c: Continuation<Unit>) {} }
val externalGetter = Unit
@@ -25,42 +24,30 @@ fun box(): String {
assertFalse(::inline.isExternal)
assertFalse(::inline.isOperator)
assertFalse(::inline.isInfix)
assertFalse(::inline.isTailrec)
assertFalse(::inline.isSuspend)
assertFalse(External::external.isInline)
assertTrue(External::external.isExternal)
assertFalse(External::external.isOperator)
assertFalse(External::external.isInfix)
assertFalse(External::external.isTailrec)
assertFalse(External::external.isSuspend)
assertFalse(Unit::invoke.isInline)
assertFalse(Unit::invoke.isExternal)
assertTrue(Unit::invoke.isOperator)
assertFalse(Unit::invoke.isInfix)
assertFalse(Unit::invoke.isTailrec)
assertFalse(Unit::invoke.isSuspend)
assertFalse(Unit::infix.isInline)
assertFalse(Unit::infix.isExternal)
assertFalse(Unit::infix.isOperator)
assertTrue(Unit::infix.isInfix)
assertFalse(Unit::infix.isTailrec)
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.isExternal)
assertFalse(Suspend::suspend.isOperator)
assertFalse(Suspend::suspend.isInfix)
assertFalse(Suspend::suspend.isTailrec)
assertTrue(Suspend::suspend.isSuspend)
assertTrue(::externalGetter.getter.isExternal)
@@ -52,14 +52,6 @@ public interface KFunction<out R> : KCallable<R>, Function<R> {
@SinceKotlin("1.1")
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.
*/
@@ -135,9 +135,6 @@ internal class KFunctionImpl private constructor(
override val isInfix: Boolean
get() = descriptor.isInfix
override val isTailrec: Boolean
get() = descriptor.isTailrec
override val isSuspend: Boolean
get() = descriptor.isSuspend
@@ -118,7 +118,6 @@ internal abstract class KPropertyImpl<out R> private constructor(
override val isExternal: Boolean get() = descriptor.isExternal
override val isOperator: Boolean get() = descriptor.isOperator
override val isInfix: Boolean get() = descriptor.isInfix
override val isTailrec: Boolean get() = descriptor.isTailrec
override val isSuspend: Boolean get() = descriptor.isSuspend
}
@@ -61,11 +61,6 @@ public class FunctionReference extends CallableReference implements FunctionImpl
return getReflected().isInfix();
}
@Override
public boolean isTailrec() {
return getReflected().isTailrec();
}
@Override
public boolean isSuspend() {
return getReflected().isSuspend();
@@ -509,7 +509,6 @@ public class kotlin/jvm/internal/FunctionReference : kotlin/jvm/internal/Callabl
public fun isInline ()Z
public fun isOperator ()Z
public fun isSuspend ()Z
public fun isTailrec ()Z
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 isOperator ()Z
public abstract fun isSuspend ()Z
public abstract fun isTailrec ()Z
}
public abstract interface class kotlin/reflect/KMutableProperty : kotlin/reflect/KProperty {