正在检索烟灰中的注释信息



我想搜索某个注释的所有出现,以选择分析区域。

以nullck分析为例;我想找到所有的@NotNull注释,并从包含声明为@NotNull的变量的方法开始运行nullck分析。

有可能用烟灰做这件事吗?Jimple似乎不保留注释信息。

或者,编写一个注释预处理器,围绕用@NotNull注释的局部变量生成特殊标记,并在Soot运行时匹配这些标记,这是一个好主意吗?

变量信息似乎不会暴露给编译器以外的任何人;即使在.class中也没有,即使是注释处理器也没有,甚至SOURCE级别的保留也没有。

所以答案是,在当前的java中,我们不可能将其传递给烟灰。

对于不在局部变量上的注释,如方法和参数,它们位于soot.tagkit.Host.getTags()下。然而,有必要使用jap而不是jtp

最新更新