Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗ktSpAnDp 127 of 299 menu
◀ ▶

Пометка устаревания в Kotlin

Пометка @Deprecated принимает сообщение для отчёта компилятора. По умолчанию уровень - DeprecationLevel.WARNING: сборка проходит, но вызов помеченного объявления подсвечивается.

На устаревший расчёт скидки можно повесить явный текст и оставить уровень предупреждения:

@Deprecated( message = "use computeRebate instead", level = DeprecationLevel.WARNING ) fun flatRebate(price: Int): Int = price / 10 fun computeRebate(price: Int): Int = price / 10

Параметр ReplaceWith добавляет в предупреждение готовый фрагмент кода для замены. IDE часто подставляет его по подсказке. Пример для другой устаревшей команды:

@Deprecated( message = "flat fee helper is obsolete", ReplaceWith("packFee(amount)") ) fun wrapFee(amount: Int): Int = amount + 2 fun packFee(amount: Int): Int = amount + 2

Если уровень поднять до DeprecationLevel.ERROR, компилятор отклоняет любой вызов помеченного объявления. Саму функцию объявить можно, вызвать из программы уже нельзя:

@Deprecated( message = "removed from public API", level = DeprecationLevel.ERROR ) fun bannedQuote(): String = "old"

Пометьте функцию подсчёта дней в поездке как устаревшую с уровнем предупреждения и текстом о замене на новую функцию с тем же смыслом. Оставьте один вызов старой функции в main и убедитесь, что сборка даёт предупреждение.

Объявите вторую функцию выдачи токена с уровнем ERROR. Попытка вызвать её из main должна завершиться ошибкой компиляции.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить