JVM_IR: optimize tailrec calls in inline lambdas
^KT-48600 Fixed
This commit is contained in:
+6
-1
@@ -7,10 +7,15 @@ package org.jetbrains.kotlin.backend.jvm.lower
|
||||
|
||||
import org.jetbrains.kotlin.backend.common.lower.TailrecLowering
|
||||
import org.jetbrains.kotlin.backend.jvm.JvmBackendContext
|
||||
import org.jetbrains.kotlin.backend.jvm.JvmLoweredStatementOrigin
|
||||
import org.jetbrains.kotlin.config.LanguageFeature
|
||||
import org.jetbrains.kotlin.config.languageVersionSettings
|
||||
import org.jetbrains.kotlin.ir.expressions.IrFunctionReference
|
||||
|
||||
class JvmTailrecLowering(context: JvmBackendContext) : TailrecLowering(context) {
|
||||
override fun useProperComputationOrderOfTailrecDefaultParameters(): Boolean =
|
||||
context.ir.context.configuration.languageVersionSettings.supportsFeature(LanguageFeature.ProperComputationOrderOfTailrecDefaultParameters)
|
||||
}
|
||||
|
||||
override fun followFunctionReference(reference: IrFunctionReference): Boolean =
|
||||
reference.origin == JvmLoweredStatementOrigin.INLINE_LAMBDA
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user