【问题标题】:Annotations are removed by Faktor-IPS Code GeneratorFaktor-IPS 代码生成器删除注释
【发布时间】:2021-03-25 06:20:56
【问题描述】:

我需要注释 Faktor-IPS 生成的一些方法。最常见的情况是@Override-annotation,因为我有额外的接口或我实现的基类:

     * Gibt den Wert des Attributs beschreibung zurueck.
     * 
     * @generated
     */
    @IpsAttribute(name = "beschreibung", kind = AttributeKind.CHANGEABLE, valueSetKind = ValueSetKind.AllValues)
    @Override // <- manually added
    public String getBeschreibung() {
        return beschreibung;
    }

问题是,附加注释被 Faktor-IPS 的代码生成器删除了。

我知道在类注释(“@implements a.b.c.MyInterface”)中使用的特殊标签来保持类实现接口 a.b.c.MyInterface - 注释是否有类似的东西,尤其是在生成的方法上?

【问题讨论】:

    标签: code-generation faktor-ips


    【解决方案1】:

    Faktor-IPS 使用 Eclipse EMF 项目创建的 JMerge 工具来组合生成的代码和手写代码。 https://www.faktorzehn.org/de/en/dokumentation/manuelle-anpassungen-des-generieten-codes/ 有一个(德语)描述您可以控制代码如何合并的方式。

    要保留附加注释,同时仍让代码生成器更新其余代码,请添加 Javadoc 标记(在 Javadoc 中,不是注释,虽然也以“@”开头)“@customizedAnnotations ADDED”。

    如果您想在许多地方添加某些注释,则该解决方法工作量太大,因此 Faktor-IPS 允许您定义永远不会在 .ipsproject 生成器设置“retainAnnotations”中删除的注释列表:只需在此处添加“覆盖”,您手动放置的任何“@Override”注释都不会被生成器删除。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-09-13
      • 1970-01-01
      • 1970-01-01
      • 2015-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多