KT-54804 [SLC] Generate synthetic functions for annotations on properties in light classes

This commit is contained in:
Pavel Mikhailovskii
2023-05-12 09:39:37 +00:00
committed by Space Team
parent 111243f215
commit 7ac5233a32
18 changed files with 399 additions and 9 deletions
@@ -81,6 +81,8 @@ class LanguageVersionSettingsBuilder {
analysisFlag(JvmAnalysisFlags.useIR, targetBackend?.isIR != false),
analysisFlag(AnalysisFlags.explicitApiVersion, trueOrNull(apiVersion != null)),
analysisFlag(JvmAnalysisFlags.generatePropertyAnnotationsMethods, trueOrNull(LanguageSettingsDirectives.GENERATE_PROPERTY_ANNOTATIONS_METHODS in directives)),
)
analysisFlags.forEach { withFlag(it.first, it.second) }
@@ -77,6 +77,10 @@ object LanguageSettingsDirectives : SimpleDirectivesContainer() {
val OLD_INNER_CLASSES_LOGIC by directive("Use old logic for generation of InnerClasses attributes")
val LINK_VIA_SIGNATURES by directive("Use linkage via signatures instead of descriptors / FIR")
val ENABLE_JVM_IR_INLINER by directive("Enable inlining on IR, instead of inlining on bytecode")
val GENERATE_PROPERTY_ANNOTATIONS_METHODS by directive(
description = "Enables corresponding analysis flag (JvmAnalysisFlags.generatePropertyAnnotationsMethods)"
)
// --------------------- Utils ---------------------