JVM don't use indy by default for SAM conversions (wait for KT-44844)

KT-44278 KT-26060 KT-42621
This commit is contained in:
Dmitry Petrov
2021-02-12 14:35:24 +03:00
parent 5013344bc4
commit 6ba57abb8f
6 changed files with 10 additions and 14 deletions
@@ -211,10 +211,13 @@ class GenerationState private constructor(
val fromConfig = configuration.get(JVMConfigurationKeys.SAM_CONVERSIONS)
if (fromConfig != null && target >= fromConfig.minJvmTarget)
fromConfig
else if (target >= JvmTarget.JVM_1_8 && languageVersionSettings.supportsFeature(LanguageFeature.SamWrapperClassesAreSynthetic))
JvmClosureGenerationScheme.INDY
else
else {
// TODO wait for KT-44844 (properly support 'invokedynamic' in JPS incremental compilation)
// Use JvmClosureGenerationScheme.INDY if
// JVM target is at least JVM_1_8 &&
// SamWrapperClassesAreSynthetic language feature is supported
JvmClosureGenerationScheme.CLASS
}
}
val lambdasScheme = run {