Added AllowNullableArrayArgsInMain (1.4+) language setting

This commit is contained in:
Vladimir Dolzhenko
2019-10-29 19:20:35 +01:00
parent 6ecc7eab7e
commit 26255f8501
11 changed files with 61 additions and 28 deletions
@@ -28,6 +28,7 @@ import com.intellij.psi.PsiElement
import com.intellij.psi.util.CachedValue
import com.intellij.psi.util.CachedValueProvider
import com.intellij.psi.util.CachedValuesManager
import org.jetbrains.annotations.TestOnly
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.cli.common.arguments.*
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
@@ -168,6 +169,17 @@ val Module.languageVersionSettings: LanguageVersionSettings
return cachedValue.value
}
@TestOnly // public for tests
fun Module.setLanguageVersionSettings(value: LanguageVersionSettings) =
putUserData(
LANGUAGE_VERSION_SETTINGS,
CachedValuesManager.getManager(project).createCachedValue({
CachedValueProvider.Result(
value, ProjectRootModificationTracker.getInstance(project)
)
}, false)
)
private fun Module.createCachedValueForLanguageVersionSettings(): CachedValue<LanguageVersionSettings> {
return CachedValuesManager.getManager(project).createCachedValue({
CachedValueProvider.Result(