Я написал грамматику для своего предметного языка в xtext и использую jvmmodelInferrer для генерации кода Java. Я могу создавать поля и пользовательские методы, но как я могу добавить пользовательские операторы импорта, такие как «import java.util.*», в сгенерированный файл Java без необходимости явного написания пользователем оператора импорта?
Как добавить пользовательские операторы импорта в сгенерированный файл Java в xtext с помощью jvmmodelInferrer?
comment
в этом не должно быть необходимости. можете ли вы дать больше контекста о том, что вы делаете в inferrer
- person Christian Dietrich   schedule 28.03.2019
comment
Мне нужно выполнить SQL-запросы. Итак, я сгенерировал код для выполнения SQL-запросов, но мне нужно сгенерировать оператор импорта «import java.sql.*». Итак, как я могу создать оператор импорта?
- person Kartik Raut   schedule 28.03.2019
Ответы (1)
вы не генерируете строки импорта. вы просто правильно используете расширенные строки, и все происходит автоматически
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;
'''
]
]
}
}
person
Christian Dietrich
schedule
28.03.2019
Спасибо, я никогда не думал об этом.
- person Kartik Raut; 28.03.2019