Adapt facet, map coroutine settings on three keys

Original commit: 091756b221
This commit is contained in:
Mikhail Zarechenskiy
2016-12-14 17:37:59 +03:00
committed by Stanislav Erokhin
parent 85f851c7e2
commit eb76293fc7
@@ -72,8 +72,13 @@ enum class CoroutineSupport(
companion object { companion object {
val DEFAULT = ENABLED_WITH_WARNING val DEFAULT = ENABLED_WITH_WARNING
@JvmStatic fun byCompilerArgument(value: String?) = CoroutineSupport.values().firstOrNull { it.compilerArgument == value } @JvmStatic fun byCompilerArguments(arguments: CommonCompilerArguments?) = when {
?: CoroutineSupport.DEFAULT arguments == null -> DEFAULT
arguments.coroutinesEnable -> ENABLED
arguments.coroutinesWarn -> ENABLED_WITH_WARNING
arguments.coroutinesError -> DISABLED
else -> DEFAULT
}
} }
} }
@@ -89,9 +94,11 @@ class KotlinCompilerInfo {
var compilerSettings: CompilerSettings? = null var compilerSettings: CompilerSettings? = null
@get:Transient var coroutineSupport: CoroutineSupport @get:Transient var coroutineSupport: CoroutineSupport
get() = CoroutineSupport.byCompilerArgument(commonCompilerArguments?.coroutineSupport) get() = CoroutineSupport.byCompilerArguments(commonCompilerArguments)
set(value) { set(value) {
commonCompilerArguments?.coroutineSupport = value.compilerArgument commonCompilerArguments?.coroutinesEnable = value == CoroutineSupport.ENABLED
commonCompilerArguments?.coroutinesWarn = value == CoroutineSupport.ENABLED_WITH_WARNING
commonCompilerArguments?.coroutinesError = value == CoroutineSupport.DISABLED
} }
} }