Kotlin Facet: Use facet configuration to provide language version for IDE analyzer
This commit is contained in:
@@ -16,9 +16,13 @@
|
||||
|
||||
package org.jetbrains.kotlin.analyzer
|
||||
|
||||
import com.intellij.openapi.components.ServiceManager
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.psi.search.GlobalSearchScope
|
||||
import org.jetbrains.kotlin.builtins.DefaultBuiltIns
|
||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||
import org.jetbrains.kotlin.config.LanguageVersionSettings
|
||||
import org.jetbrains.kotlin.config.LanguageVersionSettingsImpl
|
||||
import org.jetbrains.kotlin.container.ComponentProvider
|
||||
import org.jetbrains.kotlin.context.ModuleContext
|
||||
import org.jetbrains.kotlin.context.ProjectContext
|
||||
@@ -246,3 +250,15 @@ private class DelegatingPackageFragmentProvider(
|
||||
return delegate().getSubPackagesOf(fqName, nameFilter)
|
||||
}
|
||||
}
|
||||
|
||||
interface LanguageVersionSettingsProvider {
|
||||
fun getLanguageVersionSettings(moduleInfo: ModuleInfo): LanguageVersionSettings
|
||||
|
||||
object Default : LanguageVersionSettingsProvider {
|
||||
override fun getLanguageVersionSettings(moduleInfo: ModuleInfo) = LanguageVersionSettingsImpl.DEFAULT
|
||||
}
|
||||
|
||||
companion object {
|
||||
fun getInstance(project: Project) = ServiceManager.getService(project, LanguageVersionSettingsProvider::class.java) ?: Default
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user