如何创建处理局部变量的注释处理器?

apg:

我正在尝试为局部变量创建注释。我知道我不能在生成的字节码中保留注释,但是我应该能够在编译时通过执行以下操作来访问信息:

@Target({ElementType.LOCAL_VARIABLE})
@Retention(RetentionPolicy.SOURCE)
public @interface Junk {
  String value();
}

仅,当我在以下指定的受支持类型中指定包含“垃圾”的ProcessorFactory时,它不会由apt或javac处理:

class JunkTester {
    public static void main(String[] args) {
        @Junk String tmp = "Hello World";
        System.out.println(tmp);
    }
}

但是,当我之前移动@Junk批注时,它将起作用 public static

有想法或解决方法?

kschneid:

做了一些快速测试并进行了一些搜索,看起来好像LOCAL_VARIABLE并没有真正被支持。

http://forums.sun.com/thread.jspa?threadID=775449
http://www.cs.rice.edu/~mgricken/research/laptjavac/
https://checkerframework.org/jsr308/

可能完全错了,但这就是它的样子...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章