如何使用jvmmodelInferrer在xtext中生成的java文件中添加自定义导入语句?

问题描述 投票:1回答:1

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

dsl xtext xtend xbase
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;
                '''
            ]
        ]
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.