我已经用xtext为我的领域特定语言编写了语法,并且正在使用jvmmodelInferrer生成Java代码。我可以生成字段和自定义方法,但是如何在生成的Java文件中添加自定义导入语句,例如“ import java.util。*”,而无需用户明确编写import语句?
答案 0 :(得分: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;
'''
]
]
}
}