Как подавить предупреждения для одной строки в Котлине - PullRequest
0 голосов
/ 13 февраля 2019

У меня есть приложение для Android, написанное на Kotlin.В моем коде есть предупреждение, и я хочу подавить его для одной строки, а не для всей функции .

Возможно ли это в Kotlin?Что-то в этом роде

fun largeFun(canvas: Canvas) {
    ...

    if (BuildConfig.DEBUG) {
        // Suppress allocation warning
        canvas.drawText(Date().toString, x, y, p)
    }
}

PS Я знаю, что могу извлечь этот код в отдельную функцию и подавить предупреждение для этой функции, но все же я хочу знать, возможно ли подавление предупреждений в одну строку

РЕДАКТИРОВАТЬ Отредактировано код вопроса.Решение состоит в том, чтобы извлечь распределение для val, и @Suppress работает как ожидалось

1 Ответ

0 голосов
/ 13 февраля 2019

Без проблем.Просто поместите аннотацию Suppress прямо перед областью, в которой вы хотите подавить предупреждения.Например:

fun main() {
    @Deprecated(level = WARNING)
    fun deprecatedFun() {}

    if (BuildConfig.DEBUG) {
        @Suppress("DEPRECATION") val f = deprecatedFun()
    }
}

Кроме того, Android Studio предоставляет прекрасную возможность подавить предупреждение для определенной области - alt + enter;)

enter image description here

...