From 430da22b4b22075a062234a9f6b6f02b4376a42e Mon Sep 17 00:00:00 2001 From: "Denis.Zharkov" Date: Tue, 24 Nov 2020 10:42:09 +0300 Subject: [PATCH] Setup 15_PREVIEW LanguageLevel for Java sources in CLI It's necessary to read preview-features related Java PSI parts It should be OK to set it unconditionally because we don't compile Java sources, only obtain declaration structure from them --- .../kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt index 1624b9df21b..b898e84423d 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt @@ -33,11 +33,13 @@ import com.intellij.openapi.extensions.Extensions import com.intellij.openapi.extensions.ExtensionsArea import com.intellij.openapi.fileTypes.PlainTextFileType import com.intellij.openapi.project.Project +import com.intellij.openapi.roots.LanguageLevelProjectExtension import com.intellij.openapi.util.Disposer import com.intellij.openapi.util.io.FileUtilRt import com.intellij.openapi.util.text.StringUtil import com.intellij.openapi.vfs.* import com.intellij.openapi.vfs.impl.ZipHandler +import com.intellij.pom.java.LanguageLevel import com.intellij.psi.PsiElementFinder import com.intellij.psi.PsiManager import com.intellij.psi.compiled.ClassFileDecompilers @@ -250,6 +252,8 @@ class KotlinCoreEnvironment private constructor( project.putUserData(APPEND_JAVA_SOURCE_ROOTS_HANDLER_KEY, fun(roots: List) { updateClasspath(roots.map { JavaSourceRoot(it, null) }) }) + + LanguageLevelProjectExtension.getInstance(project).languageLevel = LanguageLevel.JDK_15_PREVIEW } private fun collectAdditionalSources(project: MockProject) {