2

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

ASTParser parser = ASTParser.newParser(AST.JLS3);

如何推断JLS3是静态字段?在分析方法时,我将getModifiersModifier.isStatic一起使用,效果很好。但是,现在我无法获得上述代码片段中的JLS3是静态字段的信息。有什么我想念的吗?

编辑:

这是我正在使用的代码:

private boolean visit(SimpleName name){
   boolean isStatic = Modifier.isStatic(name.resolveTypeBinding().getModifiers());
   ...
   return true;
}

在JLS3的情况下isStatic为假。

4

1 回答 1

3

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

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

于 2012-09-23T00:58:01.347 回答