Eclipse JDT静态字段修饰符

时间:2012-09-22 08:54:16

标签: eclipse static field eclipse-jdt

我想获取有关字段修饰符的信息。确切地说,我想找出一个静态的领域。例如,我想检查以下代码:

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。

1 个答案:

答案 0 :(得分:3)

这显然是错误的,使用name.resolveBinding()代替name.resolveTypeBinding() ---所以你应该得到一个IVariableBinding类型的对象。

name.resolveTypeBinding()返回字段的类型的绑定,但不返回字段本身的绑定,这不是您想要的。