[IR] Enable -Xvalue-classes flag
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com> #KT-1179
This commit is contained in:
committed by
Space Team
parent
26bcfcd375
commit
25db5bf6e1
+9
@@ -546,6 +546,12 @@ Also sets `-jvm-target` value equal to the selected JDK version"""
|
|||||||
)
|
)
|
||||||
var oldInnerClassesLogic: Boolean by FreezableVar(false)
|
var oldInnerClassesLogic: Boolean by FreezableVar(false)
|
||||||
|
|
||||||
|
@Argument(
|
||||||
|
value = "-Xvalue-classes",
|
||||||
|
description = "Enable experimental value classes"
|
||||||
|
)
|
||||||
|
var valueClasses: Boolean by FreezableVar(false)
|
||||||
|
|
||||||
override fun configureAnalysisFlags(collector: MessageCollector, languageVersion: LanguageVersion): MutableMap<AnalysisFlag<*>, Any> {
|
override fun configureAnalysisFlags(collector: MessageCollector, languageVersion: LanguageVersion): MutableMap<AnalysisFlag<*>, Any> {
|
||||||
val result = super.configureAnalysisFlags(collector, languageVersion)
|
val result = super.configureAnalysisFlags(collector, languageVersion)
|
||||||
result[JvmAnalysisFlags.strictMetadataVersionSemantics] = strictMetadataVersionSemantics
|
result[JvmAnalysisFlags.strictMetadataVersionSemantics] = strictMetadataVersionSemantics
|
||||||
@@ -581,6 +587,9 @@ Also sets `-jvm-target` value equal to the selected JDK version"""
|
|||||||
result[LanguageFeature.ForbidSuperDelegationToAbstractFakeOverride] = LanguageFeature.State.ENABLED
|
result[LanguageFeature.ForbidSuperDelegationToAbstractFakeOverride] = LanguageFeature.State.ENABLED
|
||||||
result[LanguageFeature.AbstractClassMemberNotImplementedWithIntermediateAbstractClass] = LanguageFeature.State.ENABLED
|
result[LanguageFeature.AbstractClassMemberNotImplementedWithIntermediateAbstractClass] = LanguageFeature.State.ENABLED
|
||||||
}
|
}
|
||||||
|
if (valueClasses) {
|
||||||
|
result[LanguageFeature.ValueClasses] = LanguageFeature.State.ENABLED
|
||||||
|
}
|
||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
@@ -157,6 +157,7 @@ where advanced options include:
|
|||||||
-Xuse-type-table Use type table in metadata serialization
|
-Xuse-type-table Use type table in metadata serialization
|
||||||
-Xvalidate-bytecode Validate generated JVM bytecode before and after optimizations
|
-Xvalidate-bytecode Validate generated JVM bytecode before and after optimizations
|
||||||
-Xvalidate-ir Validate IR before and after lowering
|
-Xvalidate-ir Validate IR before and after lowering
|
||||||
|
-Xvalue-classes Enable experimental value classes
|
||||||
-Xallow-any-scripts-in-source-roots
|
-Xallow-any-scripts-in-source-roots
|
||||||
Allow to compile any scripts along with regular Kotlin sources
|
Allow to compile any scripts along with regular Kotlin sources
|
||||||
-Xallow-kotlin-package Allow compiling code in package 'kotlin' and allow not requiring kotlin.stdlib in module-info
|
-Xallow-kotlin-package Allow compiling code in package 'kotlin' and allow not requiring kotlin.stdlib in module-info
|
||||||
|
|||||||
@@ -165,6 +165,7 @@ class CompilerArgumentsContentProspectorTest {
|
|||||||
K2JVMCompilerArguments::noUnifiedNullChecks,
|
K2JVMCompilerArguments::noUnifiedNullChecks,
|
||||||
K2JVMCompilerArguments::useOldInlineClassesManglingScheme,
|
K2JVMCompilerArguments::useOldInlineClassesManglingScheme,
|
||||||
K2JVMCompilerArguments::enableJvmPreview,
|
K2JVMCompilerArguments::enableJvmPreview,
|
||||||
|
K2JVMCompilerArguments::valueClasses,
|
||||||
)
|
)
|
||||||
|
|
||||||
private val k2JVMCompilerArgumentsStringProperties = commonCompilerArgumentsStringProperties + listOf(
|
private val k2JVMCompilerArgumentsStringProperties = commonCompilerArgumentsStringProperties + listOf(
|
||||||
|
|||||||
Reference in New Issue
Block a user