Temporary fix code before proper support of UnsafeVariance in NI

See #KT-34433
This commit is contained in:
Mikhail Zarechenskiy
2020-02-10 01:49:32 +03:00
parent c64577b735
commit 599ff4711e
3 changed files with 5 additions and 5 deletions
@@ -309,7 +309,7 @@ class ValueSettingType<V : Any>(
) : SettingBuilder<V, ValueSettingType<V>>(path, title, neededAtPhase) {
init {
validate { value ->
if (value is Validatable<*>) value.validator.validate(this, value)
if (value is Validatable<*>) (value.validator as SettingValidator<Any>).validate(this, value)
else ValidationResult.OK
}
}
@@ -354,7 +354,7 @@ class ListSettingType<V : Any>(private val parser: Parser<V>) : SettingType<List
validate { values ->
values.fold(ValidationResult.OK as ValidationResult) { result, value ->
result and when (value) {
is Validatable<*> -> value.validator.validate(this, value)
is Validatable<*> -> (value.validator as SettingValidator<Any>).validate(this, value)
else -> ValidationResult.OK
}
}
@@ -39,7 +39,7 @@ class Module(
val value = setting.reference.notRequiredSettingValue
?: setting.defaultValue
?: return@map ValidationResult.ValidationError("${setting.title.capitalize()} should not be blank")
setting.validator.validate(this@settingValidator, value)
(setting.validator as SettingValidator<Any>).validate(this@settingValidator, value)
}.fold()
}
} and settingValidator { module ->
@@ -49,7 +49,7 @@ class Module(
val value = setting.reference.notRequiredSettingValue
?: setting.defaultValue
?: return@map ValidationResult.ValidationError("${setting.title.capitalize()} should not be blank")
setting.validator.validate(this@settingValidator, value)
(setting.validator as SettingValidator<Any>).validate(this@settingValidator, value)
}.fold()
}
} and inValidatorContext { module ->
@@ -23,7 +23,7 @@ abstract class Wizard(createPlugins: PluginsCreator, val servicesManager: Servic
context.settingContext.allPluginSettings.map { setting ->
val value = context.settingContext.pluginSettingValue(setting) ?: return@map ValidationResult.OK
when (setting.neededAtPhase) {
in phases -> setting.validator.validate(this, value)
in phases -> (setting.validator as SettingValidator<Any>).validate(this, value)
else -> ValidationResult.OK
}
}.fold(ValidationResult.OK, ValidationResult::and).toResult()