I am trying to understand how Checker Framework implements Pluggable Type Checkers. By reading the documentation,
I see a lot of setup involved, and looks to me either outdated or not quite mantained.
As far as I read, Java 8 supported both Type Annotations and Pluggable Type Checkers on JSR-308 and JSR-269 , allowing an interface to create custom annotations on almost every element, and process it with a snippet of interfaced code with a simple flag on javac (-processor), which maven supports through META-INF/services/javax.annotation.processing.Processor
Then why documentation states that Checker requires that many customization..?:
- com.google.errorprone.javac "error-prone" jdk if javac should support custom annotation processors (JSR-269)?
- maven dependency plugin
- mvn compiler plugin with annotationProcessorPaths (which I understand it overrides anything from the META-INF file) instead of `META-INF/services/javax.annotation.processing.Processor`
I presume Checker framework has remained effectively a collection of custom annotation processors since Java 8 feature. Is it like that? It does not seem needed anymore to enable the compiler, to create custom checkings (JSR-269) and to enable /* @Nullable */
and the like... I'll be happy to stand corrected