make Generator2 the default for new languages

This commit is contained in:
Stefan Oehme 2015-10-22 14:13:10 +02:00
parent 7dfaaf17d8
commit cef38085b2

View file

@ -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.')
}
}