Change -Xload-jsr305-annotations argument to -Xjsr305-annotations={ignore|enable}

See https://youtrack.jetbrains.com/issue/KT-19229 for a complete
explanation

 #KT-19229 Fixed
 #KT-10942
This commit is contained in:
Alexander Udalov
2017-07-25 19:19:41 +03:00
parent 2f99f6ad34
commit 224df7a1ea
7 changed files with 40 additions and 9 deletions
@@ -37,6 +37,10 @@ class AnalysisFlag<out T> internal constructor(
object Boolean {
operator fun provideDelegate(instance: Any?, property: KProperty<*>) = Flag(property.name, false)
}
object Jsr305StateIgnoreByDefault {
operator fun provideDelegate(instance: Any?, property: KProperty<*>) = Flag(property.name, Jsr305State.IGNORE)
}
}
companion object Flags {
@@ -47,6 +51,22 @@ class AnalysisFlag<out T> internal constructor(
val multiPlatformDoNotCheckImpl by Flag.Boolean
@JvmStatic
val loadJsr305Annotations by Flag.Boolean
val loadJsr305Annotations by Flag.Jsr305StateIgnoreByDefault
}
}
enum class Jsr305State(
val description: String,
val shouldReportWarning: Boolean = false,
val shouldReportError: Boolean = false
) {
IGNORE("ignore"),
WARN("warn", shouldReportWarning = true),
ENABLE("enable", shouldReportError = true),
;
companion object {
@JvmField
val DEFAULT: Jsr305State = IGNORE
}
}