方法体内注释的处理

发布于 2024-12-10 20:26:32 字数 74 浏览 3 评论 0原文

我正在使用可插入注释处理 API 处理 java 注释。是否可以以某种方式处理方法体内使用的注释?

谢谢你的帮助。彼得

I am processing java annotations using the Pluggable Annotation Processing API. Is it somehow possible to also process annotations used inside a method body?

thanks for help. Peter

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

暗藏城府 2024-12-17 20:26:32

我想,我找到了解决方案。正如我所想,当前的 javac 是不可能的。本地注释只是简单的注释,不会被可插入注释处理 API 处理。但是 JSR308 中有一些有趣的工作,处理类型注释,这些注释支持奇妙的东西作为类型变量、本地参数的参数变量、带注释的类型检查和强制转换...看起来,它将被合并到 openJDK 8 中。不错

I think, i found the solution. As i thought, it is not possible with the current javac. local annotations are just simple comments and wont be processed by the pluggable annotation processing api. BUT there are interesting efforts in JSR308, handling type annotations that support marvelous things as parameters on type-variables, local variables, annotated-type-checking and casting... and as it looks, it will be incorporated into openJDK 8. nice

猫七 2024-12-17 20:26:32

在 JSR269 中,相关接口为 < code>javax.lang.model.element.VariableElement,它继承< code>getAnnotation(ClassannotationType) 用于访问此类注释:

for (VariableElement variable : ElementFilter.fieldsIn(methods)) {
    final AnnotationType annotation = variable.getAnnotation(AnnotationType.class);
    if (annotation != null) {
        // ...
    }
}

In JSR269, the relevant interface would be javax.lang.model.element.VariableElement, which inherits getAnnotation(Class<A> annotationType) for accessing such annotations:

for (VariableElement variable : ElementFilter.fieldsIn(methods)) {
    final AnnotationType annotation = variable.getAnnotation(AnnotationType.class);
    if (annotation != null) {
        // ...
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文