【问题标题】:Xtend: Removing Active Annotation during code generationXtend:在代码生成期间删除活动注释
【发布时间】:2017-02-17 21:39:35
【问题描述】:

我创建了一个活动注解@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

【问题讨论】:

    标签: java xtend


    【解决方案1】:

    你能用Module.findTypeGlobally代替Module.newTypeReference.type吗?

    【讨论】:

    • 同样的结果。不过,感谢您的建议。
    • 有没有办法分享一个可重现的例子?
    【解决方案2】:

    我升级到 Java 8,现在注释删除代码可以工作了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-25
      • 1970-01-01
      • 1970-01-01
      • 2011-11-14
      • 2017-01-07
      • 1970-01-01
      • 2018-11-15
      • 1970-01-01
      相关资源
      最近更新 更多