以编程方式将Xtend类设置为Java类的超类

时间:2017-02-12 15:37:20

标签: java eclipse eclipse-plugin eclipse-jdt xtend

我目前正在开发一个Eclipse插件。我想以编程方式将Xtend类设置为Java类的超类。 如果两个类都是Java类,我会使用JDT API。问题是我无法通过Java AST或Java模型访问Xtend类。

这是我尝试访问Xtend类的原因:

  • 使用ASTParser
  • 使用IJavaProject.findType()

有没有办法将Xtend类设置为超类? 有没有办法用字符串(包+类名)设置超类,而不引用ITypeTypeDeclaration

编辑: Java类和Xtend类都已存在。

1 个答案:

答案 0 :(得分:1)

如果您已经知道超类的限定名称,则不需要通过AST或Java Model访问它,只需名称即可。

当你谈到设置Java类的超类时,不清楚是从头开始创建类(a)还是(b)存在并且正在修改它。仍然可以使用公共AST 执行这两种情况(在(a)仅创建AST并使用例如ASTFlattener序列化它的情况下;在(b)的情况下,您应该使用{{1 }})

无论哪种方式,您要使用的API都是ASTRewrite,其中参数可能是TypeDeclaration.setSuperclassType(Type)构建的SimpleType

QualifiedName