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