Switch enableJvmDefault to jvmDefaultMode

This commit is contained in:
Mikhael Bogdanov
2018-05-23 14:57:14 +02:00
parent bacc2079ed
commit 065780de4c
61 changed files with 114 additions and 70 deletions
@@ -32,6 +32,10 @@ class AnalysisFlag<out T> internal constructor(
operator fun provideDelegate(instance: Any?, property: KProperty<*>) = Flag(property.name, Jsr305State.DEFAULT)
}
object JvmDefaultModeDisabledByDefaul {
operator fun provideDelegate(instance: Any?, property: KProperty<*>) = Flag(property.name, org.jetbrains.kotlin.config.JvmDefaultMode.DISABLE)
}
object ListOfStrings {
operator fun provideDelegate(instance: Any?, property: KProperty<*>) = Flag(property.name, emptyList<String>())
}
@@ -60,9 +64,9 @@ class AnalysisFlag<out T> internal constructor(
val explicitApiVersion by Flag.Boolean
@JvmStatic
val enableJvmDefault by Flag.Boolean
val ignoreDataFlowInAssert by Flag.Boolean
@JvmStatic
val ignoreDataFlowInAssert by Flag.Boolean
val jvmDefaultMode by Flag.JvmDefaultModeDisabledByDefaul
}
}
@@ -0,0 +1,23 @@
/*
* Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.config
enum class JvmDefaultMode(val description: String) {
DISABLE("disable"),
ENABLE("enable"),
ENABLE_WITH_DEFAULT_IMPLS("compatibility");
val isEnabled
get() = this != DISABLE
companion object {
@JvmField
val DEFAULT = DISABLE
@JvmStatic
fun fromStringOrNull(string: String?) = values().find { it.description == string }
}
}