Отключить ненулевые проверки в Kotlin
class User(val name: String)
Я знаю, что в конструктор будет добавлена эта проверка
Intrinsics.checkParameterIsNotNull(name)
Чтобы убедиться, что name
не храните ноль.
Есть ли способ, чтобы инструмент не генерировал такие проверки? Может быть аннотация?
Это нужно нам весной, когда сопоставим строку json с классом. Проверка выполняется @NotNull
а также @Valid
из javax
class User(@field:NotNull @field:Email val name: String)
таким образом, проверки выполняются сразу после создания объекта, но поскольку исключения вызываются из конструктора, это невозможно.
2 ответа
Вы можете увидеть, как это сделать, используя флаг компилятора:
-Xno-param-assertions
Или Proguard:
-assumenosideeffects class kotlin.jvm.internal.Intrinsics {
static void checkParameterIsNotNull(java.lang.Object, java.lang.String);
}
С Proguard вы можете добавить это правило для проверки всех нулевых проверок.
-assumenosideeffects class kotlin.jvm.internal.Intrinsics {
static void checkParameterIsNotNull(java.lang.Object, java.lang.String);
}