org.eclipse.ocl.examples.xtext.essentialocl.cs2as
Class EssentialOCLCSPostOrderVisitor

java.lang.Object
  extended by org.eclipse.ocl.examples.xtext.base.basecs.util.AbstractBaseCSVisitor<R,C>
      extended by org.eclipse.ocl.examples.xtext.base.basecs.util.AbstractExtendingBaseCSVisitor<Continuation<?>,CS2PivotConversion>
          extended by org.eclipse.ocl.examples.xtext.base.cs2as.BaseCSPostOrderVisitor
              extended by org.eclipse.ocl.examples.xtext.essentialocl.essentialoclcs.util.AbstractEssentialOCLCSPostOrderVisitor
                  extended by org.eclipse.ocl.examples.xtext.essentialocl.cs2as.EssentialOCLCSPostOrderVisitor
All Implemented Interfaces:
BaseCSVisitor<Continuation<?>>, EssentialOCLCSVisitor<Continuation<?>>
Direct Known Subclasses:
AbstractCompleteOCLCSPostOrderVisitor, AbstractOCLinEcoreCSPostOrderVisitor, AbstractOCLstdlibCSPostOrderVisitor

public class EssentialOCLCSPostOrderVisitor
extends AbstractEssentialOCLCSPostOrderVisitor


Nested Class Summary
static class EssentialOCLCSPostOrderVisitor.ConstraintCSCompletion
           
protected static class EssentialOCLCSPostOrderVisitor.ContextCSCompletion
           
static class EssentialOCLCSPostOrderVisitor.ExpSpecificationCSCompletion
           
 
Nested classes/interfaces inherited from class org.eclipse.ocl.examples.xtext.base.cs2as.BaseCSPostOrderVisitor
BaseCSPostOrderVisitor.ListCompletion<CST extends ModelElementCS,P extends NamedElement>
 
Field Summary
protected  MetaModelManager metaModelManager
           
 
Fields inherited from class org.eclipse.ocl.examples.xtext.base.basecs.util.AbstractBaseCSVisitor
context
 
Constructor Summary
EssentialOCLCSPostOrderVisitor(CS2PivotConversion context)
           
 
Method Summary
protected  void createInfixOperatorTree(InfixExpCS csInfix)
          Establish the parent-{source,argument} relationships between all infix operators in accordance with the precedence and associativity configuration.
protected  java.util.Map<Precedence,java.util.List<java.lang.Integer>> createInfixPrecedenceToOperatorIndexesMap(InfixExpCS csInfix)
          Return a map of operator indexes for each used precedence.
protected  void initializePrefixOperators(PrefixExpCS prefixExpCS, OperatorCS csParent)
           
protected  void interleavePrefixes(InfixExpCS csElement)
           
protected  void interleaveUnaryOperator(UnaryOperatorCS csOperator)
           
 Continuation<?> visitCollectionTypeCS(CollectionTypeCS csCollectionType)
           
 Continuation<?> visitConstraintCS(ConstraintCS csConstraint)
           
 Continuation<?> visitContextCS(ContextCS csContext)
           
 Continuation<?> visitExpCS(ExpCS csExp)
           
 Continuation<?> visitExpSpecificationCS(ExpSpecificationCS csElement)
           
 Continuation<?> visitInfixExpCS(InfixExpCS csInfixExp)
           
 Continuation<?> visitInvocationExpCS(InvocationExpCS csNavigatingExp)
           
 Continuation<?> visitOperatorCS(OperatorCS csOperator)
           
 Continuation<?> visitPathNameCS(PathNameCS object)
           
 Continuation<?> visitPrefixExpCS(PrefixExpCS csPrefixExp)
           
 Continuation<?> visitSpecificationCS(SpecificationCS csSpecification)
           
 Continuation<?> visitTypeNameExpCS(TypeNameExpCS object)
           
 Continuation<?> visitVariableCS(VariableCS csVariable)
           
 
Methods inherited from class org.eclipse.ocl.examples.xtext.essentialocl.essentialoclcs.util.AbstractEssentialOCLCSPostOrderVisitor
visitBinaryOperatorCS, visitBooleanLiteralExpCS, visitCollectionLiteralExpCS, visitCollectionLiteralPartCS, visitConstructorExpCS, visitConstructorPartCS, visitIfExpCS, visitIndexExpCS, visitInvalidLiteralExpCS, visitLetExpCS, visitLetVariableCS, visitLiteralExpCS, visitNamedExpCS, visitNameExpCS, visitNavigatingArgCS, visitNavigationOperatorCS, visitNestedExpCS, visitNullLiteralExpCS, visitNumberLiteralExpCS, visitPrimitiveLiteralExpCS, visitSelfExpCS, visitStringLiteralExpCS, visitTupleLiteralExpCS, visitTupleLiteralPartCS, visitTypeLiteralExpCS, visitUnaryOperatorCS, visitUnlimitedNaturalLiteralExpCS
 
Methods inherited from class org.eclipse.ocl.examples.xtext.base.cs2as.BaseCSPostOrderVisitor
getTemplateableElementContainer, refreshList, visitAnnotationCS, visitAnnotationElementCS, visitClassifierCS, visitDetailCS, visitDocumentationCS, visitElementCS, visitImportCS, visiting, visitLambdaTypeCS, visitLibraryCS, visitModelElementCS, visitModelElementRefCS, visitMultiplicityBoundsCS, visitMultiplicityStringCS, visitNamedElementCS, visitOperationCS, visitPackageCS, visitPackageOwnerCS, visitPathElementCS, visitPrimitiveTypeRefCS, visitReferenceCS, visitRootPackageCS, visitTemplateBindingCS, visitTemplateParameterCS, visitTemplateParameterSubstitutionCS, visitTemplateSignatureCS, visitTuplePartCS, visitTupleTypeCS, visitTypedElementCS, visitTypedTypeRefCS, visitWildcardTypeRefCS
 
Methods inherited from class org.eclipse.ocl.examples.xtext.base.basecs.util.AbstractExtendingBaseCSVisitor
visitAttributeCS, visitClassCS, visitDataTypeCS, visitElementRefCS, visitEnumerationCS, visitEnumerationLiteralCS, visitParameterCS, visitPathElementWithURICS, visitPivotableElementCS, visitStructuralFeatureCS, visitTypedRefCS, visitTypeParameterCS, visitTypeRefCS
 
Methods inherited from class org.eclipse.ocl.examples.xtext.base.basecs.util.AbstractBaseCSVisitor
getAdapter, safeVisit, visit
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.eclipse.ocl.examples.xtext.base.basecs.util.BaseCSVisitor
getAdapter, visitAnnotationCS, visitAnnotationElementCS, visitAttributeCS, visitClassCS, visitClassifierCS, visitDataTypeCS, visitDetailCS, visitDocumentationCS, visitElementCS, visitElementRefCS, visitEnumerationCS, visitEnumerationLiteralCS, visitImportCS, visiting, visitLambdaTypeCS, visitLibraryCS, visitModelElementCS, visitModelElementRefCS, visitMultiplicityBoundsCS, visitMultiplicityStringCS, visitNamedElementCS, visitOperationCS, visitPackageCS, visitPackageOwnerCS, visitParameterCS, visitPathElementCS, visitPathElementWithURICS, visitPivotableElementCS, visitPrimitiveTypeRefCS, visitReferenceCS, visitRootPackageCS, visitStructuralFeatureCS, visitTemplateBindingCS, visitTemplateParameterCS, visitTemplateParameterSubstitutionCS, visitTemplateSignatureCS, visitTuplePartCS, visitTupleTypeCS, visitTypedElementCS, visitTypedRefCS, visitTypedTypeRefCS, visitTypeParameterCS, visitTypeRefCS, visitWildcardTypeRefCS
 

Field Detail

metaModelManager

@NonNull
protected final MetaModelManager metaModelManager
Constructor Detail

EssentialOCLCSPostOrderVisitor

public EssentialOCLCSPostOrderVisitor(@NonNull
                                      CS2PivotConversion context)
Method Detail

createInfixOperatorTree

protected void createInfixOperatorTree(InfixExpCS csInfix)
Establish the parent-{source,argument} relationships between all infix operators in accordance with the precedence and associativity configuration.


createInfixPrecedenceToOperatorIndexesMap

protected java.util.Map<Precedence,java.util.List<java.lang.Integer>> createInfixPrecedenceToOperatorIndexesMap(InfixExpCS csInfix)
Return a map of operator indexes for each used precedence.


initializePrefixOperators

protected void initializePrefixOperators(PrefixExpCS prefixExpCS,
                                         OperatorCS csParent)

interleavePrefixes

protected void interleavePrefixes(InfixExpCS csElement)

interleaveUnaryOperator

protected void interleaveUnaryOperator(UnaryOperatorCS csOperator)

visitCollectionTypeCS

public Continuation<?> visitCollectionTypeCS(@NonNull
                                             CollectionTypeCS csCollectionType)
Specified by:
visitCollectionTypeCS in interface EssentialOCLCSVisitor<Continuation<?>>
Overrides:
visitCollectionTypeCS in class AbstractEssentialOCLCSPostOrderVisitor

visitConstraintCS

public Continuation<?> visitConstraintCS(@NonNull
                                         ConstraintCS csConstraint)
Specified by:
visitConstraintCS in interface BaseCSVisitor<Continuation<?>>
Overrides:
visitConstraintCS in class AbstractExtendingBaseCSVisitor<Continuation<?>,CS2PivotConversion>

visitContextCS

public Continuation<?> visitContextCS(@NonNull
                                      ContextCS csContext)
Specified by:
visitContextCS in interface EssentialOCLCSVisitor<Continuation<?>>
Overrides:
visitContextCS in class AbstractEssentialOCLCSPostOrderVisitor

visitExpCS

public Continuation<?> visitExpCS(@NonNull
                                  ExpCS csExp)
Specified by:
visitExpCS in interface EssentialOCLCSVisitor<Continuation<?>>
Overrides:
visitExpCS in class AbstractEssentialOCLCSPostOrderVisitor

visitExpSpecificationCS

@Nullable
public final Continuation<?> visitExpSpecificationCS(@NonNull
                                                              ExpSpecificationCS csElement)
Specified by:
visitExpSpecificationCS in interface EssentialOCLCSVisitor<Continuation<?>>
Overrides:
visitExpSpecificationCS in class AbstractEssentialOCLCSPostOrderVisitor

visitInfixExpCS

public Continuation<?> visitInfixExpCS(@NonNull
                                       InfixExpCS csInfixExp)
Specified by:
visitInfixExpCS in interface EssentialOCLCSVisitor<Continuation<?>>
Overrides:
visitInfixExpCS in class AbstractEssentialOCLCSPostOrderVisitor

visitInvocationExpCS

public Continuation<?> visitInvocationExpCS(@NonNull
                                            InvocationExpCS csNavigatingExp)
Specified by:
visitInvocationExpCS in interface EssentialOCLCSVisitor<Continuation<?>>
Overrides:
visitInvocationExpCS in class AbstractEssentialOCLCSPostOrderVisitor

visitOperatorCS

public Continuation<?> visitOperatorCS(@NonNull
                                       OperatorCS csOperator)
Specified by:
visitOperatorCS in interface EssentialOCLCSVisitor<Continuation<?>>
Overrides:
visitOperatorCS in class AbstractEssentialOCLCSPostOrderVisitor

visitPathNameCS

public Continuation<?> visitPathNameCS(@NonNull
                                       PathNameCS object)
Specified by:
visitPathNameCS in interface BaseCSVisitor<Continuation<?>>
Overrides:
visitPathNameCS in class BaseCSPostOrderVisitor

visitPrefixExpCS

public Continuation<?> visitPrefixExpCS(@NonNull
                                        PrefixExpCS csPrefixExp)
Specified by:
visitPrefixExpCS in interface EssentialOCLCSVisitor<Continuation<?>>
Overrides:
visitPrefixExpCS in class AbstractEssentialOCLCSPostOrderVisitor

visitSpecificationCS

public final Continuation<?> visitSpecificationCS(@NonNull
                                                  SpecificationCS csSpecification)
Specified by:
visitSpecificationCS in interface BaseCSVisitor<Continuation<?>>
Overrides:
visitSpecificationCS in class AbstractExtendingBaseCSVisitor<Continuation<?>,CS2PivotConversion>

visitTypeNameExpCS

public Continuation<?> visitTypeNameExpCS(@NonNull
                                          TypeNameExpCS object)
Specified by:
visitTypeNameExpCS in interface EssentialOCLCSVisitor<Continuation<?>>
Overrides:
visitTypeNameExpCS in class AbstractEssentialOCLCSPostOrderVisitor

visitVariableCS

public Continuation<?> visitVariableCS(@NonNull
                                       VariableCS csVariable)
Specified by:
visitVariableCS in interface EssentialOCLCSVisitor<Continuation<?>>
Overrides:
visitVariableCS in class AbstractEssentialOCLCSPostOrderVisitor