/* * generated by Xtext */ package org.xtext.activitydiagram.input.serializer; import activitydiagram.ActivitydiagramPackage; import activitydiagram.BooleanValue; import activitydiagram.Input; import activitydiagram.InputValue; import activitydiagram.IntegerValue; import com.google.inject.Inject; import com.google.inject.Provider; import org.eclipse.emf.ecore.EObject; import org.eclipse.xtext.serializer.acceptor.ISemanticSequenceAcceptor; import org.eclipse.xtext.serializer.acceptor.SequenceFeeder; 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.ISemanticNodeProvider.INodesForEObjectProvider; import org.eclipse.xtext.serializer.sequencer.ISemanticSequencer; import org.eclipse.xtext.serializer.sequencer.ITransientValueService; import org.eclipse.xtext.serializer.sequencer.ITransientValueService.ValueTransient; import org.xtext.activitydiagram.input.services.ActivityDiagramInputGrammarAccess; @SuppressWarnings("all") public class ActivityDiagramInputSemanticSequencer extends AbstractDelegatingSemanticSequencer { @Inject private ActivityDiagramInputGrammarAccess grammarAccess; @Override public void createSequence(EObject context, EObject semanticObject) { if(semanticObject.eClass().getEPackage() == ActivitydiagramPackage.eINSTANCE) switch(semanticObject.eClass().getClassifierID()) { case ActivitydiagramPackage.BOOLEAN_VALUE: sequence_BooleanValue(context, (BooleanValue) semanticObject); return; case ActivitydiagramPackage.INPUT: sequence_Input(context, (Input) semanticObject); return; case ActivitydiagramPackage.INPUT_VALUE: sequence_InputValue(context, (InputValue) semanticObject); return; case ActivitydiagramPackage.INTEGER_VALUE: sequence_IntegerValue(context, (IntegerValue) semanticObject); return; } if (errorAcceptor != null) errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context)); } /** * Constraint: * value=EBoolean */ protected void sequence_BooleanValue(EObject context, BooleanValue semanticObject) { if(errorAcceptor != null) { if(transientValues.isValueTransient(semanticObject, ActivitydiagramPackage.Literals.BOOLEAN_VALUE__VALUE) == ValueTransient.YES) errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, ActivitydiagramPackage.Literals.BOOLEAN_VALUE__VALUE)); } INodesForEObjectProvider nodes = createNodeProvider(semanticObject); SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes); feeder.accept(grammarAccess.getBooleanValueAccess().getValueEBooleanParserRuleCall_0(), semanticObject.isValue()); feeder.finish(); } /** * Constraint: * (variable=[Variable|EString] value=Value) */ protected void sequence_InputValue(EObject context, InputValue semanticObject) { if(errorAcceptor != null) { if(transientValues.isValueTransient(semanticObject, ActivitydiagramPackage.Literals.INPUT_VALUE__VALUE) == ValueTransient.YES) errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, ActivitydiagramPackage.Literals.INPUT_VALUE__VALUE)); if(transientValues.isValueTransient(semanticObject, ActivitydiagramPackage.Literals.INPUT_VALUE__VARIABLE) == ValueTransient.YES) errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, ActivitydiagramPackage.Literals.INPUT_VALUE__VARIABLE)); } INodesForEObjectProvider nodes = createNodeProvider(semanticObject); SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes); feeder.accept(grammarAccess.getInputValueAccess().getVariableVariableEStringParserRuleCall_0_0_1(), semanticObject.getVariable()); feeder.accept(grammarAccess.getInputValueAccess().getValueValueParserRuleCall_2_0(), semanticObject.getValue()); feeder.finish(); } /** * Constraint: * (inputValues+=InputValue inputValues+=InputValue*) */ protected void sequence_Input(EObject context, Input semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Constraint: * value=EInt */ protected void sequence_IntegerValue(EObject context, IntegerValue semanticObject) { if(errorAcceptor != null) { if(transientValues.isValueTransient(semanticObject, ActivitydiagramPackage.Literals.INTEGER_VALUE__VALUE) == ValueTransient.YES) errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, ActivitydiagramPackage.Literals.INTEGER_VALUE__VALUE)); } INodesForEObjectProvider nodes = createNodeProvider(semanticObject); SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes); feeder.accept(grammarAccess.getIntegerValueAccess().getValueEIntParserRuleCall_0(), semanticObject.getValue()); feeder.finish(); } }