Xtend:在代码生成期间删除活动注释

Xtend: Removing Active Annotation during code generation

我已经创建了一个活动注解@Module,但是我不希望生成的Java class被@Module注解。

当我尝试在转换阶段删除注释时,它反而注释掉了注释(这很好),但保留了导入。

应该删除注释的代码:

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

生成class:

import my.package.Module;

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

Xtend 版本:2.11

xbase 库 gwt 版本:2.9.2

Xtend eclipse 插件版本:2.11

你能试试 Module.findTypeGlobally 而不是 Module.newTypeReference.type 吗?

我升级到 Java 8,现在注释删除代码有效。