Package my.home.dsl.serializer

Source Code of my.home.dsl.serializer.DeepCloneSemanticSequencer

package my.home.dsl.serializer;

import com.google.inject.Inject;
import com.google.inject.Provider;
import my.home.dsl.deepClone.BaseType;
import my.home.dsl.deepClone.Body;
import my.home.dsl.deepClone.ClassCloner;
import my.home.dsl.deepClone.ComplexField;
import my.home.dsl.deepClone.ContainerType;
import my.home.dsl.deepClone.DeepClonePackage;
import my.home.dsl.deepClone.FieldClonerType;
import my.home.dsl.deepClone.PackageConfig;
import my.home.dsl.deepClone.ReferenceField;
import my.home.dsl.deepClone.SimpleExcludedField;
import my.home.dsl.deepClone.SimpleField;
import my.home.dsl.services.DeepCloneGrammarAccess;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.common.types.JvmFormalParameter;
import org.eclipse.xtext.common.types.JvmGenericArrayTypeReference;
import org.eclipse.xtext.common.types.JvmLowerBound;
import org.eclipse.xtext.common.types.JvmParameterizedTypeReference;
import org.eclipse.xtext.common.types.JvmTypeParameter;
import org.eclipse.xtext.common.types.JvmUpperBound;
import org.eclipse.xtext.common.types.JvmWildcardTypeReference;
import org.eclipse.xtext.common.types.TypesPackage;
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.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.eclipse.xtext.xbase.XAssignment;
import org.eclipse.xtext.xbase.XBinaryOperation;
import org.eclipse.xtext.xbase.XBlockExpression;
import org.eclipse.xtext.xbase.XBooleanLiteral;
import org.eclipse.xtext.xbase.XCasePart;
import org.eclipse.xtext.xbase.XCastedExpression;
import org.eclipse.xtext.xbase.XCatchClause;
import org.eclipse.xtext.xbase.XClosure;
import org.eclipse.xtext.xbase.XConstructorCall;
import org.eclipse.xtext.xbase.XDoWhileExpression;
import org.eclipse.xtext.xbase.XFeatureCall;
import org.eclipse.xtext.xbase.XForLoopExpression;
import org.eclipse.xtext.xbase.XIfExpression;
import org.eclipse.xtext.xbase.XInstanceOfExpression;
import org.eclipse.xtext.xbase.XListLiteral;
import org.eclipse.xtext.xbase.XMemberFeatureCall;
import org.eclipse.xtext.xbase.XNullLiteral;
import org.eclipse.xtext.xbase.XNumberLiteral;
import org.eclipse.xtext.xbase.XReturnExpression;
import org.eclipse.xtext.xbase.XSetLiteral;
import org.eclipse.xtext.xbase.XStringLiteral;
import org.eclipse.xtext.xbase.XSwitchExpression;
import org.eclipse.xtext.xbase.XThrowExpression;
import org.eclipse.xtext.xbase.XTryCatchFinallyExpression;
import org.eclipse.xtext.xbase.XTypeLiteral;
import org.eclipse.xtext.xbase.XUnaryOperation;
import org.eclipse.xtext.xbase.XVariableDeclaration;
import org.eclipse.xtext.xbase.XWhileExpression;
import org.eclipse.xtext.xbase.XbasePackage;
import org.eclipse.xtext.xbase.serializer.XbaseSemanticSequencer;
import org.eclipse.xtext.xtype.XFunctionTypeRef;
import org.eclipse.xtext.xtype.XImportDeclaration;
import org.eclipse.xtext.xtype.XImportSection;
import org.eclipse.xtext.xtype.XtypePackage;

@SuppressWarnings("all")
public class DeepCloneSemanticSequencer extends XbaseSemanticSequencer {

  @Inject
  private DeepCloneGrammarAccess grammarAccess;
 
  public void createSequence(EObject context, EObject semanticObject) {
    if(semanticObject.eClass().getEPackage() == DeepClonePackage.eINSTANCE) switch(semanticObject.eClass().getClassifierID()) {
      case DeepClonePackage.BASE_TYPE:
        if(context == grammarAccess.getBaseTypeRule()) {
          sequence_BaseType(context, (BaseType) semanticObject);
          return;
        }
        else break;
      case DeepClonePackage.BODY:
        if(context == grammarAccess.getBodyRule() ||
           context == grammarAccess.getModelRule()) {
          sequence_Body(context, (Body) semanticObject);
          return;
        }
        else break;
      case DeepClonePackage.CLASS_CLONER:
        if(context == grammarAccess.getClassClonerRule() ||
           context == grammarAccess.getContainerTypeRuleRule()) {
          sequence_ClassCloner(context, (ClassCloner) semanticObject);
          return;
        }
        else break;
      case DeepClonePackage.COMPLEX_FIELD:
        if(context == grammarAccess.getComplexFieldRule() ||
           context == grammarAccess.getContainerTypeRuleRule() ||
           context == grammarAccess.getFieldClonerRule() ||
           context == grammarAccess.getFieldClonerRuleRule()) {
          sequence_ComplexField(context, (ComplexField) semanticObject);
          return;
        }
        else break;
      case DeepClonePackage.CONTAINER_TYPE:
        if(context == grammarAccess.getBaseTypeRuleRule() ||
           context == grammarAccess.getContainerTypeRule()) {
          sequence_ContainerType(context, (ContainerType) semanticObject);
          return;
        }
        else break;
      case DeepClonePackage.FIELD_CLONER_TYPE:
        if(context == grammarAccess.getBaseTypeRuleRule() ||
           context == grammarAccess.getFieldClonerTypeRule()) {
          sequence_FieldClonerType(context, (FieldClonerType) semanticObject);
          return;
        }
        else break;
      case DeepClonePackage.PACKAGE_CONFIG:
        if(context == grammarAccess.getPackageConfigRule()) {
          sequence_PackageConfig(context, (PackageConfig) semanticObject);
          return;
        }
        else break;
      case DeepClonePackage.REFERENCE_FIELD:
        if(context == grammarAccess.getFieldClonerRule() ||
           context == grammarAccess.getFieldClonerRuleRule() ||
           context == grammarAccess.getReferenceFieldRule()) {
          sequence_ReferenceField(context, (ReferenceField) semanticObject);
          return;
        }
        else break;
      case DeepClonePackage.SIMPLE_EXCLUDED_FIELD:
        if(context == grammarAccess.getFieldClonerRule() ||
           context == grammarAccess.getFieldClonerRuleRule() ||
           context == grammarAccess.getSimpleExcludedFieldRule()) {
          sequence_SimpleExcludedField(context, (SimpleExcludedField) semanticObject);
          return;
        }
        else break;
      case DeepClonePackage.SIMPLE_FIELD:
        if(context == grammarAccess.getFieldClonerRule() ||
           context == grammarAccess.getFieldClonerRuleRule() ||
           context == grammarAccess.getSimpleFieldRule()) {
          sequence_SimpleField(context, (SimpleField) semanticObject);
          return;
        }
        else break;
      }
    else if(semanticObject.eClass().getEPackage() == TypesPackage.eINSTANCE) switch(semanticObject.eClass().getClassifierID()) {
      case TypesPackage.JVM_FORMAL_PARAMETER:
        if(context == grammarAccess.getFullJvmFormalParameterRule()) {
          sequence_FullJvmFormalParameter(context, (JvmFormalParameter) semanticObject);
          return;
        }
        else if(context == grammarAccess.getJvmFormalParameterRule()) {
          sequence_JvmFormalParameter(context, (JvmFormalParameter) semanticObject);
          return;
        }
        else break;
      case TypesPackage.JVM_GENERIC_ARRAY_TYPE_REFERENCE:
        if(context == grammarAccess.getJvmArgumentTypeReferenceRule() ||
           context == grammarAccess.getJvmTypeReferenceRule() ||
           context == grammarAccess.getJvmTypeReferenceAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0()) {
          sequence_JvmTypeReference(context, (JvmGenericArrayTypeReference) semanticObject);
          return;
        }
        else break;
      case TypesPackage.JVM_LOWER_BOUND:
        if(context == grammarAccess.getJvmLowerBoundRule()) {
          sequence_JvmLowerBound(context, (JvmLowerBound) semanticObject);
          return;
        }
        else break;
      case TypesPackage.JVM_PARAMETERIZED_TYPE_REFERENCE:
        if(context == grammarAccess.getJvmArgumentTypeReferenceRule() ||
           context == grammarAccess.getJvmParameterizedTypeReferenceRule() ||
           context == grammarAccess.getJvmTypeReferenceRule() ||
           context == grammarAccess.getJvmTypeReferenceAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0()) {
          sequence_JvmParameterizedTypeReference(context, (JvmParameterizedTypeReference) semanticObject);
          return;
        }
        else break;
      case TypesPackage.JVM_TYPE_PARAMETER:
        if(context == grammarAccess.getJvmTypeParameterRule()) {
          sequence_JvmTypeParameter(context, (JvmTypeParameter) semanticObject);
          return;
        }
        else break;
      case TypesPackage.JVM_UPPER_BOUND:
        if(context == grammarAccess.getJvmUpperBoundAndedRule()) {
          sequence_JvmUpperBoundAnded(context, (JvmUpperBound) semanticObject);
          return;
        }
        else if(context == grammarAccess.getJvmUpperBoundRule()) {
          sequence_JvmUpperBound(context, (JvmUpperBound) semanticObject);
          return;
        }
        else break;
      case TypesPackage.JVM_WILDCARD_TYPE_REFERENCE:
        if(context == grammarAccess.getJvmArgumentTypeReferenceRule() ||
           context == grammarAccess.getJvmWildcardTypeReferenceRule()) {
          sequence_JvmWildcardTypeReference(context, (JvmWildcardTypeReference) semanticObject);
          return;
        }
        else break;
      }
    else if(semanticObject.eClass().getEPackage() == XbasePackage.eINSTANCE) switch(semanticObject.eClass().getClassifierID()) {
      case XbasePackage.XASSIGNMENT:
        if(context == grammarAccess.getXAdditiveExpressionRule() ||
           context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAndExpressionRule() ||
           context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAssignmentRule() ||
           context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXCastedExpressionRule() ||
           context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
           context == grammarAccess.getXEqualityExpressionRule() ||
           context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXExpressionRule() ||
           context == grammarAccess.getXExpressionInsideBlockRule() ||
           context == grammarAccess.getXMemberFeatureCallRule() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
           context == grammarAccess.getXMultiplicativeExpressionRule() ||
           context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOrExpressionRule() ||
           context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOtherOperatorExpressionRule() ||
           context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXParenthesizedExpressionRule() ||
           context == grammarAccess.getXPrimaryExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
           context == grammarAccess.getXUnaryOperationRule()) {
          sequence_XAssignment_XMemberFeatureCall(context, (XAssignment) semanticObject);
          return;
        }
        else break;
      case XbasePackage.XBINARY_OPERATION:
        if(context == grammarAccess.getXAdditiveExpressionRule() ||
           context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAndExpressionRule() ||
           context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAssignmentRule() ||
           context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXCastedExpressionRule() ||
           context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
           context == grammarAccess.getXEqualityExpressionRule() ||
           context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXExpressionRule() ||
           context == grammarAccess.getXExpressionInsideBlockRule() ||
           context == grammarAccess.getXMemberFeatureCallRule() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
           context == grammarAccess.getXMultiplicativeExpressionRule() ||
           context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOrExpressionRule() ||
           context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOtherOperatorExpressionRule() ||
           context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXParenthesizedExpressionRule() ||
           context == grammarAccess.getXPrimaryExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
           context == grammarAccess.getXUnaryOperationRule()) {
          sequence_XAdditiveExpression_XAndExpression_XAssignment_XEqualityExpression_XMultiplicativeExpression_XOrExpression_XOtherOperatorExpression_XRelationalExpression(context, (XBinaryOperation) semanticObject);
          return;
        }
        else break;
      case XbasePackage.XBLOCK_EXPRESSION:
        if(context == grammarAccess.getXAdditiveExpressionRule() ||
           context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAndExpressionRule() ||
           context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAssignmentRule() ||
           context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXBlockExpressionRule() ||
           context == grammarAccess.getXCastedExpressionRule() ||
           context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
           context == grammarAccess.getXEqualityExpressionRule() ||
           context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXExpressionRule() ||
           context == grammarAccess.getXExpressionInsideBlockRule() ||
           context == grammarAccess.getXMemberFeatureCallRule() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
           context == grammarAccess.getXMultiplicativeExpressionRule() ||
           context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOrExpressionRule() ||
           context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOtherOperatorExpressionRule() ||
           context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXParenthesizedExpressionRule() ||
           context == grammarAccess.getXPrimaryExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
           context == grammarAccess.getXUnaryOperationRule()) {
          sequence_XBlockExpression(context, (XBlockExpression) semanticObject);
          return;
        }
        else if(context == grammarAccess.getXExpressionInClosureRule()) {
          sequence_XExpressionInClosure(context, (XBlockExpression) semanticObject);
          return;
        }
        else break;
      case XbasePackage.XBOOLEAN_LITERAL:
        if(context == grammarAccess.getXAdditiveExpressionRule() ||
           context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAndExpressionRule() ||
           context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAssignmentRule() ||
           context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXBooleanLiteralRule() ||
           context == grammarAccess.getXCastedExpressionRule() ||
           context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
           context == grammarAccess.getXEqualityExpressionRule() ||
           context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXExpressionRule() ||
           context == grammarAccess.getXExpressionInsideBlockRule() ||
           context == grammarAccess.getXLiteralRule() ||
           context == grammarAccess.getXMemberFeatureCallRule() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
           context == grammarAccess.getXMultiplicativeExpressionRule() ||
           context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOrExpressionRule() ||
           context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOtherOperatorExpressionRule() ||
           context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXParenthesizedExpressionRule() ||
           context == grammarAccess.getXPrimaryExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
           context == grammarAccess.getXUnaryOperationRule()) {
          sequence_XBooleanLiteral(context, (XBooleanLiteral) semanticObject);
          return;
        }
        else break;
      case XbasePackage.XCASE_PART:
        if(context == grammarAccess.getXCasePartRule()) {
          sequence_XCasePart(context, (XCasePart) semanticObject);
          return;
        }
        else break;
      case XbasePackage.XCASTED_EXPRESSION:
        if(context == grammarAccess.getXAdditiveExpressionRule() ||
           context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAndExpressionRule() ||
           context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAssignmentRule() ||
           context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXCastedExpressionRule() ||
           context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
           context == grammarAccess.getXEqualityExpressionRule() ||
           context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXExpressionRule() ||
           context == grammarAccess.getXExpressionInsideBlockRule() ||
           context == grammarAccess.getXMemberFeatureCallRule() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
           context == grammarAccess.getXMultiplicativeExpressionRule() ||
           context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOrExpressionRule() ||
           context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOtherOperatorExpressionRule() ||
           context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXParenthesizedExpressionRule() ||
           context == grammarAccess.getXPrimaryExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
           context == grammarAccess.getXUnaryOperationRule()) {
          sequence_XCastedExpression(context, (XCastedExpression) semanticObject);
          return;
        }
        else break;
      case XbasePackage.XCATCH_CLAUSE:
        if(context == grammarAccess.getXCatchClauseRule()) {
          sequence_XCatchClause(context, (XCatchClause) semanticObject);
          return;
        }
        else break;
      case XbasePackage.XCLOSURE:
        if(context == grammarAccess.getXAdditiveExpressionRule() ||
           context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAndExpressionRule() ||
           context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAssignmentRule() ||
           context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXCastedExpressionRule() ||
           context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
           context == grammarAccess.getXClosureRule() ||
           context == grammarAccess.getXEqualityExpressionRule() ||
           context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXExpressionRule() ||
           context == grammarAccess.getXExpressionInsideBlockRule() ||
           context == grammarAccess.getXLiteralRule() ||
           context == grammarAccess.getXMemberFeatureCallRule() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
           context == grammarAccess.getXMultiplicativeExpressionRule() ||
           context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOrExpressionRule() ||
           context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOtherOperatorExpressionRule() ||
           context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXParenthesizedExpressionRule() ||
           context == grammarAccess.getXPrimaryExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
           context == grammarAccess.getXUnaryOperationRule()) {
          sequence_XClosure(context, (XClosure) semanticObject);
          return;
        }
        else if(context == grammarAccess.getXShortClosureRule()) {
          sequence_XShortClosure(context, (XClosure) semanticObject);
          return;
        }
        else break;
      case XbasePackage.XCONSTRUCTOR_CALL:
        if(context == grammarAccess.getXAdditiveExpressionRule() ||
           context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAndExpressionRule() ||
           context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAssignmentRule() ||
           context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXCastedExpressionRule() ||
           context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
           context == grammarAccess.getXConstructorCallRule() ||
           context == grammarAccess.getXEqualityExpressionRule() ||
           context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXExpressionRule() ||
           context == grammarAccess.getXExpressionInsideBlockRule() ||
           context == grammarAccess.getXMemberFeatureCallRule() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
           context == grammarAccess.getXMultiplicativeExpressionRule() ||
           context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOrExpressionRule() ||
           context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOtherOperatorExpressionRule() ||
           context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXParenthesizedExpressionRule() ||
           context == grammarAccess.getXPrimaryExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
           context == grammarAccess.getXUnaryOperationRule()) {
          sequence_XConstructorCall(context, (XConstructorCall) semanticObject);
          return;
        }
        else break;
      case XbasePackage.XDO_WHILE_EXPRESSION:
        if(context == grammarAccess.getXAdditiveExpressionRule() ||
           context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAndExpressionRule() ||
           context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAssignmentRule() ||
           context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXCastedExpressionRule() ||
           context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
           context == grammarAccess.getXDoWhileExpressionRule() ||
           context == grammarAccess.getXEqualityExpressionRule() ||
           context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXExpressionRule() ||
           context == grammarAccess.getXExpressionInsideBlockRule() ||
           context == grammarAccess.getXMemberFeatureCallRule() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
           context == grammarAccess.getXMultiplicativeExpressionRule() ||
           context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOrExpressionRule() ||
           context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOtherOperatorExpressionRule() ||
           context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXParenthesizedExpressionRule() ||
           context == grammarAccess.getXPrimaryExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
           context == grammarAccess.getXUnaryOperationRule()) {
          sequence_XDoWhileExpression(context, (XDoWhileExpression) semanticObject);
          return;
        }
        else break;
      case XbasePackage.XFEATURE_CALL:
        if(context == grammarAccess.getXAdditiveExpressionRule() ||
           context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAndExpressionRule() ||
           context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAssignmentRule() ||
           context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXCastedExpressionRule() ||
           context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
           context == grammarAccess.getXEqualityExpressionRule() ||
           context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXExpressionRule() ||
           context == grammarAccess.getXExpressionInsideBlockRule() ||
           context == grammarAccess.getXFeatureCallRule() ||
           context == grammarAccess.getXMemberFeatureCallRule() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
           context == grammarAccess.getXMultiplicativeExpressionRule() ||
           context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOrExpressionRule() ||
           context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOtherOperatorExpressionRule() ||
           context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXParenthesizedExpressionRule() ||
           context == grammarAccess.getXPrimaryExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
           context == grammarAccess.getXUnaryOperationRule()) {
          sequence_XFeatureCall(context, (XFeatureCall) semanticObject);
          return;
        }
        else break;
      case XbasePackage.XFOR_LOOP_EXPRESSION:
        if(context == grammarAccess.getXAdditiveExpressionRule() ||
           context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAndExpressionRule() ||
           context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAssignmentRule() ||
           context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXCastedExpressionRule() ||
           context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
           context == grammarAccess.getXEqualityExpressionRule() ||
           context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXExpressionRule() ||
           context == grammarAccess.getXExpressionInsideBlockRule() ||
           context == grammarAccess.getXForLoopExpressionRule() ||
           context == grammarAccess.getXMemberFeatureCallRule() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
           context == grammarAccess.getXMultiplicativeExpressionRule() ||
           context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOrExpressionRule() ||
           context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOtherOperatorExpressionRule() ||
           context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXParenthesizedExpressionRule() ||
           context == grammarAccess.getXPrimaryExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
           context == grammarAccess.getXUnaryOperationRule()) {
          sequence_XForLoopExpression(context, (XForLoopExpression) semanticObject);
          return;
        }
        else break;
      case XbasePackage.XIF_EXPRESSION:
        if(context == grammarAccess.getXAdditiveExpressionRule() ||
           context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAndExpressionRule() ||
           context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAssignmentRule() ||
           context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXCastedExpressionRule() ||
           context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
           context == grammarAccess.getXEqualityExpressionRule() ||
           context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXExpressionRule() ||
           context == grammarAccess.getXExpressionInsideBlockRule() ||
           context == grammarAccess.getXIfExpressionRule() ||
           context == grammarAccess.getXMemberFeatureCallRule() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
           context == grammarAccess.getXMultiplicativeExpressionRule() ||
           context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOrExpressionRule() ||
           context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOtherOperatorExpressionRule() ||
           context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXParenthesizedExpressionRule() ||
           context == grammarAccess.getXPrimaryExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
           context == grammarAccess.getXUnaryOperationRule()) {
          sequence_XIfExpression(context, (XIfExpression) semanticObject);
          return;
        }
        else break;
      case XbasePackage.XINSTANCE_OF_EXPRESSION:
        if(context == grammarAccess.getXAdditiveExpressionRule() ||
           context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAndExpressionRule() ||
           context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAssignmentRule() ||
           context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXCastedExpressionRule() ||
           context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
           context == grammarAccess.getXEqualityExpressionRule() ||
           context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXExpressionRule() ||
           context == grammarAccess.getXExpressionInsideBlockRule() ||
           context == grammarAccess.getXMemberFeatureCallRule() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
           context == grammarAccess.getXMultiplicativeExpressionRule() ||
           context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOrExpressionRule() ||
           context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOtherOperatorExpressionRule() ||
           context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXParenthesizedExpressionRule() ||
           context == grammarAccess.getXPrimaryExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
           context == grammarAccess.getXUnaryOperationRule()) {
          sequence_XRelationalExpression(context, (XInstanceOfExpression) semanticObject);
          return;
        }
        else break;
      case XbasePackage.XLIST_LITERAL:
        if(context == grammarAccess.getXAdditiveExpressionRule() ||
           context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAndExpressionRule() ||
           context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAssignmentRule() ||
           context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXCastedExpressionRule() ||
           context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
           context == grammarAccess.getXCollectionLiteralRule() ||
           context == grammarAccess.getXEqualityExpressionRule() ||
           context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXExpressionRule() ||
           context == grammarAccess.getXExpressionInsideBlockRule() ||
           context == grammarAccess.getXListLiteralRule() ||
           context == grammarAccess.getXLiteralRule() ||
           context == grammarAccess.getXMemberFeatureCallRule() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
           context == grammarAccess.getXMultiplicativeExpressionRule() ||
           context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOrExpressionRule() ||
           context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOtherOperatorExpressionRule() ||
           context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXParenthesizedExpressionRule() ||
           context == grammarAccess.getXPrimaryExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
           context == grammarAccess.getXUnaryOperationRule()) {
          sequence_XListLiteral(context, (XListLiteral) semanticObject);
          return;
        }
        else break;
      case XbasePackage.XMEMBER_FEATURE_CALL:
        if(context == grammarAccess.getXAdditiveExpressionRule() ||
           context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAndExpressionRule() ||
           context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAssignmentRule() ||
           context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXCastedExpressionRule() ||
           context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
           context == grammarAccess.getXEqualityExpressionRule() ||
           context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXExpressionRule() ||
           context == grammarAccess.getXExpressionInsideBlockRule() ||
           context == grammarAccess.getXMemberFeatureCallRule() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
           context == grammarAccess.getXMultiplicativeExpressionRule() ||
           context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOrExpressionRule() ||
           context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOtherOperatorExpressionRule() ||
           context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXParenthesizedExpressionRule() ||
           context == grammarAccess.getXPrimaryExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
           context == grammarAccess.getXUnaryOperationRule()) {
          sequence_XMemberFeatureCall(context, (XMemberFeatureCall) semanticObject);
          return;
        }
        else break;
      case XbasePackage.XNULL_LITERAL:
        if(context == grammarAccess.getXAdditiveExpressionRule() ||
           context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAndExpressionRule() ||
           context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAssignmentRule() ||
           context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXCastedExpressionRule() ||
           context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
           context == grammarAccess.getXEqualityExpressionRule() ||
           context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXExpressionRule() ||
           context == grammarAccess.getXExpressionInsideBlockRule() ||
           context == grammarAccess.getXLiteralRule() ||
           context == grammarAccess.getXMemberFeatureCallRule() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
           context == grammarAccess.getXMultiplicativeExpressionRule() ||
           context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXNullLiteralRule() ||
           context == grammarAccess.getXOrExpressionRule() ||
           context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOtherOperatorExpressionRule() ||
           context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXParenthesizedExpressionRule() ||
           context == grammarAccess.getXPrimaryExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
           context == grammarAccess.getXUnaryOperationRule()) {
          sequence_XNullLiteral(context, (XNullLiteral) semanticObject);
          return;
        }
        else break;
      case XbasePackage.XNUMBER_LITERAL:
        if(context == grammarAccess.getXAdditiveExpressionRule() ||
           context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAndExpressionRule() ||
           context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAssignmentRule() ||
           context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXCastedExpressionRule() ||
           context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
           context == grammarAccess.getXEqualityExpressionRule() ||
           context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXExpressionRule() ||
           context == grammarAccess.getXExpressionInsideBlockRule() ||
           context == grammarAccess.getXLiteralRule() ||
           context == grammarAccess.getXMemberFeatureCallRule() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
           context == grammarAccess.getXMultiplicativeExpressionRule() ||
           context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXNumberLiteralRule() ||
           context == grammarAccess.getXOrExpressionRule() ||
           context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOtherOperatorExpressionRule() ||
           context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXParenthesizedExpressionRule() ||
           context == grammarAccess.getXPrimaryExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
           context == grammarAccess.getXUnaryOperationRule()) {
          sequence_XNumberLiteral(context, (XNumberLiteral) semanticObject);
          return;
        }
        else break;
      case XbasePackage.XRETURN_EXPRESSION:
        if(context == grammarAccess.getXAdditiveExpressionRule() ||
           context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAndExpressionRule() ||
           context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAssignmentRule() ||
           context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXCastedExpressionRule() ||
           context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
           context == grammarAccess.getXEqualityExpressionRule() ||
           context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXExpressionRule() ||
           context == grammarAccess.getXExpressionInsideBlockRule() ||
           context == grammarAccess.getXMemberFeatureCallRule() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
           context == grammarAccess.getXMultiplicativeExpressionRule() ||
           context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOrExpressionRule() ||
           context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOtherOperatorExpressionRule() ||
           context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXParenthesizedExpressionRule() ||
           context == grammarAccess.getXPrimaryExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
           context == grammarAccess.getXReturnExpressionRule() ||
           context == grammarAccess.getXUnaryOperationRule()) {
          sequence_XReturnExpression(context, (XReturnExpression) semanticObject);
          return;
        }
        else break;
      case XbasePackage.XSET_LITERAL:
        if(context == grammarAccess.getXAdditiveExpressionRule() ||
           context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAndExpressionRule() ||
           context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAssignmentRule() ||
           context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXCastedExpressionRule() ||
           context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
           context == grammarAccess.getXCollectionLiteralRule() ||
           context == grammarAccess.getXEqualityExpressionRule() ||
           context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXExpressionRule() ||
           context == grammarAccess.getXExpressionInsideBlockRule() ||
           context == grammarAccess.getXLiteralRule() ||
           context == grammarAccess.getXMemberFeatureCallRule() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
           context == grammarAccess.getXMultiplicativeExpressionRule() ||
           context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOrExpressionRule() ||
           context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOtherOperatorExpressionRule() ||
           context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXParenthesizedExpressionRule() ||
           context == grammarAccess.getXPrimaryExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
           context == grammarAccess.getXSetLiteralRule() ||
           context == grammarAccess.getXUnaryOperationRule()) {
          sequence_XSetLiteral(context, (XSetLiteral) semanticObject);
          return;
        }
        else break;
      case XbasePackage.XSTRING_LITERAL:
        if(context == grammarAccess.getXAdditiveExpressionRule() ||
           context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAndExpressionRule() ||
           context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAssignmentRule() ||
           context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXCastedExpressionRule() ||
           context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
           context == grammarAccess.getXEqualityExpressionRule() ||
           context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXExpressionRule() ||
           context == grammarAccess.getXExpressionInsideBlockRule() ||
           context == grammarAccess.getXLiteralRule() ||
           context == grammarAccess.getXMemberFeatureCallRule() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
           context == grammarAccess.getXMultiplicativeExpressionRule() ||
           context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOrExpressionRule() ||
           context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOtherOperatorExpressionRule() ||
           context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXParenthesizedExpressionRule() ||
           context == grammarAccess.getXPrimaryExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
           context == grammarAccess.getXStringLiteralRule() ||
           context == grammarAccess.getXUnaryOperationRule()) {
          sequence_XStringLiteral(context, (XStringLiteral) semanticObject);
          return;
        }
        else break;
      case XbasePackage.XSWITCH_EXPRESSION:
        if(context == grammarAccess.getXAdditiveExpressionRule() ||
           context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAndExpressionRule() ||
           context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAssignmentRule() ||
           context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXCastedExpressionRule() ||
           context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
           context == grammarAccess.getXEqualityExpressionRule() ||
           context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXExpressionRule() ||
           context == grammarAccess.getXExpressionInsideBlockRule() ||
           context == grammarAccess.getXMemberFeatureCallRule() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
           context == grammarAccess.getXMultiplicativeExpressionRule() ||
           context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOrExpressionRule() ||
           context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOtherOperatorExpressionRule() ||
           context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXParenthesizedExpressionRule() ||
           context == grammarAccess.getXPrimaryExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
           context == grammarAccess.getXSwitchExpressionRule() ||
           context == grammarAccess.getXUnaryOperationRule()) {
          sequence_XSwitchExpression(context, (XSwitchExpression) semanticObject);
          return;
        }
        else break;
      case XbasePackage.XTHROW_EXPRESSION:
        if(context == grammarAccess.getXAdditiveExpressionRule() ||
           context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAndExpressionRule() ||
           context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAssignmentRule() ||
           context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXCastedExpressionRule() ||
           context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
           context == grammarAccess.getXEqualityExpressionRule() ||
           context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXExpressionRule() ||
           context == grammarAccess.getXExpressionInsideBlockRule() ||
           context == grammarAccess.getXMemberFeatureCallRule() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
           context == grammarAccess.getXMultiplicativeExpressionRule() ||
           context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOrExpressionRule() ||
           context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOtherOperatorExpressionRule() ||
           context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXParenthesizedExpressionRule() ||
           context == grammarAccess.getXPrimaryExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
           context == grammarAccess.getXThrowExpressionRule() ||
           context == grammarAccess.getXUnaryOperationRule()) {
          sequence_XThrowExpression(context, (XThrowExpression) semanticObject);
          return;
        }
        else break;
      case XbasePackage.XTRY_CATCH_FINALLY_EXPRESSION:
        if(context == grammarAccess.getXAdditiveExpressionRule() ||
           context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAndExpressionRule() ||
           context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAssignmentRule() ||
           context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXCastedExpressionRule() ||
           context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
           context == grammarAccess.getXEqualityExpressionRule() ||
           context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXExpressionRule() ||
           context == grammarAccess.getXExpressionInsideBlockRule() ||
           context == grammarAccess.getXMemberFeatureCallRule() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
           context == grammarAccess.getXMultiplicativeExpressionRule() ||
           context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOrExpressionRule() ||
           context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOtherOperatorExpressionRule() ||
           context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXParenthesizedExpressionRule() ||
           context == grammarAccess.getXPrimaryExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
           context == grammarAccess.getXTryCatchFinallyExpressionRule() ||
           context == grammarAccess.getXUnaryOperationRule()) {
          sequence_XTryCatchFinallyExpression(context, (XTryCatchFinallyExpression) semanticObject);
          return;
        }
        else break;
      case XbasePackage.XTYPE_LITERAL:
        if(context == grammarAccess.getXAdditiveExpressionRule() ||
           context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAndExpressionRule() ||
           context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAssignmentRule() ||
           context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXCastedExpressionRule() ||
           context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
           context == grammarAccess.getXEqualityExpressionRule() ||
           context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXExpressionRule() ||
           context == grammarAccess.getXExpressionInsideBlockRule() ||
           context == grammarAccess.getXLiteralRule() ||
           context == grammarAccess.getXMemberFeatureCallRule() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
           context == grammarAccess.getXMultiplicativeExpressionRule() ||
           context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOrExpressionRule() ||
           context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOtherOperatorExpressionRule() ||
           context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXParenthesizedExpressionRule() ||
           context == grammarAccess.getXPrimaryExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
           context == grammarAccess.getXTypeLiteralRule() ||
           context == grammarAccess.getXUnaryOperationRule()) {
          sequence_XTypeLiteral(context, (XTypeLiteral) semanticObject);
          return;
        }
        else break;
      case XbasePackage.XUNARY_OPERATION:
        if(context == grammarAccess.getXAdditiveExpressionRule() ||
           context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAndExpressionRule() ||
           context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAssignmentRule() ||
           context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXCastedExpressionRule() ||
           context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
           context == grammarAccess.getXEqualityExpressionRule() ||
           context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXExpressionRule() ||
           context == grammarAccess.getXExpressionInsideBlockRule() ||
           context == grammarAccess.getXMemberFeatureCallRule() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
           context == grammarAccess.getXMultiplicativeExpressionRule() ||
           context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOrExpressionRule() ||
           context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOtherOperatorExpressionRule() ||
           context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXParenthesizedExpressionRule() ||
           context == grammarAccess.getXPrimaryExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
           context == grammarAccess.getXUnaryOperationRule()) {
          sequence_XUnaryOperation(context, (XUnaryOperation) semanticObject);
          return;
        }
        else break;
      case XbasePackage.XVARIABLE_DECLARATION:
        if(context == grammarAccess.getXExpressionInsideBlockRule() ||
           context == grammarAccess.getXVariableDeclarationRule()) {
          sequence_XVariableDeclaration(context, (XVariableDeclaration) semanticObject);
          return;
        }
        else break;
      case XbasePackage.XWHILE_EXPRESSION:
        if(context == grammarAccess.getXAdditiveExpressionRule() ||
           context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAndExpressionRule() ||
           context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXAssignmentRule() ||
           context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXCastedExpressionRule() ||
           context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
           context == grammarAccess.getXEqualityExpressionRule() ||
           context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXExpressionRule() ||
           context == grammarAccess.getXExpressionInsideBlockRule() ||
           context == grammarAccess.getXMemberFeatureCallRule() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
           context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
           context == grammarAccess.getXMultiplicativeExpressionRule() ||
           context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOrExpressionRule() ||
           context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXOtherOperatorExpressionRule() ||
           context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
           context == grammarAccess.getXParenthesizedExpressionRule() ||
           context == grammarAccess.getXPrimaryExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionRule() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
           context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
           context == grammarAccess.getXUnaryOperationRule() ||
           context == grammarAccess.getXWhileExpressionRule()) {
          sequence_XWhileExpression(context, (XWhileExpression) semanticObject);
          return;
        }
        else break;
      }
    else if(semanticObject.eClass().getEPackage() == XtypePackage.eINSTANCE) switch(semanticObject.eClass().getClassifierID()) {
      case XtypePackage.XFUNCTION_TYPE_REF:
        if(context == grammarAccess.getJvmArgumentTypeReferenceRule() ||
           context == grammarAccess.getJvmTypeReferenceRule() ||
           context == grammarAccess.getXFunctionTypeRefRule()) {
          sequence_XFunctionTypeRef(context, (XFunctionTypeRef) semanticObject);
          return;
        }
        else break;
      case XtypePackage.XIMPORT_DECLARATION:
        if(context == grammarAccess.getXImportDeclarationRule()) {
          sequence_XImportDeclaration(context, (XImportDeclaration) semanticObject);
          return;
        }
        else break;
      case XtypePackage.XIMPORT_SECTION:
        if(context == grammarAccess.getXImportSectionRule()) {
          sequence_XImportSection(context, (XImportSection) semanticObject);
          return;
        }
        else break;
      }
    if (errorAcceptor != null) errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context));
  }
 
  /**
   * Constraint:
   *     (javaType=JvmTypeReference?)
   */
  protected void sequence_BaseType(EObject context, BaseType semanticObject) {
    genericSequencer.createSequence(context, semanticObject);
  }
 
 
  /**
   * Constraint:
   *     (packageConfig=PackageConfig? cloners+=ClassCloner*)
   */
  protected void sequence_Body(EObject context, Body semanticObject) {
    genericSequencer.createSequence(context, semanticObject);
  }
 
 
  /**
   * Constraint:
   *     (classToClone=JvmTypeReference name=ID? fields+=FieldCloner*)
   */
  protected void sequence_ClassCloner(EObject context, ClassCloner semanticObject) {
    genericSequencer.createSequence(context, semanticObject);
  }
 
 
  /**
   * Constraint:
   *     (fieldName=ID fields+=FieldCloner*)
   */
  protected void sequence_ComplexField(EObject context, ComplexField semanticObject) {
    genericSequencer.createSequence(context, semanticObject);
  }
 
 
  /**
   * Constraint:
   *     (fields+=FieldCloner*)
   */
  protected void sequence_ContainerType(EObject context, ContainerType semanticObject) {
    genericSequencer.createSequence(context, semanticObject);
  }
 
 
  /**
   * Constraint:
   *     fieldName=ID
   */
  protected void sequence_FieldClonerType(EObject context, FieldClonerType semanticObject) {
    genericSequencer.createSequence(context, semanticObject);
  }
 
 
  /**
   * Constraint:
   *     name=PackageNamespace
   */
  protected void sequence_PackageConfig(EObject context, PackageConfig semanticObject) {
    if(errorAcceptor != null) {
      if(transientValues.isValueTransient(semanticObject, DeepClonePackage.Literals.PACKAGE_CONFIG__NAME) == ValueTransient.YES)
        errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, DeepClonePackage.Literals.PACKAGE_CONFIG__NAME));
    }
    INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
    SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
    feeder.accept(grammarAccess.getPackageConfigAccess().getNamePackageNamespaceParserRuleCall_1_0(), semanticObject.getName());
    feeder.finish();
  }
 
 
  /**
   * Constraint:
   *     (fieldName=ID clonerReference=[ClassCloner|ID])
   */
  protected void sequence_ReferenceField(EObject context, ReferenceField semanticObject) {
    genericSequencer.createSequence(context, semanticObject);
  }
 
 
  /**
   * Constraint:
   *     fieldName=ID
   */
  protected void sequence_SimpleExcludedField(EObject context, SimpleExcludedField semanticObject) {
    genericSequencer.createSequence(context, semanticObject);
  }
 
 
  /**
   * Constraint:
   *     fieldName=ID
   */
  protected void sequence_SimpleField(EObject context, SimpleField semanticObject) {
    genericSequencer.createSequence(context, semanticObject);
  }
}
TOP

Related Classes of my.home.dsl.serializer.DeepCloneSemanticSequencer

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.