【问题标题】:How to hook custom compiler logic based on annotations如何挂钩基于注解的自定义编译器逻辑
【发布时间】:2010-06-19 20:20:59
【问题描述】:

我想定义一些注释,允许在编译期间报告额外的警告/错误(在概念上类似于 IntelliJ 中的 @Nullable@NotNull 注释)。

我希望能够编写一些编译器钩子,这些钩子也会根据这些属性添加我的编译逻辑。

如果可能的话,我想要一个通用的钩子,但是因为我们使用的是 Eclipse——如果我们有这个能力,那也是一个好处。

我想知道:

  1. 有可能吗? (上述任何选项)
  2. 我从哪里开始?
  3. 到目前为止,我在注释方面几乎没有经验,所以如果我以错误的方式处理此问题 - 我想知道这一点,并在可能的情况下找到更好的方向。

谢谢。

【问题讨论】:

标签: java eclipse annotations compilation


【解决方案1】:

您可以为此使用 Java 注释处理器(请参阅 JSR 269: Pluggable Annotation Processing API)。来自Annotation checking at compile time with Java Annotation Processor

JSR 269 声明您可以 为编译器实现一个插件 可以处理注释。这 插件可以作为参数给出 编译时间,所以你的代码将是 当您的注释之一时调用 出现在源代码中。

上述链接提供了一个示例,可以帮助您入门。

另见:

【讨论】:

  • 谢谢 - 这正是我想要的。
  • 第二个链接不再存在。不知道它去了哪里。
猜你喜欢
  • 2022-01-21
  • 1970-01-01
  • 2017-07-31
  • 2022-01-08
  • 1970-01-01
  • 2023-01-24
  • 2019-12-16
  • 2021-05-15
  • 1970-01-01
相关资源
最近更新 更多