Я думал, что углубился в более старые функции Java, такие как аннотации. Я столкнулся с аннотациями типов Java 8s, которые позволяют нам расширять систему типов Javas. Самая распространенная аннотация «NonNull» или «NotNull» от IntelliJ's Annotation Libary или Checkerframework до сих пор остается для меня загадкой. В Документах я могу найти только объявление интерфейса, но не то, как реализован процессор аннотаций. Мне нравится писать свои собственные аннотации, которые проверяют определенные типы во время компиляции, но я не знаю, с чего начать.
Кто-нибудь знает, как 'NonNull' или 'NotNull' обычнореализован в процессоре аннотаций? . Или укажите мне ресурс или документацию, которая отвечает на мой вопрос?
Ваша помощь очень ценится.