From ae35a3b3240330edd4c215f3b3480a52f48812c4 Mon Sep 17 00:00:00 2001 From: Mikhail Zarechenskiy Date: Mon, 19 Mar 2018 15:13:45 +0300 Subject: [PATCH] Enable new inference in the compiler --- build.gradle.kts | 1 + compiler/build.gradle.kts | 18 ++++++++++++------ gradle.properties | 1 + 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 84d30554470..011e69d9ebc 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -146,6 +146,7 @@ extra["versions.markdown"] = "0.1.25" val isTeamcityBuild = project.hasProperty("teamcity") || System.getenv("TEAMCITY_VERSION") != null val intellijUltimateEnabled = project.getBooleanProperty("intellijUltimateEnabled") ?: isTeamcityBuild val effectSystemEnabled by extra(project.getBooleanProperty("kotlin.compiler.effectSystemEnabled") ?: false) +val newInferenceEnabled by extra(project.getBooleanProperty("kotlin.compiler.newInferenceEnabled") ?: false) val intellijSeparateSdks = project.getBooleanProperty("intellijSeparateSdks") ?: false diff --git a/compiler/build.gradle.kts b/compiler/build.gradle.kts index bd902f2244c..698b21bbac8 100644 --- a/compiler/build.gradle.kts +++ b/compiler/build.gradle.kts @@ -14,17 +14,23 @@ val compilerModules: Array by rootProject.extra val otherCompilerModules = compilerModules.filter { it != path } val effectSystemEnabled: Boolean by rootProject.extra -if (effectSystemEnabled) { - allprojects { - tasks.withType> { - kotlinOptions { - freeCompilerArgs += listOf("-Xeffect-system") +val newInferenceEnabled: Boolean by rootProject.extra + +configureFreeCompilerArg(effectSystemEnabled, "-Xeffect-system") +configureFreeCompilerArg(newInferenceEnabled, "-Xnew-inference") + +fun configureFreeCompilerArg(isEnabled: Boolean, compilerArgument: String) { + if (isEnabled) { + allprojects { + tasks.withType> { + kotlinOptions { + freeCompilerArgs += listOf(compilerArgument) + } } } } } - val depDistProjects = listOf( ":kotlin-script-runtime", ":kotlin-stdlib", diff --git a/gradle.properties b/gradle.properties index 6b254e14ef3..6d3cf38c9e4 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,6 +4,7 @@ org.gradle.configureondemand=false org.gradle.jvmargs=-Duser.country=US -Dkotlin.daemon.jvm.options=-Xmx1600m kotlin.compiler.effectSystemEnabled=true +kotlin.compiler.newInferenceEnabled=true #maven.repository.mirror=http://repository.jetbrains.com/remote-repos/ #bootstrap.kotlin.repo=https://dl.bintray.com/kotlin/kotlin-dev #bootstrap.kotlin.version=1.1.50-dev-1451