可插入类型检查器和检查器框架,真的需要所有这些设置吗?
Pluggable Type Checkers and Checkers framework, is really needed all this setup?
我想了解 Checker Framework 如何实现可插入类型检查器。
通过阅读文档,
我看到涉及很多设置,在我看来要么已经过时,要么没有得到很好的维护。
据我所知,Java8 在 JSR-308 和 JSR-269 上同时支持类型注释和可插入类型检查器,允许接口在几乎每个元素上创建自定义注释,并使用在 javac (-processor) 上带有简单标志的接口代码片段,maven 通过 META-INF/services/javax.annotation.processing.Processor
支持
那为什么文档说 Checker 需要那么多定制..?:
- 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`
我认为自 Java 8 功能以来,Checker 框架实际上一直是自定义注释处理器的集合。是这样吗?似乎不再需要启用编译器、创建自定义检查 (JSR-269) 和启用 /* @Nullable */
等...我很乐意接受纠正
I see a lot of setup involved, and looks to me either outdated or not quite mantained.
具体来说,什么看起来过时或 "not quite maintained"?你的证据是什么?
如果你只是妄下断言,社区帮不了你。
As far as I read, Java 8 supported both Type Annotations and Pluggable Type Checkers on JSR-308 and JSR-269
您的读数不正确。 JSR 308 支持类型注释,但 JSR 269 不支持可插入类型检查器。您需要第三方工具(例如 Checker Framework)来执行可插入类型检查。
你能指出导致你得出这个结论的具体文本吗?具体细节会有所帮助,而不仅仅是没有支持的断言。
to enable /* @Nullable */
评论中的注释支持 ended 20 months ago。您能否指出导致您提出有关评论中注释的问题的文本?
我想了解 Checker Framework 如何实现可插入类型检查器。 通过阅读文档,
我看到涉及很多设置,在我看来要么已经过时,要么没有得到很好的维护。
据我所知,Java8 在 JSR-308 和 JSR-269 上同时支持类型注释和可插入类型检查器,允许接口在几乎每个元素上创建自定义注释,并使用在 javac (-processor) 上带有简单标志的接口代码片段,maven 通过 META-INF/services/javax.annotation.processing.Processor
那为什么文档说 Checker 需要那么多定制..?:
- 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`
我认为自 Java 8 功能以来,Checker 框架实际上一直是自定义注释处理器的集合。是这样吗?似乎不再需要启用编译器、创建自定义检查 (JSR-269) 和启用 /* @Nullable */
等...我很乐意接受纠正
I see a lot of setup involved, and looks to me either outdated or not quite mantained.
具体来说,什么看起来过时或 "not quite maintained"?你的证据是什么? 如果你只是妄下断言,社区帮不了你。
As far as I read, Java 8 supported both Type Annotations and Pluggable Type Checkers on JSR-308 and JSR-269
您的读数不正确。 JSR 308 支持类型注释,但 JSR 269 不支持可插入类型检查器。您需要第三方工具(例如 Checker Framework)来执行可插入类型检查。
你能指出导致你得出这个结论的具体文本吗?具体细节会有所帮助,而不仅仅是没有支持的断言。
to enable
/* @Nullable */
评论中的注释支持 ended 20 months ago。您能否指出导致您提出有关评论中注释的问题的文本?