Xtend:在代码生成过程中删除Active Annotation

时间:2017-02-16 14:48:17

标签: java xtend

我已经创建了一个活动注释@Module,但我不希望生成的Java类使用@Module进行注释。

当我尝试在转换阶段删除注释时,它会注释掉注释(这样会很好),但会导入。

应该删除注释的代码:

override doTransform(MutableClassDeclaration annotatedClass, extension TransformationContext context) {
    annotatedClass.removeAnnotation(annotatedClass.annotations.findFirst[annotationTypeDeclaration == Module.newTypeReference.type])
}

生成的类:

import my.package.Module;

/* @Module */@SuppressWarnings("all")
public class MyClass {}

Xtend版本:2.11

xbase lib gwt版本:2.9.2

Xtend eclipse插件版本:2.11

2 个答案:

答案 0 :(得分:0)

您可以尝试使用Module.findTypeGlobally代替Module.newTypeReference.type吗?

答案 1 :(得分:0)

我已升级到Java 8,现在注释删除代码正常工作。