Explicit Api mode: Renamings after design discussions

Change CLI flag to -Xexplicit-api=strict|warning. 'Disable' state and 'mode' suffix are left out as implementation details.

Change intention title to 'make X public explicitly'

Do not report 'no explicit visibility' on property accessors

Set DECLARATION_SIGNATURE as a range for report

Rename internal diagnostic from _MIGRATION to _WARNING
This commit is contained in:
Leonid Startsev
2019-10-14 18:09:52 +03:00
parent 7fada51c42
commit ebb7e434c8
15 changed files with 69 additions and 71 deletions
@@ -39,7 +39,7 @@ class AnalysisFlag<out T> internal constructor(
}
object ApiModeDisabledByDefault {
operator fun provideDelegate(instance: Any?, property: KProperty<*>) = Delegate(property.name, ApiMode.DISABLED)
operator fun provideDelegate(instance: Any?, property: KProperty<*>) = Delegate(property.name, ExplicitApiMode.DISABLED)
}
object ListOfStrings {
@@ -5,13 +5,13 @@
package org.jetbrains.kotlin.config
enum class ApiMode(val state: String) {
enum class ExplicitApiMode(val state: String) {
DISABLED("disable"),
ENABLED("enable"),
MIGRATION("migration");
STRICT("strict"),
WARNING("warning");
companion object {
fun fromString(string: String): ApiMode? = values().find { it.state == string }
fun fromString(string: String): ExplicitApiMode? = values().find { it.state == string }
fun availableValues() = values().joinToString(prefix = "{", postfix = "}") { it.state }
}