diff --git a/build.gradle.kts b/build.gradle.kts index 0fe4c901326..bdd07982832 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -123,6 +123,8 @@ if (!project.hasProperty("versions.kotlin-native")) { } val useJvmFir by extra(project.kotlinBuildProperties.useFir) +val useFirLT by extra(project.kotlinBuildProperties.useFirWithLightTree) +val useFirIC by extra(project.kotlinBuildProperties.useFirTightIC) val renderDiagnosticNames by extra(project.kotlinBuildProperties.renderDiagnosticNames) val irCompilerModules = arrayOf( @@ -505,6 +507,12 @@ allprojects { if (useJvmFir && this@allprojects.path !in projectsWithDisabledFirBootstrap) { freeCompilerArgs += "-Xuse-fir" freeCompilerArgs += "-Xabi-stability=stable" + if (useFirLT) { + freeCompilerArgs += "-Xuse-fir-lt" + } + if (useFirIC) { + freeCompilerArgs += "-Xuse-fir-ic" + } } if (renderDiagnosticNames) { freeCompilerArgs += "-Xrender-internal-diagnostic-names" diff --git a/buildSrc/src/main/kotlin/BuildPropertiesExt.kt b/buildSrc/src/main/kotlin/BuildPropertiesExt.kt index a37cd38a288..f0ad901fcd2 100644 --- a/buildSrc/src/main/kotlin/BuildPropertiesExt.kt +++ b/buildSrc/src/main/kotlin/BuildPropertiesExt.kt @@ -54,3 +54,9 @@ val KotlinBuildProperties.junit5NumberOfThreadsForParallelExecution: Int? val KotlinBuildProperties.publishGradlePluginsJavadoc: Boolean get() = getBoolean("kotlin.build.gradle.publish.javadocs", false) + +val KotlinBuildProperties.useFirWithLightTree: Boolean + get() = getBoolean("kotlin.build.useFirLT") + +val KotlinBuildProperties.useFirTightIC: Boolean + get() = getBoolean("kotlin.build.useFirIC")