Do not use LanguageVersionSettings.languageVersion directly

This commit is contained in:
Alexander Udalov
2017-02-03 13:21:50 +03:00
parent b784680fe2
commit 389ddf26b3
4 changed files with 11 additions and 8 deletions
@@ -34,6 +34,9 @@ class ApiVersion private constructor(
override fun toString() = versionString
companion object {
@JvmField
val KOTLIN_1_1 = createByLanguageVersion(LanguageVersion.KOTLIN_1_1)
@JvmField
val LATEST: ApiVersion = createByLanguageVersion(LanguageVersion.Companion.LATEST)
@@ -41,6 +41,7 @@ enum class LanguageFeature(val sinceVersion: LanguageVersion?, val hintUrl: Stri
RefinedSamAdaptersPriority(KOTLIN_1_1),
SafeCallBoundSmartCasts(KOTLIN_1_1),
TypeInferenceOnGenericsForCallableReferences(KOTLIN_1_1),
NoDelegationToJavaDefaultInterfaceMembers(KOTLIN_1_1),
// Experimental features
MultiPlatformProjects(null),
@@ -89,8 +90,10 @@ enum class LanguageVersion(val major: Int, val minor: Int) : DescriptionAware {
interface LanguageVersionSettings {
fun supportsFeature(feature: LanguageFeature): Boolean
val languageVersion: LanguageVersion
val apiVersion: ApiVersion
// Please do not use this to enable/disable specific features/checks. Instead add a new LanguageFeature entry and call supportsFeature
val languageVersion: LanguageVersion
}
class LanguageVersionSettingsImpl @JvmOverloads constructor(