Типы сообщений ошибок и предупреждений 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.
→ Ссылка на полный вариант таблицы
Возможно, кому-то эта информация пригодится.