Drop tailRecursive and it's usage
This commit is contained in:
-4
@@ -1256,10 +1256,6 @@ public object Unit {
|
|||||||
/*primary*/ public constructor noinline()
|
/*primary*/ public constructor noinline()
|
||||||
}
|
}
|
||||||
|
|
||||||
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.FUNCTION}) @kotlin.annotation.Retention(value = AnnotationRetention.SOURCE) @kotlin.annotation.annotation() public final class tailRecursive : kotlin.Annotation {
|
|
||||||
/*primary*/ public constructor tailRecursive()
|
|
||||||
}
|
|
||||||
|
|
||||||
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.FUNCTION}) @kotlin.annotation.Retention(value = AnnotationRetention.SOURCE) @kotlin.annotation.annotation() public final class tailrec : kotlin.Annotation {
|
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.FUNCTION}) @kotlin.annotation.Retention(value = AnnotationRetention.SOURCE) @kotlin.annotation.annotation() public final class tailrec : kotlin.Annotation {
|
||||||
/*primary*/ public constructor tailrec()
|
/*primary*/ public constructor tailrec()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -80,10 +80,6 @@ public annotation class Suppress(vararg val names: String)
|
|||||||
* growing the stack depth. Tail call optimization is currently only supported by the JVM
|
* growing the stack depth. Tail call optimization is currently only supported by the JVM
|
||||||
* backend.
|
* backend.
|
||||||
*/
|
*/
|
||||||
@Target(FUNCTION)
|
|
||||||
@Retention(SOURCE)
|
|
||||||
public annotation class tailRecursive
|
|
||||||
|
|
||||||
@Target(FUNCTION)
|
@Target(FUNCTION)
|
||||||
@Retention(SOURCE)
|
@Retention(SOURCE)
|
||||||
public annotation class tailrec
|
public annotation class tailrec
|
||||||
|
|||||||
@@ -182,7 +182,6 @@ public class KotlinBuiltIns {
|
|||||||
public final FqName data = fqName("data");
|
public final FqName data = fqName("data");
|
||||||
public final FqName deprecated = fqName("Deprecated");
|
public final FqName deprecated = fqName("Deprecated");
|
||||||
public final FqName tailRecursive = fqName("tailrec");
|
public final FqName tailRecursive = fqName("tailrec");
|
||||||
public final FqName tailRecursiveDeprecated = fqName("tailRecursive");
|
|
||||||
public final FqName inline = fqName("inline");
|
public final FqName inline = fqName("inline");
|
||||||
public final FqName noinline = fqName("noinline");
|
public final FqName noinline = fqName("noinline");
|
||||||
public final FqName crossinline = fqName("crossinline");
|
public final FqName crossinline = fqName("crossinline");
|
||||||
@@ -1063,8 +1062,7 @@ public class KotlinBuiltIns {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isTailRecursive(@NotNull DeclarationDescriptor declarationDescriptor) {
|
public static boolean isTailRecursive(@NotNull DeclarationDescriptor declarationDescriptor) {
|
||||||
return containsAnnotation(declarationDescriptor, FQ_NAMES.tailRecursive)
|
return containsAnnotation(declarationDescriptor, FQ_NAMES.tailRecursive);
|
||||||
|| containsAnnotation(declarationDescriptor, FQ_NAMES.tailRecursiveDeprecated);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Checks that the symbol represented by the descriptor is annotated with the {@code kotlin.noinline} annotation */
|
/** Checks that the symbol represented by the descriptor is annotated with the {@code kotlin.noinline} annotation */
|
||||||
|
|||||||
@@ -48,8 +48,7 @@ private val typeMapper = mapOf(
|
|||||||
|
|
||||||
fun GenerateTraitOrClass.allSuperTypes(all: Map<String, GenerateTraitOrClass>) = LinkedHashSet<GenerateTraitOrClass>().let { result -> allSuperTypesImpl(listOf(this), all, result); result.toList() }
|
fun GenerateTraitOrClass.allSuperTypes(all: Map<String, GenerateTraitOrClass>) = LinkedHashSet<GenerateTraitOrClass>().let { result -> allSuperTypesImpl(listOf(this), all, result); result.toList() }
|
||||||
|
|
||||||
tailRecursive
|
tailrec fun allSuperTypesImpl(roots: List<GenerateTraitOrClass>, all: Map<String, GenerateTraitOrClass>, result: MutableSet<GenerateTraitOrClass>) {
|
||||||
fun allSuperTypesImpl(roots: List<GenerateTraitOrClass>, all: Map<String, GenerateTraitOrClass>, result: MutableSet<GenerateTraitOrClass>) {
|
|
||||||
if (roots.isNotEmpty()) {
|
if (roots.isNotEmpty()) {
|
||||||
allSuperTypesImpl(roots.flatMap { it.superTypes }.map { all[it] }.filterNotNull().filter { result.add(it) }, all, result)
|
allSuperTypesImpl(roots.flatMap { it.superTypes }.map { all[it] }.filterNotNull().filter { result.add(it) }, all, result)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user