2

我已经在 xtext 中为我的领域特定语言编写了一个语法,并且我正在使用 jvmmodelInferrer 来生成 java 代码。我可以生成字段和自定义方法,但是如何在生成的 java 文件中添加自定义导入语句,如“import java.util.*”,而无需用户显式编写导入语句?

4

1 回答 1

3

您不会生成导入字符串。您只需以适当的方式使用丰富的字符串,一切都会自动发生

def dispatch void infer(Model element, IJvmDeclaredTypeAcceptor acceptor, boolean isPreIndexingPhase) {
    for (greeting : element.greetings) {
        acceptor.accept(greeting.toClass("demo." + greeting.name)) [
            members += greeting.toMethod("demo", Void.TYPE.typeRef) [
                body = '''
                «JFrame» f = null;
                «"java.util.List".typeRef("java.lang.String".typeRef)» l = null;
                return;
                '''
            ]
        ]
    }
}
于 2019-03-28T18:31:05.467 回答