KT-53804 Restore old and incorrect logic of generating InnerClasses attributes for kotlin-stdlib

This commit is contained in:
Pavel Mikhailovskii
2022-09-05 14:18:26 +02:00
committed by teamcity
parent 4d64f3a422
commit 6a14400342
13 changed files with 240 additions and 8 deletions
@@ -527,6 +527,12 @@ Also sets `-jvm-target` value equal to the selected JDK version"""
)
var noNewJavaAnnotationTargets: Boolean by FreezableVar(false)
@Argument(
value = "-Xuse-old-innerclasses-logic",
description = "Use old logic for generation of InnerClasses attributes"
)
var oldInnerClassesLogic: Boolean by FreezableVar(false)
override fun configureAnalysisFlags(collector: MessageCollector, languageVersion: LanguageVersion): MutableMap<AnalysisFlag<*>, Any> {
val result = super.configureAnalysisFlags(collector, languageVersion)
result[JvmAnalysisFlags.strictMetadataVersionSemantics] = strictMetadataVersionSemantics
@@ -318,6 +318,7 @@ fun CompilerConfiguration.configureAdvancedJvmOptions(arguments: K2JVMCompilerAr
put(JVMConfigurationKeys.ENABLE_DEBUG_MODE, arguments.enableDebugMode)
put(JVMConfigurationKeys.IGNORE_CONST_OPTIMIZATION_ERRORS, arguments.ignoreConstOptimizationErrors)
put(JVMConfigurationKeys.NO_NEW_JAVA_ANNOTATION_TARGETS, arguments.noNewJavaAnnotationTargets)
put(JVMConfigurationKeys.OLD_INNER_CLASSES_LOGIC, arguments.oldInnerClassesLogic)
val assertionsMode =
JVMAssertionsMode.fromStringOrNull(arguments.assertionsMode)