/******************************************************************************* * Copyright (c) 2011, 2016 Willink Transformations and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * E.D.Willink - initial API and implementation *******************************************************************************/ package org.eclipse.ocl.xtext.oclstdlib.serializer; import com.google.inject.Inject; import com.google.inject.Provider; import org.eclipse.emf.ecore.EObject; import org.eclipse.ocl.xtext.basecs.AnnotationCS; import org.eclipse.ocl.xtext.basecs.BaseCSPackage; import org.eclipse.ocl.xtext.basecs.DetailCS; import org.eclipse.ocl.xtext.basecs.DocumentationCS; import org.eclipse.ocl.xtext.basecs.ImportCS; import org.eclipse.ocl.xtext.basecs.LambdaTypeCS; import org.eclipse.ocl.xtext.basecs.MultiplicityBoundsCS; import org.eclipse.ocl.xtext.basecs.MultiplicityStringCS; import org.eclipse.ocl.xtext.basecs.PackageCS; import org.eclipse.ocl.xtext.basecs.ParameterCS; import org.eclipse.ocl.xtext.basecs.PathElementCS; import org.eclipse.ocl.xtext.basecs.PathElementWithURICS; import org.eclipse.ocl.xtext.basecs.PathNameCS; import org.eclipse.ocl.xtext.basecs.PrimitiveTypeRefCS; import org.eclipse.ocl.xtext.basecs.TemplateBindingCS; import org.eclipse.ocl.xtext.basecs.TemplateParameterSubstitutionCS; import org.eclipse.ocl.xtext.basecs.TemplateSignatureCS; import org.eclipse.ocl.xtext.basecs.TuplePartCS; import org.eclipse.ocl.xtext.basecs.TupleTypeCS; import org.eclipse.ocl.xtext.basecs.TypeParameterCS; import org.eclipse.ocl.xtext.basecs.TypedTypeRefCS; import org.eclipse.ocl.xtext.basecs.WildcardTypeRefCS; import org.eclipse.ocl.xtext.essentialocl.serializer.EssentialOCLSemanticSequencer; import org.eclipse.ocl.xtext.essentialoclcs.BooleanLiteralExpCS; import org.eclipse.ocl.xtext.essentialoclcs.CollectionLiteralExpCS; import org.eclipse.ocl.xtext.essentialoclcs.CollectionLiteralPartCS; import org.eclipse.ocl.xtext.essentialoclcs.CollectionPatternCS; import org.eclipse.ocl.xtext.essentialoclcs.CollectionTypeCS; import org.eclipse.ocl.xtext.essentialoclcs.ContextCS; import org.eclipse.ocl.xtext.essentialoclcs.CurlyBracketedClauseCS; import org.eclipse.ocl.xtext.essentialoclcs.EssentialOCLCSPackage; import org.eclipse.ocl.xtext.essentialoclcs.ExpSpecificationCS; import org.eclipse.ocl.xtext.essentialoclcs.IfExpCS; import org.eclipse.ocl.xtext.essentialoclcs.IfThenExpCS; import org.eclipse.ocl.xtext.essentialoclcs.InfixExpCS; import org.eclipse.ocl.xtext.essentialoclcs.InvalidLiteralExpCS; import org.eclipse.ocl.xtext.essentialoclcs.LambdaLiteralExpCS; import org.eclipse.ocl.xtext.essentialoclcs.LetExpCS; import org.eclipse.ocl.xtext.essentialoclcs.LetVariableCS; import org.eclipse.ocl.xtext.essentialoclcs.MapLiteralExpCS; import org.eclipse.ocl.xtext.essentialoclcs.MapLiteralPartCS; import org.eclipse.ocl.xtext.essentialoclcs.MapTypeCS; import org.eclipse.ocl.xtext.essentialoclcs.NameExpCS; import org.eclipse.ocl.xtext.essentialoclcs.NavigatingArgCS; import org.eclipse.ocl.xtext.essentialoclcs.NestedExpCS; import org.eclipse.ocl.xtext.essentialoclcs.NullLiteralExpCS; import org.eclipse.ocl.xtext.essentialoclcs.NumberLiteralExpCS; import org.eclipse.ocl.xtext.essentialoclcs.PatternExpCS; import org.eclipse.ocl.xtext.essentialoclcs.PrefixExpCS; import org.eclipse.ocl.xtext.essentialoclcs.RoundBracketedClauseCS; import org.eclipse.ocl.xtext.essentialoclcs.SelfExpCS; import org.eclipse.ocl.xtext.essentialoclcs.ShadowPartCS; import org.eclipse.ocl.xtext.essentialoclcs.SquareBracketedClauseCS; import org.eclipse.ocl.xtext.essentialoclcs.StringLiteralExpCS; import org.eclipse.ocl.xtext.essentialoclcs.TupleLiteralExpCS; import org.eclipse.ocl.xtext.essentialoclcs.TupleLiteralPartCS; import org.eclipse.ocl.xtext.essentialoclcs.TypeLiteralExpCS; import org.eclipse.ocl.xtext.essentialoclcs.TypeNameExpCS; import org.eclipse.ocl.xtext.essentialoclcs.UnlimitedNaturalLiteralExpCS; import org.eclipse.ocl.xtext.oclstdlib.services.OCLstdlibGrammarAccess; import org.eclipse.ocl.xtext.oclstdlibcs.LibClassCS; import org.eclipse.ocl.xtext.oclstdlibcs.LibCoercionCS; import org.eclipse.ocl.xtext.oclstdlibcs.LibConstraintCS; import org.eclipse.ocl.xtext.oclstdlibcs.LibIterationCS; import org.eclipse.ocl.xtext.oclstdlibcs.LibOperationCS; import org.eclipse.ocl.xtext.oclstdlibcs.LibPackageCS; import org.eclipse.ocl.xtext.oclstdlibcs.LibPropertyCS; import org.eclipse.ocl.xtext.oclstdlibcs.LibRootPackageCS; import org.eclipse.ocl.xtext.oclstdlibcs.OCLstdlibCSPackage; import org.eclipse.ocl.xtext.oclstdlibcs.PrecedenceCS; 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; @SuppressWarnings("all") public abstract class AbstractOCLstdlibSemanticSequencer extends EssentialOCLSemanticSequencer { @Inject private OCLstdlibGrammarAccess grammarAccess; @Override public void createSequence(EObject context, EObject semanticObject) { if(semanticObject.eClass().getEPackage() == BaseCSPackage.eINSTANCE) switch(semanticObject.eClass().getClassifierID()) { case BaseCSPackage.ANNOTATION_CS: sequence_AnnotationCS(context, (AnnotationCS) semanticObject); return; case BaseCSPackage.DETAIL_CS: sequence_DetailCS(context, (DetailCS) semanticObject); return; case BaseCSPackage.DOCUMENTATION_CS: sequence_DocumentationCS(context, (DocumentationCS) semanticObject); return; case BaseCSPackage.IMPORT_CS: sequence_ImportCS(context, (ImportCS) semanticObject); return; case BaseCSPackage.LAMBDA_TYPE_CS: if(context == grammarAccess.getLambdaTypeCSRule() || context == grammarAccess.getTypeRefCSRule() || context == grammarAccess.getTypedRefCSRule()) { sequence_LambdaTypeCS(context, (LambdaTypeCS) semanticObject); return; } else if(context == grammarAccess.getTypedMultiplicityRefCSRule()) { sequence_LambdaTypeCS_TypedMultiplicityRefCS(context, (LambdaTypeCS) semanticObject); return; } else break; case BaseCSPackage.MULTIPLICITY_BOUNDS_CS: if(context == grammarAccess.getMultiplicityBoundsCSRule()) { sequence_MultiplicityBoundsCS(context, (MultiplicityBoundsCS) semanticObject); return; } else if(context == grammarAccess.getMultiplicityCSRule()) { sequence_MultiplicityBoundsCS_MultiplicityCS(context, (MultiplicityBoundsCS) semanticObject); return; } else break; case BaseCSPackage.MULTIPLICITY_STRING_CS: if(context == grammarAccess.getMultiplicityCSRule()) { sequence_MultiplicityCS_MultiplicityStringCS(context, (MultiplicityStringCS) semanticObject); return; } else if(context == grammarAccess.getMultiplicityStringCSRule()) { sequence_MultiplicityStringCS(context, (MultiplicityStringCS) semanticObject); return; } else break; case BaseCSPackage.PACKAGE_CS: sequence_PackageCS(context, (PackageCS) semanticObject); return; case BaseCSPackage.PARAMETER_CS: if(context == grammarAccess.getAccumulatorCSRule()) { sequence_AccumulatorCS(context, (ParameterCS) semanticObject); return; } else if(context == grammarAccess.getIteratorCSRule()) { sequence_IteratorCS(context, (ParameterCS) semanticObject); return; } else if(context == grammarAccess.getParameterCSRule()) { sequence_ParameterCS(context, (ParameterCS) semanticObject); return; } else break; case BaseCSPackage.PATH_ELEMENT_CS: if(context == grammarAccess.getFirstPathElementCSRule()) { sequence_FirstPathElementCS(context, (PathElementCS) semanticObject); return; } else if(context == grammarAccess.getLibPathElementCSRule()) { sequence_LibPathElementCS(context, (PathElementCS) semanticObject); return; } else if(context == grammarAccess.getNextPathElementCSRule()) { sequence_NextPathElementCS(context, (PathElementCS) semanticObject); return; } else if(context == grammarAccess.getURIFirstPathElementCSRule()) { sequence_URIFirstPathElementCS(context, (PathElementCS) semanticObject); return; } else break; case BaseCSPackage.PATH_ELEMENT_WITH_URICS: sequence_URIFirstPathElementCS(context, (PathElementWithURICS) semanticObject); return; case BaseCSPackage.PATH_NAME_CS: if(context == grammarAccess.getLibPathNameCSRule()) { sequence_LibPathNameCS(context, (PathNameCS) semanticObject); return; } else if(context == grammarAccess.getPathNameCSRule()) { sequence_PathNameCS(context, (PathNameCS) semanticObject); return; } else if(context == grammarAccess.getURIPathNameCSRule()) { sequence_URIPathNameCS(context, (PathNameCS) semanticObject); return; } else break; case BaseCSPackage.PRIMITIVE_TYPE_REF_CS: if(context == grammarAccess.getPrimitiveTypeCSRule() || context == grammarAccess.getTypeLiteralCSRule()) { sequence_PrimitiveTypeCS(context, (PrimitiveTypeRefCS) semanticObject); return; } else if(context == grammarAccess.getTypeExpCSRule()) { sequence_PrimitiveTypeCS_TypeExpCS(context, (PrimitiveTypeRefCS) semanticObject); return; } else if(context == grammarAccess.getTypeLiteralWithMultiplicityCSRule()) { sequence_PrimitiveTypeCS_TypeLiteralWithMultiplicityCS(context, (PrimitiveTypeRefCS) semanticObject); return; } else break; case BaseCSPackage.TEMPLATE_BINDING_CS: sequence_TemplateBindingCS(context, (TemplateBindingCS) semanticObject); return; case BaseCSPackage.TEMPLATE_PARAMETER_SUBSTITUTION_CS: sequence_TemplateParameterSubstitutionCS(context, (TemplateParameterSubstitutionCS) semanticObject); return; case BaseCSPackage.TEMPLATE_SIGNATURE_CS: sequence_TemplateSignatureCS(context, (TemplateSignatureCS) semanticObject); return; case BaseCSPackage.TUPLE_PART_CS: sequence_TuplePartCS(context, (TuplePartCS) semanticObject); return; case BaseCSPackage.TUPLE_TYPE_CS: if(context == grammarAccess.getTupleTypeCSRule() || context == grammarAccess.getTypeLiteralCSRule() || context == grammarAccess.getTypeRefCSRule() || context == grammarAccess.getTypedRefCSRule()) { sequence_TupleTypeCS(context, (TupleTypeCS) semanticObject); return; } else if(context == grammarAccess.getTypeExpCSRule()) { sequence_TupleTypeCS_TypeExpCS(context, (TupleTypeCS) semanticObject); return; } else if(context == grammarAccess.getTypeLiteralWithMultiplicityCSRule()) { sequence_TupleTypeCS_TypeLiteralWithMultiplicityCS(context, (TupleTypeCS) semanticObject); return; } else if(context == grammarAccess.getTypedMultiplicityRefCSRule()) { sequence_TupleTypeCS_TypedMultiplicityRefCS(context, (TupleTypeCS) semanticObject); return; } else break; case BaseCSPackage.TYPE_PARAMETER_CS: sequence_TypeParameterCS(context, (TypeParameterCS) semanticObject); return; case BaseCSPackage.TYPED_TYPE_REF_CS: if(context == grammarAccess.getLambdaContextTypeRefCSRule()) { sequence_LambdaContextTypeRefCS(context, (TypedTypeRefCS) semanticObject); return; } else if(context == grammarAccess.getTypedMultiplicityRefCSRule()) { sequence_TypedMultiplicityRefCS_TypedTypeRefCS(context, (TypedTypeRefCS) semanticObject); return; } else if(context == grammarAccess.getTypeRefCSRule() || context == grammarAccess.getTypedRefCSRule() || context == grammarAccess.getTypedTypeRefCSRule()) { sequence_TypedTypeRefCS(context, (TypedTypeRefCS) semanticObject); return; } else break; case BaseCSPackage.WILDCARD_TYPE_REF_CS: sequence_WildcardTypeRefCS(context, (WildcardTypeRefCS) semanticObject); return; } else if(semanticObject.eClass().getEPackage() == EssentialOCLCSPackage.eINSTANCE) switch(semanticObject.eClass().getClassifierID()) { case EssentialOCLCSPackage.BOOLEAN_LITERAL_EXP_CS: sequence_BooleanLiteralExpCS(context, (BooleanLiteralExpCS) semanticObject); return; case EssentialOCLCSPackage.COLLECTION_LITERAL_EXP_CS: sequence_CollectionLiteralExpCS(context, (CollectionLiteralExpCS) semanticObject); return; case EssentialOCLCSPackage.COLLECTION_LITERAL_PART_CS: sequence_CollectionLiteralPartCS(context, (CollectionLiteralPartCS) semanticObject); return; case EssentialOCLCSPackage.COLLECTION_PATTERN_CS: if(context == grammarAccess.getCollectionPatternCSRule()) { sequence_CollectionPatternCS(context, (CollectionPatternCS) semanticObject); return; } else if(context == grammarAccess.getTypeExpCSRule()) { sequence_CollectionPatternCS_TypeExpCS(context, (CollectionPatternCS) semanticObject); return; } else break; case EssentialOCLCSPackage.COLLECTION_TYPE_CS: if(context == grammarAccess.getCollectionTypeCSRule() || context == grammarAccess.getTypeLiteralCSRule()) { sequence_CollectionTypeCS(context, (CollectionTypeCS) semanticObject); return; } else if(context == grammarAccess.getTypeExpCSRule()) { sequence_CollectionTypeCS_TypeExpCS(context, (CollectionTypeCS) semanticObject); return; } else if(context == grammarAccess.getTypeLiteralWithMultiplicityCSRule()) { sequence_CollectionTypeCS_TypeLiteralWithMultiplicityCS(context, (CollectionTypeCS) semanticObject); return; } else break; case EssentialOCLCSPackage.CONTEXT_CS: sequence_Model(context, (ContextCS) semanticObject); return; case EssentialOCLCSPackage.CURLY_BRACKETED_CLAUSE_CS: sequence_CurlyBracketedClauseCS(context, (CurlyBracketedClauseCS) semanticObject); return; case EssentialOCLCSPackage.EXP_SPECIFICATION_CS: sequence_SpecificationCS(context, (ExpSpecificationCS) semanticObject); return; case EssentialOCLCSPackage.IF_EXP_CS: sequence_IfExpCS(context, (IfExpCS) semanticObject); return; case EssentialOCLCSPackage.IF_THEN_EXP_CS: sequence_ElseIfThenExpCS(context, (IfThenExpCS) semanticObject); return; case EssentialOCLCSPackage.INFIX_EXP_CS: sequence_ExpCS(context, (InfixExpCS) semanticObject); return; case EssentialOCLCSPackage.INVALID_LITERAL_EXP_CS: sequence_InvalidLiteralExpCS(context, (InvalidLiteralExpCS) semanticObject); return; case EssentialOCLCSPackage.LAMBDA_LITERAL_EXP_CS: sequence_LambdaLiteralExpCS(context, (LambdaLiteralExpCS) semanticObject); return; case EssentialOCLCSPackage.LET_EXP_CS: sequence_LetExpCS(context, (LetExpCS) semanticObject); return; case EssentialOCLCSPackage.LET_VARIABLE_CS: sequence_LetVariableCS(context, (LetVariableCS) semanticObject); return; case EssentialOCLCSPackage.MAP_LITERAL_EXP_CS: sequence_MapLiteralExpCS(context, (MapLiteralExpCS) semanticObject); return; case EssentialOCLCSPackage.MAP_LITERAL_PART_CS: sequence_MapLiteralPartCS(context, (MapLiteralPartCS) semanticObject); return; case EssentialOCLCSPackage.MAP_TYPE_CS: if(context == grammarAccess.getMapTypeCSRule() || context == grammarAccess.getTypeLiteralCSRule() || context == grammarAccess.getTypeRefCSRule() || context == grammarAccess.getTypedRefCSRule()) { sequence_MapTypeCS(context, (MapTypeCS) semanticObject); return; } else if(context == grammarAccess.getTypeExpCSRule()) { sequence_MapTypeCS_TypeExpCS(context, (MapTypeCS) semanticObject); return; } else if(context == grammarAccess.getTypeLiteralWithMultiplicityCSRule()) { sequence_MapTypeCS_TypeLiteralWithMultiplicityCS(context, (MapTypeCS) semanticObject); return; } else if(context == grammarAccess.getTypedMultiplicityRefCSRule()) { sequence_MapTypeCS_TypedMultiplicityRefCS(context, (MapTypeCS) semanticObject); return; } else break; case EssentialOCLCSPackage.NAME_EXP_CS: sequence_NameExpCS(context, (NameExpCS) semanticObject); return; case EssentialOCLCSPackage.NAVIGATING_ARG_CS: if(context == grammarAccess.getNavigatingArgCSRule()) { sequence_NavigatingArgCS(context, (NavigatingArgCS) semanticObject); return; } else if(context == grammarAccess.getNavigatingBarArgCSRule()) { sequence_NavigatingBarArgCS(context, (NavigatingArgCS) semanticObject); return; } else if(context == grammarAccess.getNavigatingCommaArgCSRule()) { sequence_NavigatingCommaArgCS(context, (NavigatingArgCS) semanticObject); return; } else if(context == grammarAccess.getNavigatingSemiArgCSRule()) { sequence_NavigatingSemiArgCS(context, (NavigatingArgCS) semanticObject); return; } else break; case EssentialOCLCSPackage.NESTED_EXP_CS: sequence_NestedExpCS(context, (NestedExpCS) semanticObject); return; case EssentialOCLCSPackage.NULL_LITERAL_EXP_CS: sequence_NullLiteralExpCS(context, (NullLiteralExpCS) semanticObject); return; case EssentialOCLCSPackage.NUMBER_LITERAL_EXP_CS: sequence_NumberLiteralExpCS(context, (NumberLiteralExpCS) semanticObject); return; case EssentialOCLCSPackage.PATTERN_EXP_CS: sequence_PatternExpCS(context, (PatternExpCS) semanticObject); return; case EssentialOCLCSPackage.PREFIX_EXP_CS: if(context == grammarAccess.getPrefixedLetExpCSRule()) { sequence_PrefixedLetExpCS(context, (PrefixExpCS) semanticObject); return; } else if(context == grammarAccess.getExpCSRule() || context == grammarAccess.getNavigatingArgExpCSRule()) { sequence_PrefixedLetExpCS_PrefixedPrimaryExpCS(context, (PrefixExpCS) semanticObject); return; } else if(context == grammarAccess.getExpCSAccess().getInfixExpCSOwnedLeftAction_0_1_0() || context == grammarAccess.getPrefixedPrimaryExpCSRule()) { sequence_PrefixedPrimaryExpCS(context, (PrefixExpCS) semanticObject); return; } else break; case EssentialOCLCSPackage.ROUND_BRACKETED_CLAUSE_CS: sequence_RoundBracketedClauseCS(context, (RoundBracketedClauseCS) semanticObject); return; case EssentialOCLCSPackage.SELF_EXP_CS: sequence_SelfExpCS(context, (SelfExpCS) semanticObject); return; case EssentialOCLCSPackage.SHADOW_PART_CS: sequence_ShadowPartCS(context, (ShadowPartCS) semanticObject); return; case EssentialOCLCSPackage.SQUARE_BRACKETED_CLAUSE_CS: sequence_SquareBracketedClauseCS(context, (SquareBracketedClauseCS) semanticObject); return; case EssentialOCLCSPackage.STRING_LITERAL_EXP_CS: sequence_StringLiteralExpCS(context, (StringLiteralExpCS) semanticObject); return; case EssentialOCLCSPackage.TUPLE_LITERAL_EXP_CS: sequence_TupleLiteralExpCS(context, (TupleLiteralExpCS) semanticObject); return; case EssentialOCLCSPackage.TUPLE_LITERAL_PART_CS: sequence_TupleLiteralPartCS(context, (TupleLiteralPartCS) semanticObject); return; case EssentialOCLCSPackage.TYPE_LITERAL_EXP_CS: sequence_TypeLiteralExpCS(context, (TypeLiteralExpCS) semanticObject); return; case EssentialOCLCSPackage.TYPE_NAME_EXP_CS: if(context == grammarAccess.getTypeExpCSRule()) { sequence_TypeExpCS_TypeNameExpCS(context, (TypeNameExpCS) semanticObject); return; } else if(context == grammarAccess.getTypeNameExpCSRule()) { sequence_TypeNameExpCS(context, (TypeNameExpCS) semanticObject); return; } else break; case EssentialOCLCSPackage.UNLIMITED_NATURAL_LITERAL_EXP_CS: sequence_UnlimitedNaturalLiteralExpCS(context, (UnlimitedNaturalLiteralExpCS) semanticObject); return; } else if(semanticObject.eClass().getEPackage() == OCLstdlibCSPackage.eINSTANCE) switch(semanticObject.eClass().getClassifierID()) { case OCLstdlibCSPackage.LIB_CLASS_CS: sequence_LibClassCS(context, (LibClassCS) semanticObject); return; case OCLstdlibCSPackage.LIB_COERCION_CS: sequence_LibCoercionCS(context, (LibCoercionCS) semanticObject); return; case OCLstdlibCSPackage.LIB_CONSTRAINT_CS: if(context == grammarAccess.getInvCSRule()) { sequence_InvCS(context, (LibConstraintCS) semanticObject); return; } else if(context == grammarAccess.getPostCSRule()) { sequence_PostCS(context, (LibConstraintCS) semanticObject); return; } else if(context == grammarAccess.getPreCSRule()) { sequence_PreCS(context, (LibConstraintCS) semanticObject); return; } else break; case OCLstdlibCSPackage.LIB_ITERATION_CS: sequence_LibIterationCS(context, (LibIterationCS) semanticObject); return; case OCLstdlibCSPackage.LIB_OPERATION_CS: sequence_LibOperationCS(context, (LibOperationCS) semanticObject); return; case OCLstdlibCSPackage.LIB_PACKAGE_CS: sequence_LibPackageCS(context, (LibPackageCS) semanticObject); return; case OCLstdlibCSPackage.LIB_PROPERTY_CS: sequence_LibPropertyCS(context, (LibPropertyCS) semanticObject); return; case OCLstdlibCSPackage.LIB_ROOT_PACKAGE_CS: sequence_Library(context, (LibRootPackageCS) semanticObject); return; case OCLstdlibCSPackage.PRECEDENCE_CS: sequence_PrecedenceCS(context, (PrecedenceCS) semanticObject); return; } if (errorAcceptor != null) errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context)); } /** * Constraint: * (name=Identifier ownedType=TypedMultiplicityRefCS) */ protected void sequence_AccumulatorCS(EObject context, ParameterCS semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Constraint: * ((name=Identifier | name=SINGLE_QUOTED_STRING) (ownedDetails+=DetailCS ownedDetails+=DetailCS*)? ownedAnnotations+=AnnotationElementCS?) */ protected void sequence_AnnotationCS(EObject context, AnnotationCS semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Constraint: * ((name=Name | name=SINGLE_QUOTED_STRING) (values+=SINGLE_QUOTED_STRING | values+=ML_SINGLE_QUOTED_STRING)*) */ protected void sequence_DetailCS(EObject context, DetailCS semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Constraint: * (value=SINGLE_QUOTED_STRING? (ownedDetails+=DetailCS ownedDetails+=DetailCS*)?) */ protected void sequence_DocumentationCS(EObject context, DocumentationCS semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Constraint: * (name=Identifier? ownedPathName=URIPathNameCS isAll?='::*'?) */ protected void sequence_ImportCS(EObject context, ImportCS semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Constraint: * (stereotype='inv' (name=UnrestrictedName ownedMessageSpecification=SpecificationCS?)? ownedSpecification=SpecificationCS) */ protected void sequence_InvCS(EObject context, LibConstraintCS semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Constraint: * (name=Identifier ownedType=TypedMultiplicityRefCS) */ protected void sequence_IteratorCS(EObject context, ParameterCS semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Constraint: * ownedPathName=LibPathNameCS */ protected void sequence_LambdaContextTypeRefCS(EObject context, TypedTypeRefCS semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Constraint: * ( * name='Lambda' * ownedSignature=TemplateSignatureCS? * ownedContextType=LambdaContextTypeRefCS * (ownedParameterTypes+=TypedMultiplicityRefCS ownedParameterTypes+=TypedMultiplicityRefCS*)? * ownedResultType=TypedRefCS * ) */ protected void sequence_LambdaTypeCS(EObject context, LambdaTypeCS semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Constraint: * ( * name='Lambda' * ownedSignature=TemplateSignatureCS? * ownedContextType=LambdaContextTypeRefCS * (ownedParameterTypes+=TypedMultiplicityRefCS ownedParameterTypes+=TypedMultiplicityRefCS*)? * ownedResultType=TypedRefCS * ownedMultiplicity=MultiplicityCS? * ) */ protected void sequence_LambdaTypeCS_TypedMultiplicityRefCS(EObject context, LambdaTypeCS semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Constraint: * ( * isAbstract?='abstract'? * name=AnyName * ownedSignature=TemplateSignatureCS? * metaclassName=[MetaclassNameCS|AnyName]? * (ownedSuperTypes+=TypedRefCS ownedSuperTypes+=TypedRefCS*)? * (ownedOperations+=OperationCS | ownedProperties+=LibPropertyCS | ownedConstraints+=InvCS | ownedAnnotations+=AnnotationElementCS)* * ) */ protected void sequence_LibClassCS(EObject context, LibClassCS semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Constraint: * ( * name=Name * ownedType=TypedMultiplicityRefCS * implementation=[JavaClassCS|SINGLE_QUOTED_STRING]? * (ownedAnnotations+=AnnotationElementCS | ownedPreconditions+=PostCS | ownedPostconditions+=PreCS)* * ) */ protected void sequence_LibCoercionCS(EObject context, LibCoercionCS semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Constraint: * ( * name=Name * ownedSignature=TemplateSignatureCS? * ownedIterators+=IteratorCS * ownedIterators+=IteratorCS* * (ownedAccumulators+=AccumulatorCS ownedAccumulators+=AccumulatorCS*)? * (ownedParameters+=ParameterCS ownedParameters+=ParameterCS*)? * ownedType=TypedMultiplicityRefCS * isInvalidating?='invalidating'? * isValidating?='validating'? * implementation=[JavaClassCS|SINGLE_QUOTED_STRING]? * (ownedAnnotations+=AnnotationElementCS | ownedPreconditions+=PostCS | ownedPostconditions+=PreCS)* * ) */ protected void sequence_LibIterationCS(EObject context, LibIterationCS semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Constraint: * ( * isStatic?='static'? * name=Name * ownedSignature=TemplateSignatureCS? * (ownedParameters+=ParameterCS ownedParameters+=ParameterCS*)? * ownedType=TypedMultiplicityRefCS * isValidating?='validating'? * isInvalidating?='invalidating'? * precedence=[Precedence|Name]? * implementation=[JavaClassCS|SINGLE_QUOTED_STRING]? * (ownedAnnotations+=AnnotationElementCS | ownedBodyExpressions+=SpecificationCS | ownedPostconditions+=PostCS | ownedPreconditions+=PreCS)* * ) */ protected void sequence_LibOperationCS(EObject context, LibOperationCS semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Constraint: * ( * name=Name * (nsPrefix=Identifier nsURI=URI)? * (ownedPackages+=PackageCS | ownedPrecedences+=PrecedenceCS+ | ownedClasses+=ClassCS | ownedAnnotations+=AnnotationElementCS)* * ) */ protected void sequence_LibPackageCS(EObject context, LibPackageCS semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Constraint: * referredElement=[NamedElement|Name] */ protected void sequence_LibPathElementCS(EObject context, PathElementCS semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Constraint: * (ownedPathElements+=LibPathElementCS ownedPathElements+=LibPathElementCS*) */ protected void sequence_LibPathNameCS(EObject context, PathNameCS semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Constraint: * ( * isStatic?='static'? * name=Name * ownedType=TypedMultiplicityRefCS * implementation=[JavaClassCS|SINGLE_QUOTED_STRING]? * ownedAnnotations+=AnnotationElementCS* * ) */ protected void sequence_LibPropertyCS(EObject context, LibPropertyCS semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Constraint: * (ownedImports+=ImportCS* ownedPackages+=LibPackageCS*) */ protected void sequence_Library(EObject context, LibRootPackageCS semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Constraint: * (name='Map' (ownedKeyType=TypeExpCS ownedValueType=TypeExpCS)? ownedMultiplicity=MultiplicityCS?) */ protected void sequence_MapTypeCS_TypedMultiplicityRefCS(EObject context, MapTypeCS semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Constraint: * (name=Name (nsPrefix=Identifier nsURI=URI)? (ownedPackages+=PackageCS | ownedClasses+=ClassCS | ownedAnnotations+=AnnotationElementCS)*) */ protected void sequence_PackageCS(EObject context, PackageCS semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Constraint: * (name=Identifier ownedType=TypedMultiplicityRefCS) */ protected void sequence_ParameterCS(EObject context, ParameterCS semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Constraint: * (stereotype='post' (name=UnrestrictedName ownedMessageSpecification=SpecificationCS?)? ownedSpecification=SpecificationCS) */ protected void sequence_PostCS(EObject context, LibConstraintCS semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Constraint: * (stereotype='pre' (name=UnrestrictedName ownedMessageSpecification=SpecificationCS?)? ownedSpecification=SpecificationCS) */ protected void sequence_PreCS(EObject context, LibConstraintCS semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Constraint: * (isRightAssociative?='right'? name=Name) */ protected void sequence_PrecedenceCS(EObject context, PrecedenceCS semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Constraint: * ownedExpression=ExpCS */ protected void sequence_SpecificationCS(EObject context, ExpSpecificationCS semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Constraint: * (name=Identifier ownedType=TypedMultiplicityRefCS) */ protected void sequence_TuplePartCS(EObject context, TuplePartCS semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Constraint: * (name='Tuple' (ownedParts+=TuplePartCS ownedParts+=TuplePartCS*)? ownedMultiplicity=MultiplicityCS?) */ protected void sequence_TupleTypeCS_TypedMultiplicityRefCS(EObject context, TupleTypeCS semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Constraint: * ( * ((isTypeof?='typeof' ownedPathName=LibPathNameCS) | (ownedPathName=LibPathNameCS ownedBinding=TemplateBindingCS?)) * ownedMultiplicity=MultiplicityCS? * ) */ protected void sequence_TypedMultiplicityRefCS_TypedTypeRefCS(EObject context, TypedTypeRefCS semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Constraint: * ((isTypeof?='typeof' ownedPathName=LibPathNameCS) | (ownedPathName=LibPathNameCS ownedBinding=TemplateBindingCS?)) */ protected void sequence_TypedTypeRefCS(EObject context, TypedTypeRefCS semanticObject) { genericSequencer.createSequence(context, semanticObject); } }