blob: d26621e1acf23430e4cd70aadd925bcb50733e3a (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
/*
* generated by Xtext
*/
package org.eclipse.fx.code.editor.ldef.generator
import org.eclipse.emf.ecore.resource.Resource
import org.eclipse.xtext.generator.IGenerator
import org.eclipse.xtext.generator.IFileSystemAccess
import org.eclipse.fx.code.editor.ldef.lDef.Root
import com.google.inject.Inject
import org.eclipse.fx.code.editor.ldef.lDef.JavaFXIntegration
/**
* Generates code from your model files on save.
*
* See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#code-generation
*/
class LDefGenerator implements IGenerator {
@Inject
JavaFXCodeGenerator generator;
@Inject
JSONConfigurationConfigurator jsonGenerator;
@Inject
DeclarativeStyleingGenerator styleGenerator;
override void doGenerate(Resource resource, IFileSystemAccess fsa) {
val root = resource.contents.head as Root
jsonGenerator.generate(root.languageDefinition,fsa)
styleGenerator.generate(root.languageDefinition,fsa);
if( root.languageDefinition.integration != null ) {
if( ! root.languageDefinition.integration.codeIntegrationList.filter(typeof(JavaFXIntegration)).empty ) {
generator.generate(root.languageDefinition, fsa);
}
}
}
}
|