/* * generated by Xtext */ package org.eclipse.sirius.expression.text.serializer; import com.google.inject.Inject; import com.google.inject.Provider; import org.eclipse.emf.ecore.EObject; import org.eclipse.sirius.expression.ExpressionPackage; import org.eclipse.sirius.expression.SiriusExpressionClass; import org.eclipse.sirius.expression.SiriusExpressionDescription; import org.eclipse.sirius.expression.SiriusExpressionPackage; import org.eclipse.sirius.expression.SiriusParameter; import org.eclipse.sirius.expression.SiriusVariable; import org.eclipse.sirius.expression.text.services.ExpressionTextGrammarAccess; import org.eclipse.xtext.serializer.acceptor.ISemanticSequenceAcceptor; import org.eclipse.xtext.serializer.diagnostic.ISemanticSequencerDiagnosticProvider; import org.eclipse.xtext.serializer.diagnostic.ISerializationDiagnostic.Acceptor; import org.eclipse.xtext.serializer.sequencer.AbstractDelegatingSemanticSequencer; import org.eclipse.xtext.serializer.sequencer.GenericSequencer; import org.eclipse.xtext.serializer.sequencer.ISemanticSequencer; import org.eclipse.xtext.serializer.sequencer.ITransientValueService; @SuppressWarnings("all") public class ExpressionTextSemanticSequencer extends AbstractDelegatingSemanticSequencer { @Inject private ExpressionTextGrammarAccess grammarAccess; @Override public void createSequence(EObject context, EObject semanticObject) { if(semanticObject.eClass().getEPackage() == ExpressionPackage.eINSTANCE) switch(semanticObject.eClass().getClassifierID()) { case ExpressionPackage.SIRIUS_EXPRESSION_CLASS: sequence_SiriusExpressionClass(context, (SiriusExpressionClass) semanticObject); return; case ExpressionPackage.SIRIUS_EXPRESSION_DESCRIPTION: sequence_SiriusExpressionDescription(context, (SiriusExpressionDescription) semanticObject); return; case ExpressionPackage.SIRIUS_EXPRESSION_PACKAGE: sequence_SiriusExpressionPackage(context, (SiriusExpressionPackage) semanticObject); return; case ExpressionPackage.SIRIUS_PARAMETER: sequence_SiriusParameter(context, (SiriusParameter) semanticObject); return; case ExpressionPackage.SIRIUS_VARIABLE: sequence_SiriusVariable(context, (SiriusVariable) semanticObject); return; } if (errorAcceptor != null) errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context)); } /** * Constraint: * (eClass=[EClass|FQN] variables+=SiriusVariable* expressionDescriptions+=SiriusExpressionDescription*) */ protected void sequence_SiriusExpressionClass(EObject context, SiriusExpressionClass semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Constraint: * ( * expression=[EAttribute|FQN] * (parameters+=SiriusParameter parameters+=SiriusParameter*)? * returnType=[EClassifier|FQN] * lowerBound=Bound * upperBound=Bound * (variableContainers+=[EClass|FQN] variableContainers+=[EClass|FQN]*)? * ) */ protected void sequence_SiriusExpressionDescription(EObject context, SiriusExpressionDescription semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Constraint: * (ePackage=[EPackage|ID] expressionClasses+=SiriusExpressionClass*) */ protected void sequence_SiriusExpressionPackage(EObject context, SiriusExpressionPackage semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Constraint: * (optional?='optional'? variable=[SiriusVariable|ID]) */ protected void sequence_SiriusParameter(EObject context, SiriusParameter semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Constraint: * (documentation=ML_COMMENT? name=ID eType=[EClassifier|FQN]) */ protected void sequence_SiriusVariable(EObject context, SiriusVariable semanticObject) { genericSequencer.createSequence(context, semanticObject); } }