Pull to refresh

Типы сообщений компилятора Kotlin, которые нужно использовать в Suppress

Reading time1 min
Views6.3K

Типы сообщений ошибок и предупреждений Kotlin


Предупреждения и ошибки, которые генерирует компилятор Kotlin часто нужно замаскировать, либо для того, чтобы они не мозолили глаза, либо просто потому, что логика программы нуждается именно в таком коде, который приводит к сообщению об ошибке или предупреждению.



Маскировка сообщений компилятора как в Java так и Kotlin происходит одинаково:


@Suppress("MESSAGE")

где "MESSAGE" — это тип сообщения.


Проблема в том, что узнать каким-то простым способом какой тип сообщения соответствует конкретному тексту часто оказывается невозможно. Подсказки Lint работают почему-то сильно не всегда, автодополнения нет, а разработчиками Kotlin эта информация почему-то нигде не опубликована.


Для облегчения поиска нужных типов сообщений я свел их вместе с текстом в одну таблицу. В случае возникновения необходимости замаскировать какое-то сообщение его можно легко найти в этой таблице и узнать какой тип нужно указать для ее подавления.


Пример таблицы


Тип Сообщение
Data class inheritance from other classes is forbidden DATA_CLASS_CANNOT_HAVE_CLASS_SUPERTYPES
Data class must have at least one primary constructor parameter DATA_CLASS_WITHOUT_PARAMETERS

В один поста на хабре таблицу сообщений засунуть невозможно, а размазывать ее по нескольким сообщением не имеет смысла т.к. ею будет неудобно пользоваться, поэтому я выложил ее на GitHub.


Ссылка на полный вариант таблицы


Возможно, кому-то эта информация пригодится.

Tags:
Hubs:
Total votes 15: ↑12 and ↓3+9
Comments35

Articles