Почему он жалуется, что тип объявления был выведен из вызова платформы в Kotlin? - PullRequest
2 голосов
/ 05 мая 2020

Почему он жалуется на declaration has type inferred from a platform call, когда метод, который находится в java, аннотирован аннотацией NotNull. Я бы ожидал этого предупреждения в случае, если метод java не аннотирован кодом аннотации NotNull в Kotlin

 override fun getOverlay() =  createDefaultOverlay(context)

и кодом в java

   @NonNull
    public static RecyclerView createRecyclerView(@NonNull Context context) {}

1 Ответ

1 голос
/ 06 мая 2020

@NonNull(when = When.ALWAYS) должен сообщить Kotlin, что код Java возвращает значение, отличное от null.

В вашем случае вы не использовали @NonNull(when = When.ALWAYS) напрямую, а вместо этого имели другая пользовательская аннотация, применившая @NonNull(when = When.ALWAYS). По-видимому, в проверках IDE на допустимость значений NULL, которые не обрабатывают этот случай, есть ошибка или ограничение. Если вы можете создать воспроизводимый образец проекта, подумайте о том, чтобы заполнить отчет об ошибке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...