[LL API] Provide customizable default language version settings
This commit is contained in:
+15
@@ -7,6 +7,8 @@ package org.jetbrains.kotlin.analysis.project.structure
|
||||
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.psi.PsiElement
|
||||
import org.jetbrains.kotlin.config.LanguageVersionSettings
|
||||
import org.jetbrains.kotlin.config.LanguageVersionSettingsImpl
|
||||
|
||||
public abstract class ProjectStructureProvider {
|
||||
/**
|
||||
@@ -24,6 +26,19 @@ public abstract class ProjectStructureProvider {
|
||||
*/
|
||||
public abstract fun getModule(element: PsiElement, contextualModule: KtModule?): KtModule
|
||||
|
||||
/**
|
||||
* Project-global [LanguageVersionSettings]. For source modules lacking [LanguageVersionSettings]
|
||||
* (such as [KtNotUnderContentRootModule]), the default settings apply.
|
||||
*/
|
||||
public open val globalLanguageVersionSettings: LanguageVersionSettings
|
||||
get() = LanguageVersionSettingsImpl.DEFAULT
|
||||
|
||||
/**
|
||||
* Project-global [LanguageVersionSettings] for [KtLibraryModule]s and [KtLibrarySourceModule]s.
|
||||
*/
|
||||
public open val libraryLanguageVersionSettings: LanguageVersionSettings
|
||||
get() = globalLanguageVersionSettings
|
||||
|
||||
public companion object {
|
||||
public fun getInstance(project: Project): ProjectStructureProvider {
|
||||
return project.getService(ProjectStructureProvider::class.java)
|
||||
|
||||
Reference in New Issue
Block a user