1

如何使用 JvmModelInferrer 添加如下字段?

public final @IdInstance long id;

我已经拥有的是:

members += domainId.toField('id', Long.TYPE.typeRef()) [
    visibility = JvmVisibility.PUBLIC
    final = true
]

产生这个java代码:

public final long id;

但我不知道如何将IdInstance注释添加到类型中。

注意:将注释添加到该字段有效,但不是我想要的:

members += domainId.toField('id', Long.TYPE.typeRef()) [
    visibility = JvmVisibility.PUBLIC
    final = true
    annotations += 'com.tmtron.dscontrol2.qual.IdInstance'.annotationRef()
]

产生:

@IdInstance
public final long id;
4

1 回答 1

1

xbase 还不支持类型注释:参见xtext#218

但是有一种简单的方法可以生成我们想要的内容:

JvmTypeReferenceBuilder.typeRef('@IdInstance long')

这将创建一个JvmUnknownTypeReference,它只是将提供的字符串逐字写入输出(因此请确保正确导入或使用完全限定的注释)。

于 2018-01-16T09:50:49.737 回答