KT-45375 Lightweight lambdas; KT-52817 introduce @JvmSerializableLambda

This commit is contained in:
Pavel Mikhailovskii
2022-07-18 09:20:55 +02:00
parent 1557f919f5
commit 846537b367
33 changed files with 243 additions and 15 deletions
@@ -253,13 +253,12 @@ class GenerationState private constructor(
JvmClosureGenerationScheme.CLASS
}
val lambdasScheme = run {
val fromConfig = configuration.get(JVMConfigurationKeys.LAMBDAS)
?: JvmClosureGenerationScheme.DEFAULT
if (target >= fromConfig.minJvmTarget)
fromConfig
else
JvmClosureGenerationScheme.DEFAULT
val lambdasScheme = configuration.get(JVMConfigurationKeys.LAMBDAS).let { fromConfig ->
if (fromConfig == null || target < fromConfig.minJvmTarget) {
if (languageVersionSettings.supportsFeature(LanguageFeature.LightweightLambdas) && target >= JvmClosureGenerationScheme.INDY.minJvmTarget)
JvmClosureGenerationScheme.INDY
else JvmClosureGenerationScheme.CLASS
} else fromConfig
}
val moduleName: String = moduleName ?: JvmCodegenUtil.getModuleName(module)