我在xtext中为我的域特定语言编写了一个语法,我使用jvmmodelInferrer来生成java代码。我可以生成字段和自定义方法但是如何在生成的java文件中添加自定义导入语句,如'import java.util。*',而无需用户显式写入import语句?
你不生成导入字符串。你只需要以正确的方式使用丰富的字符串,一切都会自动发生
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;
'''
]
]
}
}