blob: c2f23c595a6bd071544a766d65a61132415cb0b6 [file] [log] [blame]
/*
* generated by Xtext
*/
package org.polarsys.chess.xtext.serializer;
import com.google.inject.Inject;
import java.util.Set;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.xtext.Action;
import org.eclipse.xtext.Parameter;
import org.eclipse.xtext.ParserRule;
import org.eclipse.xtext.serializer.ISerializationContext;
import org.eclipse.xtext.serializer.acceptor.SequenceFeeder;
import org.eclipse.xtext.serializer.sequencer.AbstractDelegatingSemanticSequencer;
import org.eclipse.xtext.serializer.sequencer.ITransientValueService.ValueTransient;
import org.polarsys.chess.xtext.flaDsl.ACIDMitigation;
import org.polarsys.chess.xtext.flaDsl.ACIDavoidable;
import org.polarsys.chess.xtext.flaDsl.Behaviour;
import org.polarsys.chess.xtext.flaDsl.Expression;
import org.polarsys.chess.xtext.flaDsl.FailureDefinition;
import org.polarsys.chess.xtext.flaDsl.FlaDslPackage;
import org.polarsys.chess.xtext.flaDsl.InFailureExpr;
import org.polarsys.chess.xtext.flaDsl.InputExpression;
import org.polarsys.chess.xtext.flaDsl.Lhs;
import org.polarsys.chess.xtext.flaDsl.NoFailureDefinition;
import org.polarsys.chess.xtext.flaDsl.OutFailureExpr;
import org.polarsys.chess.xtext.flaDsl.OutputExpression;
import org.polarsys.chess.xtext.flaDsl.Rhs;
import org.polarsys.chess.xtext.flaDsl.VariableDefinition;
import org.polarsys.chess.xtext.flaDsl.WildcardDefinition;
import org.polarsys.chess.xtext.services.FlaDslGrammarAccess;
@SuppressWarnings("all")
public class FlaDslSemanticSequencer extends AbstractDelegatingSemanticSequencer {
@Inject
private FlaDslGrammarAccess grammarAccess;
@Override
public void sequence(ISerializationContext context, EObject semanticObject) {
EPackage epackage = semanticObject.eClass().getEPackage();
ParserRule rule = context.getParserRule();
Action action = context.getAssignedAction();
Set<Parameter> parameters = context.getEnabledBooleanParameters();
if (epackage == FlaDslPackage.eINSTANCE)
switch (semanticObject.eClass().getClassifierID()) {
case FlaDslPackage.ACID_MITIGATION:
sequence_ACIDMitigation(context, (ACIDMitigation) semanticObject);
return;
case FlaDslPackage.ACI_DAVOIDABLE:
sequence_ACIDavoidable(context, (ACIDavoidable) semanticObject);
return;
case FlaDslPackage.BEHAVIOUR:
sequence_Behaviour(context, (Behaviour) semanticObject);
return;
case FlaDslPackage.EXPRESSION:
sequence_Expression(context, (Expression) semanticObject);
return;
case FlaDslPackage.FAILURE_DEFINITION:
sequence_FailureDefinition(context, (FailureDefinition) semanticObject);
return;
case FlaDslPackage.IN_FAILURE_EXPR:
sequence_InFailureExpr(context, (InFailureExpr) semanticObject);
return;
case FlaDslPackage.INPUT_EXPRESSION:
sequence_InputExpression(context, (InputExpression) semanticObject);
return;
case FlaDslPackage.LHS:
sequence_Lhs(context, (Lhs) semanticObject);
return;
case FlaDslPackage.NO_FAILURE_DEFINITION:
if (rule == grammarAccess.getComplexNofailureDefinitionRule()) {
sequence_ComplexNofailureDefinition(context, (NoFailureDefinition) semanticObject);
return;
}
else if (rule == grammarAccess.getDefinitionsRule()) {
sequence_ComplexNofailureDefinition_NoFailureDefinition(context, (NoFailureDefinition) semanticObject);
return;
}
else if (rule == grammarAccess.getNoFailureDefinitionRule()) {
sequence_NoFailureDefinition(context, (NoFailureDefinition) semanticObject);
return;
}
else break;
case FlaDslPackage.OUT_FAILURE_EXPR:
sequence_OutFailureExpr(context, (OutFailureExpr) semanticObject);
return;
case FlaDslPackage.OUTPUT_EXPRESSION:
sequence_OutputExpression(context, (OutputExpression) semanticObject);
return;
case FlaDslPackage.RHS:
sequence_Rhs(context, (Rhs) semanticObject);
return;
case FlaDslPackage.VARIABLE_DEFINITION:
sequence_VariableDefinition(context, (VariableDefinition) semanticObject);
return;
case FlaDslPackage.WILDCARD_DEFINITION:
sequence_WildcardDefinition(context, (WildcardDefinition) semanticObject);
return;
}
if (errorAcceptor != null)
errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context));
}
/**
* Contexts:
* ACIDMitigation returns ACIDMitigation
*
* Constraint:
* (a=Amitigation c=Cmitigation i=Imitigation d=Dmitigation)
*/
protected void sequence_ACIDMitigation(ISerializationContext context, ACIDMitigation semanticObject) {
if (errorAcceptor != null) {
if (transientValues.isValueTransient(semanticObject, FlaDslPackage.Literals.ACID_MITIGATION__A) == ValueTransient.YES)
errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FlaDslPackage.Literals.ACID_MITIGATION__A));
if (transientValues.isValueTransient(semanticObject, FlaDslPackage.Literals.ACID_MITIGATION__C) == ValueTransient.YES)
errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FlaDslPackage.Literals.ACID_MITIGATION__C));
if (transientValues.isValueTransient(semanticObject, FlaDslPackage.Literals.ACID_MITIGATION__I) == ValueTransient.YES)
errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FlaDslPackage.Literals.ACID_MITIGATION__I));
if (transientValues.isValueTransient(semanticObject, FlaDslPackage.Literals.ACID_MITIGATION__D) == ValueTransient.YES)
errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FlaDslPackage.Literals.ACID_MITIGATION__D));
}
SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
feeder.accept(grammarAccess.getACIDMitigationAccess().getAAmitigationEnumRuleCall_0_0(), semanticObject.getA());
feeder.accept(grammarAccess.getACIDMitigationAccess().getCCmitigationEnumRuleCall_2_0(), semanticObject.getC());
feeder.accept(grammarAccess.getACIDMitigationAccess().getIImitigationEnumRuleCall_4_0(), semanticObject.getI());
feeder.accept(grammarAccess.getACIDMitigationAccess().getDDmitigationEnumRuleCall_6_0(), semanticObject.getD());
feeder.finish();
}
/**
* Contexts:
* ACIDavoidable returns ACIDavoidable
*
* Constraint:
* (a=Aavoidable c=Cavoidable i=Iavoidable d=Davoidable)
*/
protected void sequence_ACIDavoidable(ISerializationContext context, ACIDavoidable semanticObject) {
if (errorAcceptor != null) {
if (transientValues.isValueTransient(semanticObject, FlaDslPackage.Literals.ACI_DAVOIDABLE__A) == ValueTransient.YES)
errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FlaDslPackage.Literals.ACI_DAVOIDABLE__A));
if (transientValues.isValueTransient(semanticObject, FlaDslPackage.Literals.ACI_DAVOIDABLE__C) == ValueTransient.YES)
errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FlaDslPackage.Literals.ACI_DAVOIDABLE__C));
if (transientValues.isValueTransient(semanticObject, FlaDslPackage.Literals.ACI_DAVOIDABLE__I) == ValueTransient.YES)
errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FlaDslPackage.Literals.ACI_DAVOIDABLE__I));
if (transientValues.isValueTransient(semanticObject, FlaDslPackage.Literals.ACI_DAVOIDABLE__D) == ValueTransient.YES)
errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FlaDslPackage.Literals.ACI_DAVOIDABLE__D));
}
SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
feeder.accept(grammarAccess.getACIDavoidableAccess().getAAavoidableEnumRuleCall_0_0(), semanticObject.getA());
feeder.accept(grammarAccess.getACIDavoidableAccess().getCCavoidableEnumRuleCall_2_0(), semanticObject.getC());
feeder.accept(grammarAccess.getACIDavoidableAccess().getIIavoidableEnumRuleCall_4_0(), semanticObject.getI());
feeder.accept(grammarAccess.getACIDavoidableAccess().getDDavoidableEnumRuleCall_6_0(), semanticObject.getD());
feeder.finish();
}
/**
* Contexts:
* Behaviour returns Behaviour
*
* Constraint:
* rules+=Expression+
*/
protected void sequence_Behaviour(ISerializationContext context, Behaviour semanticObject) {
genericSequencer.createSequence(context, semanticObject);
}
/**
* Contexts:
* ComplexNofailureDefinition returns NoFailureDefinition
*
* Constraint:
* acidMitigation=ACIDMitigation
*/
protected void sequence_ComplexNofailureDefinition(ISerializationContext context, NoFailureDefinition semanticObject) {
if (errorAcceptor != null) {
if (transientValues.isValueTransient(semanticObject, FlaDslPackage.Literals.NO_FAILURE_DEFINITION__ACID_MITIGATION) == ValueTransient.YES)
errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FlaDslPackage.Literals.NO_FAILURE_DEFINITION__ACID_MITIGATION));
}
SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
feeder.accept(grammarAccess.getComplexNofailureDefinitionAccess().getAcidMitigationACIDMitigationParserRuleCall_3_0(), semanticObject.getAcidMitigation());
feeder.finish();
}
/**
* Contexts:
* Definitions returns NoFailureDefinition
*
* Constraint:
* acidMitigation=ACIDMitigation?
*/
protected void sequence_ComplexNofailureDefinition_NoFailureDefinition(ISerializationContext context, NoFailureDefinition semanticObject) {
genericSequencer.createSequence(context, semanticObject);
}
/**
* Contexts:
* Expression returns Expression
*
* Constraint:
* (lhs=Lhs rhs=Rhs)
*/
protected void sequence_Expression(ISerializationContext context, Expression semanticObject) {
if (errorAcceptor != null) {
if (transientValues.isValueTransient(semanticObject, FlaDslPackage.Literals.EXPRESSION__LHS) == ValueTransient.YES)
errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FlaDslPackage.Literals.EXPRESSION__LHS));
if (transientValues.isValueTransient(semanticObject, FlaDslPackage.Literals.EXPRESSION__RHS) == ValueTransient.YES)
errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FlaDslPackage.Literals.EXPRESSION__RHS));
}
SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
feeder.accept(grammarAccess.getExpressionAccess().getLhsLhsParserRuleCall_1_0(), semanticObject.getLhs());
feeder.accept(grammarAccess.getExpressionAccess().getRhsRhsParserRuleCall_3_0(), semanticObject.getRhs());
feeder.finish();
}
/**
* Contexts:
* Definitions returns FailureDefinition
* FailureDefinition returns FailureDefinition
*
* Constraint:
* (type=ActualFailureType acidAvoidable=ACIDavoidable?)
*/
protected void sequence_FailureDefinition(ISerializationContext context, FailureDefinition semanticObject) {
genericSequencer.createSequence(context, semanticObject);
}
/**
* Contexts:
* InFailureExpr returns InFailureExpr
*
* Constraint:
* (
* failures+=WildcardDefinition |
* failures+=NoFailureDefinition |
* failures+=FailureDefinition |
* (failures+=FailureDefinition failures+=FailureDefinition+) |
* failures+=VariableDefinition
* )
*/
protected void sequence_InFailureExpr(ISerializationContext context, InFailureExpr semanticObject) {
genericSequencer.createSequence(context, semanticObject);
}
/**
* Contexts:
* InputExpression returns InputExpression
*
* Constraint:
* (ref=[Port|ID]? failureExpr=InFailureExpr)
*/
protected void sequence_InputExpression(ISerializationContext context, InputExpression semanticObject) {
genericSequencer.createSequence(context, semanticObject);
}
/**
* Contexts:
* Lhs returns Lhs
*
* Constraint:
* (failures+=InputExpression failures+=InputExpression*)
*/
protected void sequence_Lhs(ISerializationContext context, Lhs semanticObject) {
genericSequencer.createSequence(context, semanticObject);
}
/**
* Contexts:
* NoFailureDefinition returns NoFailureDefinition
*
* Constraint:
* {NoFailureDefinition}
*/
protected void sequence_NoFailureDefinition(ISerializationContext context, NoFailureDefinition semanticObject) {
genericSequencer.createSequence(context, semanticObject);
}
/**
* Contexts:
* OutFailureExpr returns OutFailureExpr
*
* Constraint:
* (
* failures+=NoFailureDefinition |
* failures+=ComplexNofailureDefinition |
* failures+=FailureDefinition |
* (failures+=FailureDefinition failures+=FailureDefinition+) |
* failures+=VariableDefinition
* )
*/
protected void sequence_OutFailureExpr(ISerializationContext context, OutFailureExpr semanticObject) {
genericSequencer.createSequence(context, semanticObject);
}
/**
* Contexts:
* OutputExpression returns OutputExpression
*
* Constraint:
* (ref=[Port|ID]? failureExpr=OutFailureExpr)
*/
protected void sequence_OutputExpression(ISerializationContext context, OutputExpression semanticObject) {
genericSequencer.createSequence(context, semanticObject);
}
/**
* Contexts:
* Rhs returns Rhs
*
* Constraint:
* (failures+=OutputExpression failures+=OutputExpression*)
*/
protected void sequence_Rhs(ISerializationContext context, Rhs semanticObject) {
genericSequencer.createSequence(context, semanticObject);
}
/**
* Contexts:
* Definitions returns VariableDefinition
* VariableDefinition returns VariableDefinition
*
* Constraint:
* variableName=ID
*/
protected void sequence_VariableDefinition(ISerializationContext context, VariableDefinition semanticObject) {
if (errorAcceptor != null) {
if (transientValues.isValueTransient(semanticObject, FlaDslPackage.Literals.VARIABLE_DEFINITION__VARIABLE_NAME) == ValueTransient.YES)
errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FlaDslPackage.Literals.VARIABLE_DEFINITION__VARIABLE_NAME));
}
SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
feeder.accept(grammarAccess.getVariableDefinitionAccess().getVariableNameIDTerminalRuleCall_1_0(), semanticObject.getVariableName());
feeder.finish();
}
/**
* Contexts:
* Definitions returns WildcardDefinition
* WildcardDefinition returns WildcardDefinition
*
* Constraint:
* {WildcardDefinition}
*/
protected void sequence_WildcardDefinition(ISerializationContext context, WildcardDefinition semanticObject) {
genericSequencer.createSequence(context, semanticObject);
}
}