Xtext 和 Xtend - 在方法中的参数前添加注释

Xtext and Xtend - Add annotations before parameters in a method

我正在尝试生成如下所示的 Java 代码。

public void create(@RequestBody final Resource resource) {
    return;
}

我为提供@RequestBody 添加的 Inferrer 代码片段如下。

members += event.toMethod(event.action.name, typeRef(void)) [
    var dataType = map.get(method.action.name)
    parameters += event.toParameter(method.type.parameter.name, dataType.javaType)
    annotations += annotationRef("org.springframework.web.bind.annotation.RequestBody");
    body = '''
        return;
    '''

生成的代码如下。

@RequestBody
public void create(final Resource resource) {
    return;
}

xtend代码需要做哪些修改才能得到方法参数前的注解?喜欢@RequestBody final Resource resource

您必须将注释添加到参数本身。使用变量或 with 子句

members += entity.toMethod("dummy", Void.TYPE.typeRef) [
parameters +=  entity.toParameter("someParam", String.typeRef) => [
    annotations += annotationRef("java.lang.Deprecated");
]
body = ''''''
]