Как добавить пользовательские операторы импорта в сгенерированный файл Java в Xtext с помощью jvmmodelInferrer? - PullRequest
1 голос
/ 28 марта 2019

Я написал грамматику для своего домена в xtext, и я использую jvmmodelInferrer для генерации кода Java.Я могу сгенерировать поля и пользовательские методы, но как я могу добавить пользовательские операторы импорта, такие как 'import java.util. *', В сгенерированный файл Java, без необходимости явной записи оператора импорта?

1 Ответ

3 голосов
/ 28 марта 2019

вы не генерируете строки импорта.вы просто правильно используете богатые строки, и все происходит автоматически

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;
                '''
            ]
        ]
    }
}
...