我想获取有关字段修饰符的信息。确切地说,我想找出一个静态的领域。例如,我想检查以下代码:
ASTParser parser = ASTParser.newParser(AST.JLS3);
如何推断 JLS3 是静态字段?在分析方法时,我使用 getModifiers 和 Modifier.isStatic ,它工作正常。但是,现在我无法获得上面代码段中 JLS3 是静态字段的信息。有什么我想念的吗?
编辑:
这是我正在使用的代码:
private boolean visit(SimpleName name){
boolean isStatic = Modifier.isStatic(name.resolveTypeBinding().getModifiers());
...
return true;
}
在 JLS3 的情况下,isStatic 为false。
答案 0 :(得分:3)
这显然是错误的,使用name.resolveBinding()
代替name.resolveTypeBinding()
---所以你应该得到一个IVariableBinding类型的对象。
name.resolveTypeBinding()
返回字段的类型的绑定,但不返回字段本身的绑定,这不是您想要的。