/* * generated by Xtext */ package org.example.xbase.entities.serializer; import com.google.inject.Inject; import com.google.inject.Provider; 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.JvmInnerTypeReference; 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.diagnostic.ISemanticSequencerDiagnosticProvider; import org.eclipse.xtext.serializer.diagnostic.ISerializationDiagnostic.Acceptor; import org.eclipse.xtext.serializer.sequencer.GenericSequencer; import org.eclipse.xtext.serializer.sequencer.ISemanticSequencer; import org.eclipse.xtext.serializer.sequencer.ITransientValueService; import org.eclipse.xtext.xbase.XAssignment; import org.eclipse.xtext.xbase.XBasicForLoopExpression; 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.XPostfixOperation; 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.XSynchronizedExpression; 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; import org.example.xbase.entities.entities.Attribute; import org.example.xbase.entities.entities.EntitiesPackage; import org.example.xbase.entities.entities.Entity; import org.example.xbase.entities.entities.Model; import org.example.xbase.entities.entities.Operation; import org.example.xbase.entities.services.EntitiesGrammarAccess; @SuppressWarnings("all") public class EntitiesSemanticSequencer extends XbaseSemanticSequencer { @Inject private EntitiesGrammarAccess grammarAccess; @Override public void createSequence(EObject context, EObject semanticObject) { if(semanticObject.eClass().getEPackage() == EntitiesPackage.eINSTANCE) switch(semanticObject.eClass().getClassifierID()) { case EntitiesPackage.ATTRIBUTE: sequence_Attribute(context, (Attribute) semanticObject); return; case EntitiesPackage.ENTITY: sequence_Entity(context, (Entity) semanticObject); return; case EntitiesPackage.MODEL: sequence_Model(context, (Model) semanticObject); return; case EntitiesPackage.OPERATION: sequence_Operation(context, (Operation) semanticObject); return; } 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: sequence_JvmTypeReference(context, (JvmGenericArrayTypeReference) semanticObject); return; case TypesPackage.JVM_INNER_TYPE_REFERENCE: sequence_JvmParameterizedTypeReference(context, (JvmInnerTypeReference) semanticObject); return; case TypesPackage.JVM_LOWER_BOUND: if(context == grammarAccess.getJvmLowerBoundAndedRule()) { sequence_JvmLowerBoundAnded(context, (JvmLowerBound) semanticObject); return; } else if(context == grammarAccess.getJvmLowerBoundRule()) { sequence_JvmLowerBound(context, (JvmLowerBound) semanticObject); return; } else break; case TypesPackage.JVM_PARAMETERIZED_TYPE_REFERENCE: sequence_JvmParameterizedTypeReference(context, (JvmParameterizedTypeReference) semanticObject); return; case TypesPackage.JVM_TYPE_PARAMETER: sequence_JvmTypeParameter(context, (JvmTypeParameter) semanticObject); return; 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: sequence_JvmWildcardTypeReference(context, (JvmWildcardTypeReference) semanticObject); return; } else if(semanticObject.eClass().getEPackage() == XbasePackage.eINSTANCE) switch(semanticObject.eClass().getClassifierID()) { case XbasePackage.XASSIGNMENT: sequence_XAssignment_XMemberFeatureCall(context, (XAssignment) semanticObject); return; case XbasePackage.XBASIC_FOR_LOOP_EXPRESSION: sequence_XBasicForLoopExpression(context, (XBasicForLoopExpression) semanticObject); return; case XbasePackage.XBINARY_OPERATION: sequence_XAdditiveExpression_XAndExpression_XAssignment_XEqualityExpression_XMultiplicativeExpression_XOrExpression_XOtherOperatorExpression_XRelationalExpression(context, (XBinaryOperation) semanticObject); return; 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.getXExpressionOrVarDeclarationRule() || 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.getXPostfixOperationRule() || context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() || 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: sequence_XBooleanLiteral(context, (XBooleanLiteral) semanticObject); return; case XbasePackage.XCASE_PART: sequence_XCasePart(context, (XCasePart) semanticObject); return; case XbasePackage.XCASTED_EXPRESSION: sequence_XCastedExpression(context, (XCastedExpression) semanticObject); return; case XbasePackage.XCATCH_CLAUSE: sequence_XCatchClause(context, (XCatchClause) semanticObject); return; 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.getXExpressionOrVarDeclarationRule() || 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.getXPostfixOperationRule() || context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() || 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: sequence_XConstructorCall(context, (XConstructorCall) semanticObject); return; case XbasePackage.XDO_WHILE_EXPRESSION: sequence_XDoWhileExpression(context, (XDoWhileExpression) semanticObject); return; case XbasePackage.XFEATURE_CALL: sequence_XFeatureCall(context, (XFeatureCall) semanticObject); return; case XbasePackage.XFOR_LOOP_EXPRESSION: sequence_XForLoopExpression(context, (XForLoopExpression) semanticObject); return; case XbasePackage.XIF_EXPRESSION: sequence_XIfExpression(context, (XIfExpression) semanticObject); return; case XbasePackage.XINSTANCE_OF_EXPRESSION: sequence_XRelationalExpression(context, (XInstanceOfExpression) semanticObject); return; case XbasePackage.XLIST_LITERAL: sequence_XListLiteral(context, (XListLiteral) semanticObject); return; case XbasePackage.XMEMBER_FEATURE_CALL: sequence_XMemberFeatureCall(context, (XMemberFeatureCall) semanticObject); return; case XbasePackage.XNULL_LITERAL: sequence_XNullLiteral(context, (XNullLiteral) semanticObject); return; case XbasePackage.XNUMBER_LITERAL: sequence_XNumberLiteral(context, (XNumberLiteral) semanticObject); return; case XbasePackage.XPOSTFIX_OPERATION: sequence_XPostfixOperation(context, (XPostfixOperation) semanticObject); return; case XbasePackage.XRETURN_EXPRESSION: sequence_XReturnExpression(context, (XReturnExpression) semanticObject); return; case XbasePackage.XSET_LITERAL: sequence_XSetLiteral(context, (XSetLiteral) semanticObject); return; case XbasePackage.XSTRING_LITERAL: sequence_XStringLiteral(context, (XStringLiteral) semanticObject); return; case XbasePackage.XSWITCH_EXPRESSION: sequence_XSwitchExpression(context, (XSwitchExpression) semanticObject); return; case XbasePackage.XSYNCHRONIZED_EXPRESSION: sequence_XSynchronizedExpression(context, (XSynchronizedExpression) semanticObject); return; case XbasePackage.XTHROW_EXPRESSION: sequence_XThrowExpression(context, (XThrowExpression) semanticObject); return; case XbasePackage.XTRY_CATCH_FINALLY_EXPRESSION: sequence_XTryCatchFinallyExpression(context, (XTryCatchFinallyExpression) semanticObject); return; case XbasePackage.XTYPE_LITERAL: sequence_XTypeLiteral(context, (XTypeLiteral) semanticObject); return; case XbasePackage.XUNARY_OPERATION: sequence_XUnaryOperation(context, (XUnaryOperation) semanticObject); return; case XbasePackage.XVARIABLE_DECLARATION: sequence_XVariableDeclaration(context, (XVariableDeclaration) semanticObject); return; case XbasePackage.XWHILE_EXPRESSION: sequence_XWhileExpression(context, (XWhileExpression) semanticObject); return; } else if(semanticObject.eClass().getEPackage() == XtypePackage.eINSTANCE) switch(semanticObject.eClass().getClassifierID()) { case XtypePackage.XFUNCTION_TYPE_REF: sequence_XFunctionTypeRef(context, (XFunctionTypeRef) semanticObject); return; case XtypePackage.XIMPORT_DECLARATION: sequence_XImportDeclaration(context, (XImportDeclaration) semanticObject); return; case XtypePackage.XIMPORT_SECTION: sequence_XImportSection(context, (XImportSection) semanticObject); return; } if (errorAcceptor != null) errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context)); } /** * Constraint: * (type=JvmTypeReference? name=ID initexpression=XExpression?) */ protected void sequence_Attribute(EObject context, Attribute semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Constraint: * (name=ID superType=JvmParameterizedTypeReference? attributes+=Attribute* operations+=Operation*) */ protected void sequence_Entity(EObject context, Entity semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Constraint: * (importSection=XImportSection? entities+=Entity*) */ protected void sequence_Model(EObject context, Model semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Constraint: * (type=JvmTypeReference? name=ID (params+=FullJvmFormalParameter params+=FullJvmFormalParameter*)? body=XBlockExpression) */ protected void sequence_Operation(EObject context, Operation semanticObject) { genericSequencer.createSequence(context, semanticObject); } }