I have written a grammar for my domain specific language in xtext and I am using jvmmodelInferrer to generate java code. I can generate fields and custom methods but how can I add custom import statements like 'import java.util.*' in the generated java file without the user having to explicitly write the import statement?
Asked
Active
Viewed 178 times
2
-
there should be no need for that. can you give more context about what you do in the inferrer – Christian Dietrich Mar 28 '19 at 17:34
-
I have to execute SQL queries. So I have generated code for execution of SQL queries but I need to generate an import statement 'import java.sql.*'. So how can i generate the import statement? – Kartik Raut Mar 28 '19 at 18:06
1 Answers
3
you dont generate import strings. you just use rich strings in a proper way and everything happens automatically
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;
'''
]
]
}
}

Christian Dietrich
- 11,778
- 4
- 24
- 32