Я считаю, что текущий инструмент не может сделать это из коробки, включая IntelliJ. Вам нужно будет написать обычную проверку FindBugs. У FindBugs есть некоторая логика для поддержки анализа невозврата.
Причина в том, что вы пытаетесь перепроектировать контракт по методу обратной связи. Аннотации Nullness являются частью контракта, поэтому они не могут и не должны выводиться из кода. Невозможно, даже теоретически, сказать, нужен ли программисту метод для возврата значений null
или если это ошибка программирования. В зависимости от этого вам нужно будет исправить код, добавив аннотацию @Nullable
или изменив тело метода так, чтобы он не смог вернуть null
(и, вероятно, добавив @Nonnull
).
FindBugs имеет некоторые annotations, которые вы можете использовать для указания значений по умолчанию на уровне пакетов. Затем он проверит, что все методы классов в этом пакете соответствуют вашему стандарту. Если вы этого не сделали, FindBugs предполагает, что вы установили @Nullable
; так что, возможно, ваше дело уже разрешено.
Полезная ссылка, но на самом деле не дубликат. Я хотел бы проанализировать всю базу кода, которую я использую (включая устаревший код), а не просто проверять ее на лету в IDEA. –
Отметьте мой последний комментарий к моему ответу, возможно он может вам помочь – esin88