在JDT dom中使用class作为字段名

时间:2009-10-25 21:36:36

标签: eclipse dom eclipse-jdt

我正在尝试使用StaticClassName.class的Dom方法添加对JDT字段访问现有类的调用。

当我尝试使用IllegalArgumentException创建简单名称时,我得到ast.newSimpleName("class") 我认为这是因为JDT在将其用作字段名称时将其视为关键字。

有没有让JDT接受“class”作为标识符名称或另一种访问类对象的方式? (它必须在静态和非静态方法中工作)

1 个答案:

答案 0 :(得分:4)

this thread中所述:

  

<Type>.class不是通常的简单名称,而是TypeLiteral。所以我认为你的代码应该更像这样:

TypeLiteral tr = ast.newTypeLiteral();
tr.setType(ast.newSimpleType(ast.newSimpleName("MyClass")));
  

结果会创建表达式“Myclass.class”。

     

顺便说一句,有一个非常好的ASTView插件,可以查看当前编辑的Java源文件AST。它对于确定不同语言语句的正确节点类型非常有用。   你可以得到它from here

(另见AST JDT core Dom javadoc