From 81ac3a4f2fef59082bd168cdd553c8324be8e030 Mon Sep 17 00:00:00 2001 From: Mikhail Zarechenskiy Date: Mon, 19 Mar 2018 15:10:23 +0300 Subject: [PATCH] Add ability to enable new inference in the platform --- .../src/org/jetbrains/kotlin/idea/project/Platform.kt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/project/Platform.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/project/Platform.kt index 34b67748d11..459503e611e 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/project/Platform.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/project/Platform.kt @@ -58,6 +58,10 @@ private val readDeserializedContractsArg: String by lazy { CommonCompilerArguments::readDeserializedContracts.annotations.filterIsInstance().single().value } +private val newInferenceArg: String by lazy { + CommonCompilerArguments::newInference.annotations.filterIsInstance().single().value +} + fun Module.getAndCacheLanguageLevelByDependencies(): LanguageVersion { val facetSettings = KotlinFacetSettingsProvider.getInstance(project).getInitializedSettings(this) val languageLevel = getLibraryLanguageLevel(this, null, facetSettings.targetPlatformKind) @@ -190,6 +194,10 @@ private fun getExtraLanguageFeatures( if (compilerSettings?.additionalArguments?.contains(readDeserializedContractsArg) == true) { put(LanguageFeature.ReadDeserializedContracts, LanguageFeature.State.ENABLED) } + + if (compilerSettings?.additionalArguments?.contains(newInferenceArg) == true) { + put(LanguageFeature.NewInference, LanguageFeature.State.ENABLED) + } } }