| /** |
| * |
| * Copyright (c) 2011, 2017 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) |
| * |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License 2.0 |
| * which accompanies this distribution, and is available at |
| * https://www.eclipse.org/legal/epl-2.0/ |
| * |
| * SPDX-License-Identifier: EPL-2.0 |
| * |
| * Contributors: |
| * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation |
| * |
| * generated by Xtext 2.11.0 |
| * |
| */ |
| |
| package org.eclipse.osbp.xtext.functionlibrarydsl.serializer; |
| |
| import com.google.inject.Inject; |
| import java.util.Set; |
| import org.eclipse.emf.ecore.EObject; |
| import org.eclipse.emf.ecore.EPackage; |
| import org.eclipse.osbp.xtext.functionlibrarydsl.FunctionConvertToModel; |
| import org.eclipse.osbp.xtext.functionlibrarydsl.FunctionConvertToPresentation; |
| import org.eclipse.osbp.xtext.functionlibrarydsl.FunctionLibraryActionGroup; |
| import org.eclipse.osbp.xtext.functionlibrarydsl.FunctionLibraryBlipGroup; |
| import org.eclipse.osbp.xtext.functionlibrarydsl.FunctionLibraryCanExecute; |
| import org.eclipse.osbp.xtext.functionlibrarydsl.FunctionLibraryConverterGroup; |
| import org.eclipse.osbp.xtext.functionlibrarydsl.FunctionLibraryDSLPackage; |
| import org.eclipse.osbp.xtext.functionlibrarydsl.FunctionLibraryExecute; |
| import org.eclipse.osbp.xtext.functionlibrarydsl.FunctionLibraryFunction; |
| import org.eclipse.osbp.xtext.functionlibrarydsl.FunctionLibraryGroup; |
| import org.eclipse.osbp.xtext.functionlibrarydsl.FunctionLibraryGuard; |
| import org.eclipse.osbp.xtext.functionlibrarydsl.FunctionLibraryModel; |
| import org.eclipse.osbp.xtext.functionlibrarydsl.FunctionLibraryOperation; |
| import org.eclipse.osbp.xtext.functionlibrarydsl.FunctionLibraryPackage; |
| import org.eclipse.osbp.xtext.functionlibrarydsl.FunctionLibraryParameter; |
| import org.eclipse.osbp.xtext.functionlibrarydsl.FunctionLibraryRate; |
| import org.eclipse.osbp.xtext.functionlibrarydsl.FunctionLibraryRating; |
| import org.eclipse.osbp.xtext.functionlibrarydsl.FunctionLibraryRatingItem; |
| import org.eclipse.osbp.xtext.functionlibrarydsl.FunctionLibraryStatemachineGroup; |
| import org.eclipse.osbp.xtext.functionlibrarydsl.FunctionLibraryTest; |
| import org.eclipse.osbp.xtext.functionlibrarydsl.FunctionLibraryValidation; |
| import org.eclipse.osbp.xtext.functionlibrarydsl.FunctionLibraryValidationGroup; |
| import org.eclipse.osbp.xtext.functionlibrarydsl.services.FunctionLibraryDslGrammarAccess; |
| import org.eclipse.osbp.xtext.oxtype.oxtype.OXImportDeclaration; |
| import org.eclipse.osbp.xtext.oxtype.oxtype.OXtypePackage; |
| import org.eclipse.osbp.xtext.oxtype.serializer.OXtypeSemanticSequencer; |
| import org.eclipse.xtext.Action; |
| import org.eclipse.xtext.Parameter; |
| import org.eclipse.xtext.ParserRule; |
| 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.ISerializationContext; |
| import org.eclipse.xtext.serializer.acceptor.SequenceFeeder; |
| import org.eclipse.xtext.serializer.sequencer.ITransientValueService.ValueTransient; |
| 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.annotations.xAnnotations.XAnnotation; |
| import org.eclipse.xtext.xbase.annotations.xAnnotations.XAnnotationElementValuePair; |
| import org.eclipse.xtext.xbase.annotations.xAnnotations.XAnnotationsPackage; |
| import org.eclipse.xtext.xtype.XFunctionTypeRef; |
| import org.eclipse.xtext.xtype.XImportSection; |
| import org.eclipse.xtext.xtype.XtypePackage; |
| |
| @SuppressWarnings("all") |
| public class FunctionLibraryDslSemanticSequencer extends OXtypeSemanticSequencer { |
| |
| @Inject |
| private FunctionLibraryDslGrammarAccess grammarAccess; |
| |
| @Override |
| public void sequence(ISerializationContext context, EObject semanticObject) { |
| EPackage epackage = semanticObject.eClass().getEPackage(); |
| ParserRule rule = context.getParserRule(); |
| Action action = context.getAssignedAction(); |
| Set<Parameter> parameters = context.getEnabledBooleanParameters(); |
| if (epackage == FunctionLibraryDSLPackage.eINSTANCE) |
| switch (semanticObject.eClass().getClassifierID()) { |
| case FunctionLibraryDSLPackage.FUNCTION_CONVERT_TO_MODEL: |
| sequence_FunctionConvertToModel(context, (FunctionConvertToModel) semanticObject); |
| return; |
| case FunctionLibraryDSLPackage.FUNCTION_CONVERT_TO_PRESENTATION: |
| sequence_FunctionConvertToPresentation(context, (FunctionConvertToPresentation) semanticObject); |
| return; |
| case FunctionLibraryDSLPackage.FUNCTION_LIBRARY_ACTION_GROUP: |
| sequence_FunctionLibraryActionGroup(context, (FunctionLibraryActionGroup) semanticObject); |
| return; |
| case FunctionLibraryDSLPackage.FUNCTION_LIBRARY_BLIP_GROUP: |
| sequence_FunctionLibraryBlipGroup(context, (FunctionLibraryBlipGroup) semanticObject); |
| return; |
| case FunctionLibraryDSLPackage.FUNCTION_LIBRARY_CAN_EXECUTE: |
| sequence_FunctionLibraryCanExecute(context, (FunctionLibraryCanExecute) semanticObject); |
| return; |
| case FunctionLibraryDSLPackage.FUNCTION_LIBRARY_CONVERTER_GROUP: |
| sequence_FunctionLibraryConverterGroup(context, (FunctionLibraryConverterGroup) semanticObject); |
| return; |
| case FunctionLibraryDSLPackage.FUNCTION_LIBRARY_EXECUTE: |
| sequence_FunctionLibraryExecute(context, (FunctionLibraryExecute) semanticObject); |
| return; |
| case FunctionLibraryDSLPackage.FUNCTION_LIBRARY_FUNCTION: |
| sequence_FunctionLibraryFunction(context, (FunctionLibraryFunction) semanticObject); |
| return; |
| case FunctionLibraryDSLPackage.FUNCTION_LIBRARY_GROUP: |
| sequence_FunctionLibraryGroup(context, (FunctionLibraryGroup) semanticObject); |
| return; |
| case FunctionLibraryDSLPackage.FUNCTION_LIBRARY_GUARD: |
| sequence_FunctionLibraryGuard(context, (FunctionLibraryGuard) semanticObject); |
| return; |
| case FunctionLibraryDSLPackage.FUNCTION_LIBRARY_MODEL: |
| sequence_FunctionLibraryModel(context, (FunctionLibraryModel) semanticObject); |
| return; |
| case FunctionLibraryDSLPackage.FUNCTION_LIBRARY_OPERATION: |
| sequence_FunctionLibraryOperation(context, (FunctionLibraryOperation) semanticObject); |
| return; |
| case FunctionLibraryDSLPackage.FUNCTION_LIBRARY_PACKAGE: |
| sequence_FunctionLibraryPackage(context, (FunctionLibraryPackage) semanticObject); |
| return; |
| case FunctionLibraryDSLPackage.FUNCTION_LIBRARY_PARAMETER: |
| sequence_FunctionLibraryParameter(context, (FunctionLibraryParameter) semanticObject); |
| return; |
| case FunctionLibraryDSLPackage.FUNCTION_LIBRARY_RATE: |
| sequence_FunctionLibraryRate(context, (FunctionLibraryRate) semanticObject); |
| return; |
| case FunctionLibraryDSLPackage.FUNCTION_LIBRARY_RATING: |
| sequence_FunctionLibraryRating(context, (FunctionLibraryRating) semanticObject); |
| return; |
| case FunctionLibraryDSLPackage.FUNCTION_LIBRARY_RATING_ITEM: |
| sequence_FunctionLibraryRatingItem(context, (FunctionLibraryRatingItem) semanticObject); |
| return; |
| case FunctionLibraryDSLPackage.FUNCTION_LIBRARY_STATEMACHINE_GROUP: |
| sequence_FunctionLibraryStatemachineGroup(context, (FunctionLibraryStatemachineGroup) semanticObject); |
| return; |
| case FunctionLibraryDSLPackage.FUNCTION_LIBRARY_TEST: |
| sequence_FunctionLibraryTest(context, (FunctionLibraryTest) semanticObject); |
| return; |
| case FunctionLibraryDSLPackage.FUNCTION_LIBRARY_VALIDATION: |
| sequence_FunctionLibraryValidation(context, (FunctionLibraryValidation) semanticObject); |
| return; |
| case FunctionLibraryDSLPackage.FUNCTION_LIBRARY_VALIDATION_GROUP: |
| sequence_FunctionLibraryValidationGroup(context, (FunctionLibraryValidationGroup) semanticObject); |
| return; |
| } |
| else if (epackage == OXtypePackage.eINSTANCE) |
| switch (semanticObject.eClass().getClassifierID()) { |
| case OXtypePackage.OX_IMPORT_DECLARATION: |
| sequence_XImportDeclaration(context, (OXImportDeclaration) semanticObject); |
| return; |
| } |
| else if (epackage == TypesPackage.eINSTANCE) |
| switch (semanticObject.eClass().getClassifierID()) { |
| case TypesPackage.JVM_FORMAL_PARAMETER: |
| if (rule == grammarAccess.getFullJvmFormalParameterRule()) { |
| sequence_FullJvmFormalParameter(context, (JvmFormalParameter) semanticObject); |
| return; |
| } |
| else if (rule == 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 (rule == grammarAccess.getJvmLowerBoundAndedRule()) { |
| sequence_JvmLowerBoundAnded(context, (JvmLowerBound) semanticObject); |
| return; |
| } |
| else if (rule == grammarAccess.getJvmLowerBoundRule()) { |
| sequence_JvmLowerBound(context, (JvmLowerBound) semanticObject); |
| return; |
| } |
| else break; |
| case TypesPackage.JVM_PARAMETERIZED_TYPE_REFERENCE: |
| if (action == grammarAccess.getJvmParameterizedTypeReferenceAccess().getJvmInnerTypeReferenceOuterAction_1_4_0_0_0()) { |
| sequence_JvmParameterizedTypeReference_JvmInnerTypeReference_1_4_0_0_0(context, (JvmParameterizedTypeReference) semanticObject); |
| return; |
| } |
| else if (rule == grammarAccess.getJvmTypeReferenceRule() |
| || action == grammarAccess.getJvmTypeReferenceAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0() |
| || rule == grammarAccess.getJvmParameterizedTypeReferenceRule() |
| || rule == grammarAccess.getJvmArgumentTypeReferenceRule()) { |
| sequence_JvmParameterizedTypeReference(context, (JvmParameterizedTypeReference) semanticObject); |
| return; |
| } |
| else break; |
| case TypesPackage.JVM_TYPE_PARAMETER: |
| sequence_JvmTypeParameter(context, (JvmTypeParameter) semanticObject); |
| return; |
| case TypesPackage.JVM_UPPER_BOUND: |
| if (rule == grammarAccess.getJvmUpperBoundAndedRule()) { |
| sequence_JvmUpperBoundAnded(context, (JvmUpperBound) semanticObject); |
| return; |
| } |
| else if (rule == grammarAccess.getJvmUpperBoundRule()) { |
| sequence_JvmUpperBound(context, (JvmUpperBound) semanticObject); |
| return; |
| } |
| else break; |
| case TypesPackage.JVM_WILDCARD_TYPE_REFERENCE: |
| sequence_JvmWildcardTypeReference(context, (JvmWildcardTypeReference) semanticObject); |
| return; |
| } |
| else if (epackage == XAnnotationsPackage.eINSTANCE) |
| switch (semanticObject.eClass().getClassifierID()) { |
| case XAnnotationsPackage.XANNOTATION: |
| sequence_XAnnotation(context, (XAnnotation) semanticObject); |
| return; |
| case XAnnotationsPackage.XANNOTATION_ELEMENT_VALUE_PAIR: |
| sequence_XAnnotationElementValuePair(context, (XAnnotationElementValuePair) semanticObject); |
| return; |
| } |
| else if (epackage == 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 (rule == grammarAccess.getXAnnotationElementValueOrCommaListRule() |
| || action == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() |
| || rule == grammarAccess.getXAnnotationElementValueRule() |
| || rule == grammarAccess.getXAnnotationOrExpressionRule() |
| || rule == grammarAccess.getXExpressionRule() |
| || rule == grammarAccess.getXAssignmentRule() |
| || action == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() |
| || rule == grammarAccess.getXOrExpressionRule() |
| || action == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() |
| || rule == grammarAccess.getXAndExpressionRule() |
| || action == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() |
| || rule == grammarAccess.getXEqualityExpressionRule() |
| || action == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() |
| || rule == grammarAccess.getXRelationalExpressionRule() |
| || action == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() |
| || action == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() |
| || rule == grammarAccess.getXOtherOperatorExpressionRule() |
| || action == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() |
| || rule == grammarAccess.getXAdditiveExpressionRule() |
| || action == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() |
| || rule == grammarAccess.getXMultiplicativeExpressionRule() |
| || action == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() |
| || rule == grammarAccess.getXUnaryOperationRule() |
| || rule == grammarAccess.getXCastedExpressionRule() |
| || action == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() |
| || rule == grammarAccess.getXPostfixOperationRule() |
| || action == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() |
| || rule == grammarAccess.getXMemberFeatureCallRule() |
| || action == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() |
| || action == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() |
| || rule == grammarAccess.getXPrimaryExpressionRule() |
| || rule == grammarAccess.getXParenthesizedExpressionRule() |
| || rule == grammarAccess.getXBlockExpressionRule() |
| || rule == grammarAccess.getXExpressionOrVarDeclarationRule()) { |
| sequence_XBlockExpression(context, (XBlockExpression) semanticObject); |
| return; |
| } |
| else if (rule == 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 (rule == grammarAccess.getXAnnotationElementValueOrCommaListRule() |
| || action == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() |
| || rule == grammarAccess.getXAnnotationElementValueRule() |
| || rule == grammarAccess.getXAnnotationOrExpressionRule() |
| || rule == grammarAccess.getXExpressionRule() |
| || rule == grammarAccess.getXAssignmentRule() |
| || action == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() |
| || rule == grammarAccess.getXOrExpressionRule() |
| || action == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() |
| || rule == grammarAccess.getXAndExpressionRule() |
| || action == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() |
| || rule == grammarAccess.getXEqualityExpressionRule() |
| || action == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() |
| || rule == grammarAccess.getXRelationalExpressionRule() |
| || action == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() |
| || action == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() |
| || rule == grammarAccess.getXOtherOperatorExpressionRule() |
| || action == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() |
| || rule == grammarAccess.getXAdditiveExpressionRule() |
| || action == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() |
| || rule == grammarAccess.getXMultiplicativeExpressionRule() |
| || action == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() |
| || rule == grammarAccess.getXUnaryOperationRule() |
| || rule == grammarAccess.getXCastedExpressionRule() |
| || action == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() |
| || rule == grammarAccess.getXPostfixOperationRule() |
| || action == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() |
| || rule == grammarAccess.getXMemberFeatureCallRule() |
| || action == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() |
| || action == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() |
| || rule == grammarAccess.getXPrimaryExpressionRule() |
| || rule == grammarAccess.getXLiteralRule() |
| || rule == grammarAccess.getXClosureRule() |
| || rule == grammarAccess.getXParenthesizedExpressionRule() |
| || rule == grammarAccess.getXExpressionOrVarDeclarationRule()) { |
| sequence_XClosure(context, (XClosure) semanticObject); |
| return; |
| } |
| else if (rule == 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: |
| if (rule == grammarAccess.getXAnnotationElementValueOrCommaListRule()) { |
| sequence_XAnnotationElementValueOrCommaList_XListLiteral(context, (XListLiteral) semanticObject); |
| return; |
| } |
| else if (rule == grammarAccess.getXAnnotationElementValueRule()) { |
| sequence_XAnnotationElementValue_XListLiteral(context, (XListLiteral) semanticObject); |
| return; |
| } |
| else if (action == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() |
| || rule == grammarAccess.getXAnnotationOrExpressionRule() |
| || rule == grammarAccess.getXExpressionRule() |
| || rule == grammarAccess.getXAssignmentRule() |
| || action == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() |
| || rule == grammarAccess.getXOrExpressionRule() |
| || action == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() |
| || rule == grammarAccess.getXAndExpressionRule() |
| || action == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() |
| || rule == grammarAccess.getXEqualityExpressionRule() |
| || action == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() |
| || rule == grammarAccess.getXRelationalExpressionRule() |
| || action == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() |
| || action == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() |
| || rule == grammarAccess.getXOtherOperatorExpressionRule() |
| || action == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() |
| || rule == grammarAccess.getXAdditiveExpressionRule() |
| || action == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() |
| || rule == grammarAccess.getXMultiplicativeExpressionRule() |
| || action == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() |
| || rule == grammarAccess.getXUnaryOperationRule() |
| || rule == grammarAccess.getXCastedExpressionRule() |
| || action == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() |
| || rule == grammarAccess.getXPostfixOperationRule() |
| || action == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() |
| || rule == grammarAccess.getXMemberFeatureCallRule() |
| || action == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() |
| || action == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() |
| || rule == grammarAccess.getXPrimaryExpressionRule() |
| || rule == grammarAccess.getXLiteralRule() |
| || rule == grammarAccess.getXCollectionLiteralRule() |
| || rule == grammarAccess.getXListLiteralRule() |
| || rule == grammarAccess.getXParenthesizedExpressionRule() |
| || rule == grammarAccess.getXExpressionOrVarDeclarationRule()) { |
| sequence_XListLiteral(context, (XListLiteral) semanticObject); |
| return; |
| } |
| else break; |
| 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 (epackage == XtypePackage.eINSTANCE) |
| switch (semanticObject.eClass().getClassifierID()) { |
| case XtypePackage.XFUNCTION_TYPE_REF: |
| sequence_XFunctionTypeRef(context, (XFunctionTypeRef) semanticObject); |
| return; |
| case XtypePackage.XIMPORT_SECTION: |
| sequence_XImportSection(context, (XImportSection) semanticObject); |
| return; |
| } |
| if (errorAcceptor != null) |
| errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context)); |
| } |
| |
| /** |
| * Contexts: |
| * FunctionConvertToModel returns FunctionConvertToModel |
| * |
| * Constraint: |
| * body=XBlockExpression |
| */ |
| protected void sequence_FunctionConvertToModel(ISerializationContext context, FunctionConvertToModel semanticObject) { |
| if (errorAcceptor != null) { |
| if (transientValues.isValueTransient(semanticObject, FunctionLibraryDSLPackage.Literals.FUNCTION_LIBRARY_BASE_FUNCTION__BODY) == ValueTransient.YES) |
| errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FunctionLibraryDSLPackage.Literals.FUNCTION_LIBRARY_BASE_FUNCTION__BODY)); |
| } |
| SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); |
| feeder.accept(grammarAccess.getFunctionConvertToModelAccess().getBodyXBlockExpressionParserRuleCall_1_0(), semanticObject.getBody()); |
| feeder.finish(); |
| } |
| |
| |
| /** |
| * Contexts: |
| * FunctionConvertToPresentation returns FunctionConvertToPresentation |
| * |
| * Constraint: |
| * body=XBlockExpression |
| */ |
| protected void sequence_FunctionConvertToPresentation(ISerializationContext context, FunctionConvertToPresentation semanticObject) { |
| if (errorAcceptor != null) { |
| if (transientValues.isValueTransient(semanticObject, FunctionLibraryDSLPackage.Literals.FUNCTION_LIBRARY_BASE_FUNCTION__BODY) == ValueTransient.YES) |
| errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FunctionLibraryDSLPackage.Literals.FUNCTION_LIBRARY_BASE_FUNCTION__BODY)); |
| } |
| SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); |
| feeder.accept(grammarAccess.getFunctionConvertToPresentationAccess().getBodyXBlockExpressionParserRuleCall_1_0(), semanticObject.getBody()); |
| feeder.finish(); |
| } |
| |
| |
| /** |
| * Contexts: |
| * FunctionLibraryActionGroup returns FunctionLibraryActionGroup |
| * |
| * Constraint: |
| * (name=ValidID (executes+=FunctionLibraryExecute | canExecutes+=FunctionLibraryCanExecute)*) |
| */ |
| protected void sequence_FunctionLibraryActionGroup(ISerializationContext context, FunctionLibraryActionGroup semanticObject) { |
| genericSequencer.createSequence(context, semanticObject); |
| } |
| |
| |
| /** |
| * Contexts: |
| * FunctionLibraryBlipGroup returns FunctionLibraryBlipGroup |
| * |
| * Constraint: |
| * (name=ValidID (functions+=FunctionLibraryFunction | tests+=FunctionLibraryTest | rates+=FunctionLibraryRate)*) |
| */ |
| protected void sequence_FunctionLibraryBlipGroup(ISerializationContext context, FunctionLibraryBlipGroup semanticObject) { |
| genericSequencer.createSequence(context, semanticObject); |
| } |
| |
| |
| /** |
| * Contexts: |
| * FunctionLibraryCanExecute returns FunctionLibraryCanExecute |
| * |
| * Constraint: |
| * (name=ValidID (params+=FunctionLibraryParameter params+=FunctionLibraryParameter*)? body=XBlockExpression) |
| */ |
| protected void sequence_FunctionLibraryCanExecute(ISerializationContext context, FunctionLibraryCanExecute semanticObject) { |
| genericSequencer.createSequence(context, semanticObject); |
| } |
| |
| |
| /** |
| * Contexts: |
| * FunctionLibraryConverterGroup returns FunctionLibraryConverterGroup |
| * |
| * Constraint: |
| * ( |
| * name=ValidID |
| * convertToModelDatatype=[LDataType|TYPE_CROSS_REFERENCE] |
| * convertToPresentationDatatype=[LDataType|TYPE_CROSS_REFERENCE] |
| * convertToModel=FunctionConvertToModel |
| * convertToPresentation=FunctionConvertToPresentation |
| * ) |
| */ |
| protected void sequence_FunctionLibraryConverterGroup(ISerializationContext context, FunctionLibraryConverterGroup semanticObject) { |
| if (errorAcceptor != null) { |
| if (transientValues.isValueTransient(semanticObject, FunctionLibraryDSLPackage.Literals.FUNCTION_LIBRARY_GROUP__NAME) == ValueTransient.YES) |
| errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FunctionLibraryDSLPackage.Literals.FUNCTION_LIBRARY_GROUP__NAME)); |
| if (transientValues.isValueTransient(semanticObject, FunctionLibraryDSLPackage.Literals.FUNCTION_LIBRARY_CONVERTER_GROUP__CONVERT_TO_MODEL_DATATYPE) == ValueTransient.YES) |
| errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FunctionLibraryDSLPackage.Literals.FUNCTION_LIBRARY_CONVERTER_GROUP__CONVERT_TO_MODEL_DATATYPE)); |
| if (transientValues.isValueTransient(semanticObject, FunctionLibraryDSLPackage.Literals.FUNCTION_LIBRARY_CONVERTER_GROUP__CONVERT_TO_PRESENTATION_DATATYPE) == ValueTransient.YES) |
| errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FunctionLibraryDSLPackage.Literals.FUNCTION_LIBRARY_CONVERTER_GROUP__CONVERT_TO_PRESENTATION_DATATYPE)); |
| if (transientValues.isValueTransient(semanticObject, FunctionLibraryDSLPackage.Literals.FUNCTION_LIBRARY_GROUP__CONVERT_TO_MODEL) == ValueTransient.YES) |
| errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FunctionLibraryDSLPackage.Literals.FUNCTION_LIBRARY_GROUP__CONVERT_TO_MODEL)); |
| if (transientValues.isValueTransient(semanticObject, FunctionLibraryDSLPackage.Literals.FUNCTION_LIBRARY_GROUP__CONVERT_TO_PRESENTATION) == ValueTransient.YES) |
| errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FunctionLibraryDSLPackage.Literals.FUNCTION_LIBRARY_GROUP__CONVERT_TO_PRESENTATION)); |
| } |
| SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); |
| feeder.accept(grammarAccess.getFunctionLibraryConverterGroupAccess().getNameValidIDParserRuleCall_1_0(), semanticObject.getName()); |
| feeder.accept(grammarAccess.getFunctionLibraryConverterGroupAccess().getConvertToModelDatatypeLDataTypeTYPE_CROSS_REFERENCEParserRuleCall_4_0_1(), semanticObject.eGet(FunctionLibraryDSLPackage.Literals.FUNCTION_LIBRARY_CONVERTER_GROUP__CONVERT_TO_MODEL_DATATYPE, false)); |
| feeder.accept(grammarAccess.getFunctionLibraryConverterGroupAccess().getConvertToPresentationDatatypeLDataTypeTYPE_CROSS_REFERENCEParserRuleCall_6_0_1(), semanticObject.eGet(FunctionLibraryDSLPackage.Literals.FUNCTION_LIBRARY_CONVERTER_GROUP__CONVERT_TO_PRESENTATION_DATATYPE, false)); |
| feeder.accept(grammarAccess.getFunctionLibraryConverterGroupAccess().getConvertToModelFunctionConvertToModelParserRuleCall_7_0(), semanticObject.getConvertToModel()); |
| feeder.accept(grammarAccess.getFunctionLibraryConverterGroupAccess().getConvertToPresentationFunctionConvertToPresentationParserRuleCall_8_0(), semanticObject.getConvertToPresentation()); |
| feeder.finish(); |
| } |
| |
| |
| /** |
| * Contexts: |
| * FunctionLibraryExecute returns FunctionLibraryExecute |
| * |
| * Constraint: |
| * (name=ValidID (params+=FunctionLibraryParameter params+=FunctionLibraryParameter*)? body=XBlockExpression) |
| */ |
| protected void sequence_FunctionLibraryExecute(ISerializationContext context, FunctionLibraryExecute semanticObject) { |
| genericSequencer.createSequence(context, semanticObject); |
| } |
| |
| |
| /** |
| * Contexts: |
| * FunctionLibraryFunction returns FunctionLibraryFunction |
| * |
| * Constraint: |
| * (name=ValidID (params+=FunctionLibraryParameter params+=FunctionLibraryParameter*)? oftype=JvmParameterizedTypeReference body=XBlockExpression) |
| */ |
| protected void sequence_FunctionLibraryFunction(ISerializationContext context, FunctionLibraryFunction semanticObject) { |
| genericSequencer.createSequence(context, semanticObject); |
| } |
| |
| |
| /** |
| * Contexts: |
| * FunctionLibraryGroup returns FunctionLibraryGroup |
| * |
| * Constraint: |
| * (name=ValidID (functions+=FunctionLibraryFunction | tests+=FunctionLibraryTest | rates+=FunctionLibraryRate)*) |
| */ |
| protected void sequence_FunctionLibraryGroup(ISerializationContext context, FunctionLibraryGroup semanticObject) { |
| genericSequencer.createSequence(context, semanticObject); |
| } |
| |
| |
| /** |
| * Contexts: |
| * FunctionLibraryGuard returns FunctionLibraryGuard |
| * |
| * Constraint: |
| * (name=ValidID (params+=FunctionLibraryParameter params+=FunctionLibraryParameter*)? body=XBlockExpression) |
| */ |
| protected void sequence_FunctionLibraryGuard(ISerializationContext context, FunctionLibraryGuard semanticObject) { |
| genericSequencer.createSequence(context, semanticObject); |
| } |
| |
| |
| /** |
| * Contexts: |
| * FunctionLibraryModel returns FunctionLibraryModel |
| * |
| * Constraint: |
| * (importSection=XImportSection? pckg=FunctionLibraryPackage) |
| */ |
| protected void sequence_FunctionLibraryModel(ISerializationContext context, FunctionLibraryModel semanticObject) { |
| genericSequencer.createSequence(context, semanticObject); |
| } |
| |
| |
| /** |
| * Contexts: |
| * FunctionLibraryOperation returns FunctionLibraryOperation |
| * |
| * Constraint: |
| * (name=ValidID (params+=FunctionLibraryParameter params+=FunctionLibraryParameter*)? body=XBlockExpression) |
| */ |
| protected void sequence_FunctionLibraryOperation(ISerializationContext context, FunctionLibraryOperation semanticObject) { |
| genericSequencer.createSequence(context, semanticObject); |
| } |
| |
| |
| /** |
| * Contexts: |
| * FunctionLibraryPackage returns FunctionLibraryPackage |
| * |
| * Constraint: |
| * ( |
| * name=QualifiedName |
| * ( |
| * groups+=FunctionLibraryGroup | |
| * groups+=FunctionLibraryBlipGroup | |
| * groups+=FunctionLibraryConverterGroup | |
| * groups+=FunctionLibraryStatemachineGroup | |
| * groups+=FunctionLibraryActionGroup | |
| * groups+=FunctionLibraryValidationGroup | |
| * ratings+=FunctionLibraryRating |
| * )* |
| * ) |
| */ |
| protected void sequence_FunctionLibraryPackage(ISerializationContext context, FunctionLibraryPackage semanticObject) { |
| genericSequencer.createSequence(context, semanticObject); |
| } |
| |
| |
| /** |
| * Contexts: |
| * FunctionLibraryParameter returns FunctionLibraryParameter |
| * |
| * Constraint: |
| * (parameterType=JvmTypeReference name=ValidID) |
| */ |
| protected void sequence_FunctionLibraryParameter(ISerializationContext context, FunctionLibraryParameter semanticObject) { |
| if (errorAcceptor != null) { |
| if (transientValues.isValueTransient(semanticObject, FunctionLibraryDSLPackage.Literals.FUNCTION_LIBRARY_PARAMETER__PARAMETER_TYPE) == ValueTransient.YES) |
| errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FunctionLibraryDSLPackage.Literals.FUNCTION_LIBRARY_PARAMETER__PARAMETER_TYPE)); |
| if (transientValues.isValueTransient(semanticObject, FunctionLibraryDSLPackage.Literals.FUNCTION_LIBRARY_PARAMETER__NAME) == ValueTransient.YES) |
| errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FunctionLibraryDSLPackage.Literals.FUNCTION_LIBRARY_PARAMETER__NAME)); |
| } |
| SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); |
| feeder.accept(grammarAccess.getFunctionLibraryParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0(), semanticObject.getParameterType()); |
| feeder.accept(grammarAccess.getFunctionLibraryParameterAccess().getNameValidIDParserRuleCall_1_0(), semanticObject.getName()); |
| feeder.finish(); |
| } |
| |
| |
| /** |
| * Contexts: |
| * FunctionLibraryRate returns FunctionLibraryRate |
| * |
| * Constraint: |
| * (name=ValidID (params+=FunctionLibraryParameter params+=FunctionLibraryParameter*)? oftype=[FunctionLibraryRating|ID] body=XBlockExpression) |
| */ |
| protected void sequence_FunctionLibraryRate(ISerializationContext context, FunctionLibraryRate semanticObject) { |
| genericSequencer.createSequence(context, semanticObject); |
| } |
| |
| |
| /** |
| * Contexts: |
| * FunctionLibraryRatingItem returns FunctionLibraryRatingItem |
| * |
| * Constraint: |
| * name=ValidID |
| */ |
| protected void sequence_FunctionLibraryRatingItem(ISerializationContext context, FunctionLibraryRatingItem semanticObject) { |
| if (errorAcceptor != null) { |
| if (transientValues.isValueTransient(semanticObject, FunctionLibraryDSLPackage.Literals.FUNCTION_LIBRARY_RATING_ITEM__NAME) == ValueTransient.YES) |
| errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FunctionLibraryDSLPackage.Literals.FUNCTION_LIBRARY_RATING_ITEM__NAME)); |
| } |
| SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); |
| feeder.accept(grammarAccess.getFunctionLibraryRatingItemAccess().getNameValidIDParserRuleCall_0(), semanticObject.getName()); |
| feeder.finish(); |
| } |
| |
| |
| /** |
| * Contexts: |
| * FunctionLibraryRating returns FunctionLibraryRating |
| * |
| * Constraint: |
| * (name=ValidID items+=FunctionLibraryRatingItem*) |
| */ |
| protected void sequence_FunctionLibraryRating(ISerializationContext context, FunctionLibraryRating semanticObject) { |
| genericSequencer.createSequence(context, semanticObject); |
| } |
| |
| |
| /** |
| * Contexts: |
| * FunctionLibraryStatemachineGroup returns FunctionLibraryStatemachineGroup |
| * |
| * Constraint: |
| * (name=ValidID (operations+=FunctionLibraryOperation | guards+=FunctionLibraryGuard | functions+=FunctionLibraryFunction)*) |
| */ |
| protected void sequence_FunctionLibraryStatemachineGroup(ISerializationContext context, FunctionLibraryStatemachineGroup semanticObject) { |
| genericSequencer.createSequence(context, semanticObject); |
| } |
| |
| |
| /** |
| * Contexts: |
| * FunctionLibraryTest returns FunctionLibraryTest |
| * |
| * Constraint: |
| * (name=ValidID (params+=FunctionLibraryParameter params+=FunctionLibraryParameter*)? body=XBlockExpression) |
| */ |
| protected void sequence_FunctionLibraryTest(ISerializationContext context, FunctionLibraryTest semanticObject) { |
| genericSequencer.createSequence(context, semanticObject); |
| } |
| |
| |
| /** |
| * Contexts: |
| * FunctionLibraryValidationGroup returns FunctionLibraryValidationGroup |
| * |
| * Constraint: |
| * (name=ValidID (validators+=FunctionLibraryValidation | functions+=FunctionLibraryFunction)*) |
| */ |
| protected void sequence_FunctionLibraryValidationGroup(ISerializationContext context, FunctionLibraryValidationGroup semanticObject) { |
| genericSequencer.createSequence(context, semanticObject); |
| } |
| |
| |
| /** |
| * Contexts: |
| * FunctionLibraryValidation returns FunctionLibraryValidation |
| * |
| * Constraint: |
| * (name=ValidID (params+=FunctionLibraryParameter params+=FunctionLibraryParameter*)? body=XBlockExpression) |
| */ |
| protected void sequence_FunctionLibraryValidation(ISerializationContext context, FunctionLibraryValidation semanticObject) { |
| genericSequencer.createSequence(context, semanticObject); |
| } |
| |
| |
| } |