[generator 2] standardize stub-generating fragments

This commit is contained in:
Stefan Oehme 2015-10-21 08:39:57 +02:00
parent ce487deaf9
commit 310e88ab8b
10 changed files with 37 additions and 12 deletions

View file

@ -0,0 +1,16 @@
/*******************************************************************************
* Copyright (c) 2015 itemis AG (http://www.itemis.eu) and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*******************************************************************************/
package org.eclipse.xtext.xtext.generator
/**
* @noimplement
*/
interface IGeneratesStub {
def boolean isGenerateStub()
def void setGenerateStub(boolean generateStub)
}

View file

@ -37,8 +37,9 @@ import static extension org.eclipse.xtext.xtext.generator.model.TypeReference.*
import static extension org.eclipse.xtext.xtext.generator.util.GrammarUtil2.*
import org.eclipse.xtend.lib.annotations.Accessors
import org.eclipse.xtext.xtext.generator.AbstractXtextGeneratorFragment
import org.eclipse.xtext.xtext.generator.IGeneratesStub
class Formatter2Fragment2 extends AbstractXtextGeneratorFragment {
class Formatter2Fragment2 extends AbstractXtextGeneratorFragment implements IGeneratesStub {
@Inject FileAccessFactory fileAccessFactory

View file

@ -36,8 +36,9 @@ import org.eclipse.xtext.xtext.generator.xbase.XbaseUsageDetector
import static extension org.eclipse.xtext.xtext.generator.model.TypeReference.*
import org.eclipse.xtext.xtext.generator.AbstractXtextGeneratorFragment
import org.eclipse.xtext.xtext.generator.IGeneratesStub
class GeneratorFragment2 extends AbstractXtextGeneratorFragment {
class GeneratorFragment2 extends AbstractXtextGeneratorFragment implements IGeneratesStub {
@Inject CodeConfig codeConfig
@ -56,10 +57,10 @@ class GeneratorFragment2 extends AbstractXtextGeneratorFragment {
boolean generateXtendMain = false
@Accessors(PUBLIC_SETTER)
boolean generateStubs = true
boolean generateStub = true
def boolean isGenerateStub() {
!grammar.inheritsXbase && generateStubs
override boolean isGenerateStub() {
!grammar.inheritsXbase && generateStub
}
def boolean isGenerateJavaMain() {

View file

@ -30,8 +30,9 @@ import static org.eclipse.xtext.GrammarUtil.*
import static extension org.eclipse.xtext.xtext.generator.model.TypeReference.*
import static extension org.eclipse.xtext.xtext.generator.util.GrammarUtil2.*
import org.eclipse.xtext.xtext.generator.AbstractXtextGeneratorFragment
import org.eclipse.xtext.xtext.generator.IGeneratesStub
class ImportNamespacesScopingFragment2 extends AbstractXtextGeneratorFragment {
class ImportNamespacesScopingFragment2 extends AbstractXtextGeneratorFragment implements IGeneratesStub {
@Inject extension XtextGeneratorNaming
@Inject extension XbaseUsageDetector

View file

@ -65,8 +65,9 @@ import static extension org.eclipse.xtext.xtext.generator.model.TypeReference.*
import static extension org.eclipse.xtext.xtext.generator.util.GenModelUtil2.*
import org.eclipse.xtext.serializer.analysis.SerializationContext
import org.eclipse.xtext.xtext.generator.AbstractXtextGeneratorFragment
import org.eclipse.xtext.xtext.generator.IGeneratesStub
class SerializerFragment2 extends AbstractXtextGeneratorFragment {
class SerializerFragment2 extends AbstractXtextGeneratorFragment implements IGeneratesStub {
private static def <K, V> Map<K, V> toMap(Iterable<Pair<K, V>> items) {
val result = newLinkedHashMap

View file

@ -28,6 +28,7 @@ import org.eclipse.xtext.xtext.generator.model.TypeReference
import static extension org.eclipse.xtext.GrammarUtil.*
import static extension org.eclipse.xtext.xtext.generator.util.GrammarUtil2.*
import org.eclipse.xtext.xtext.generator.AbstractXtextGeneratorFragment
import org.eclipse.xtext.xtext.generator.IGeneratesStub
/**
* Contributes the 'Abstract...ProposalProvider' and '...ProposalProvider' stub,
@ -35,7 +36,7 @@ import org.eclipse.xtext.xtext.generator.AbstractXtextGeneratorFragment
*
* @author Christian Schneider - Initial contribution and API
*/
class ContentAssistFragment2 extends AbstractXtextGeneratorFragment {
class ContentAssistFragment2 extends AbstractXtextGeneratorFragment implements IGeneratesStub {
@Inject
extension XtextGeneratorNaming

View file

@ -19,13 +19,14 @@ import org.eclipse.xtext.xtext.generator.xbase.XbaseUsageDetector
import static extension org.eclipse.xtext.GrammarUtil.*
import org.eclipse.xtext.xtext.generator.AbstractXtextGeneratorFragment
import org.eclipse.xtext.xtext.generator.IGeneratesStub
/**
* Contributes the Labeling provider stub, either in Xtend or Java language.
*
* @author Christian Schneider - Initial contribution and API
*/
class LabelProviderFragment2 extends AbstractXtextGeneratorFragment {
class LabelProviderFragment2 extends AbstractXtextGeneratorFragment implements IGeneratesStub {
private static val XBASE_LABEL_PROVIDER =
"org.eclipse.xtext.xbase.ui.labeling.XbaseLabelProvider"

View file

@ -18,11 +18,12 @@ import org.eclipse.xtext.xtext.generator.model.TypeReference
import static extension org.eclipse.xtext.xtext.generator.model.TypeReference.typeRef
import org.eclipse.xtext.xtext.generator.CodeConfig
import org.eclipse.xtext.xtext.generator.AbstractXtextGeneratorFragment
import org.eclipse.xtext.xtext.generator.IGeneratesStub
/**
* @author Christian Schneider - Initial contribution and API
*/
class OutlineTreeProviderFragment2 extends AbstractXtextGeneratorFragment {
class OutlineTreeProviderFragment2 extends AbstractXtextGeneratorFragment implements IGeneratesStub {
@Inject CodeConfig codeConfig
@Inject FileAccessFactory fileAccessFactory

View file

@ -20,13 +20,14 @@ import org.eclipse.xtext.xtext.generator.validation.ValidatorNaming
import static extension org.eclipse.xtext.GrammarUtil.*
import static extension org.eclipse.xtext.xtext.generator.util.GrammarUtil2.*
import org.eclipse.xtext.xtext.generator.AbstractXtextGeneratorFragment
import org.eclipse.xtext.xtext.generator.IGeneratesStub
/**
* Contributes the Quickfix provider stub, either in Xtend or Java language.
*
* @author Christian Schneider - Initial contribution and API
*/
class QuickfixProviderFragment2 extends AbstractXtextGeneratorFragment {
class QuickfixProviderFragment2 extends AbstractXtextGeneratorFragment implements IGeneratesStub {
@Inject
extension XtextGeneratorNaming

View file

@ -27,8 +27,9 @@ import static org.eclipse.xtext.GrammarUtil.*
import static extension org.eclipse.xtext.xtext.generator.model.TypeReference.*
import static extension org.eclipse.xtext.xtext.generator.util.GrammarUtil2.*
import org.eclipse.xtext.xtext.generator.AbstractXtextGeneratorFragment
import org.eclipse.xtext.xtext.generator.IGeneratesStub
class ValidatorFragment2 extends AbstractXtextGeneratorFragment {
class ValidatorFragment2 extends AbstractXtextGeneratorFragment implements IGeneratesStub {
@Inject extension ValidatorNaming
@Inject extension XtextGeneratorNaming