mirror of
https://github.com/sigmasternchen/xtext-core
synced 2025-03-16 16:58:56 +00:00
make Generator2 the default for new languages
This commit is contained in:
parent
7dfaaf17d8
commit
cef38085b2
1 changed files with 14 additions and 10 deletions
|
@ -19,8 +19,9 @@ import org.eclipse.xtend.lib.annotations.Accessors
|
|||
import org.eclipse.xtend2.lib.StringConcatenationClient
|
||||
import org.eclipse.xtext.Grammar
|
||||
import org.eclipse.xtext.GrammarUtil
|
||||
import org.eclipse.xtext.generator.IFileSystemAccess
|
||||
import org.eclipse.xtext.generator.IGenerator
|
||||
import org.eclipse.xtext.generator.GeneratorDelegate
|
||||
import org.eclipse.xtext.generator.IFileSystemAccess2
|
||||
import org.eclipse.xtext.generator.IGenerator2
|
||||
import org.eclipse.xtext.generator.JavaIoFileSystemAccess
|
||||
import org.eclipse.xtext.util.CancelIndicator
|
||||
import org.eclipse.xtext.validation.CheckMode
|
||||
|
@ -90,7 +91,7 @@ class GeneratorFragment2 extends AbstractStubGeneratingFragment {
|
|||
override generate() {
|
||||
if (isGenerateStub) {
|
||||
new GuiceModuleAccess.BindingFactory()
|
||||
.addTypeToType(IGenerator.typeRef, language.grammar.generatorStub)
|
||||
.addTypeToType(IGenerator2.typeRef, language.grammar.generatorStub)
|
||||
.contributeTo(language.runtimeGenModule)
|
||||
if (projectConfig.runtime.manifest !== null)
|
||||
projectConfig.runtime.manifest.requiredBundles += 'org.eclipse.xtext.xbase.lib'
|
||||
|
@ -138,16 +139,19 @@ class GeneratorFragment2 extends AbstractStubGeneratingFragment {
|
|||
*
|
||||
* See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#code-generation
|
||||
*/
|
||||
class «language.grammar.generatorStub.simpleName» implements «IGenerator» {
|
||||
class «language.grammar.generatorStub.simpleName» implements «IGenerator2» {
|
||||
|
||||
override void doGenerate(«Resource» resource, «IFileSystemAccess» fsa) {
|
||||
override void doGenerate(«Resource» resource, «IFileSystemAccess2» fsa, «CancelIndicator» cancelIndicator) {
|
||||
// fsa.generateFile('greetings.txt', 'People to greet: ' +
|
||||
// resource.allContents
|
||||
// .filter(typeof(Greeting))
|
||||
// .map[name]
|
||||
// .join(', '))
|
||||
}
|
||||
|
||||
|
||||
override void beforeGenerate(«Resource» resource, «IFileSystemAccess2» fsa, «CancelIndicator» cancelIndicator) {}
|
||||
|
||||
override void afterGenerate(«Resource» resource, «IFileSystemAccess2» fsa, «CancelIndicator» cancelIndicator) {}
|
||||
}
|
||||
''').writeTo(projectConfig.runtime.src)
|
||||
}
|
||||
|
@ -173,7 +177,7 @@ class GeneratorFragment2 extends AbstractStubGeneratingFragment {
|
|||
private «IResourceValidator» validator;
|
||||
|
||||
@«Inject»
|
||||
private «IGenerator» generator;
|
||||
private «GeneratorDelegate» generator;
|
||||
|
||||
@«Inject»
|
||||
private «JavaIoFileSystemAccess» fileAccess;
|
||||
|
@ -194,7 +198,7 @@ class GeneratorFragment2 extends AbstractStubGeneratingFragment {
|
|||
|
||||
// Configure and start the generator
|
||||
fileAccess.setOutputPath("src-gen/");
|
||||
generator.doGenerate(resource, fileAccess);
|
||||
generator.generate(resource, fileAccess, «CancelIndicator».NullImpl);
|
||||
|
||||
System.out.println("Code generation finished.");
|
||||
}
|
||||
|
@ -220,7 +224,7 @@ class GeneratorFragment2 extends AbstractStubGeneratingFragment {
|
|||
|
||||
@«Inject» «IResourceValidator» validator
|
||||
|
||||
@«Inject» «IGenerator» generator
|
||||
@«Inject» «GeneratorDelegate» generator
|
||||
|
||||
@«Inject» «JavaIoFileSystemAccess» fileAccess
|
||||
|
||||
|
@ -238,7 +242,7 @@ class GeneratorFragment2 extends AbstractStubGeneratingFragment {
|
|||
|
||||
// Configure and start the generator
|
||||
fileAccess.outputPath = 'src-gen/'
|
||||
generator.doGenerate(resource, fileAccess)
|
||||
generator.generate(resource, fileAccess, «CancelIndicator».NullImpl)
|
||||
System.out.println('Code generation finished.')
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue