Использую Intellij Idea.
Я думал, что это исключительно compile-time проверки, которые выдают предупреждения. Но запустив небольшой тестовый код и передав null в метод, принимающий @NotNull, я с удивлением поймал
Exception in thread "main" java.lang.IllegalArgumentException: Argument 1 for @NotNull parameter of kz/kazbuy/util/ReflectionUtils.getClassList must not be null
at test.ReflectionUtils.getClassList(ReflectionUtils.java)
at test.ReflectionUtils.main(ReflectionUtils.java:122)
Дизассемблер показывает небольшой пролог в функции, сгенерированный, как я понимаю, идеевским компилятором. Можно ли это как то повторить на билд-сервере без IDE? В принципе несложно написать транслятор, но, вероятно есть готовый, который я, почему то, не могу нагуглить.