org.eclipse.ocl.examples.xtext.essentialocl.cs2pivot
Class EssentialOCLLeft2RightVisitor
java.lang.Object
org.eclipse.ocl.examples.xtext.base.util.AbstractBaseCSVisitor<R,C>
org.eclipse.ocl.examples.xtext.base.util.AbstractExtendingBaseCSVisitor<Element,CS2PivotConversion>
org.eclipse.ocl.examples.xtext.base.cs2pivot.BaseLeft2RightVisitor
org.eclipse.ocl.examples.xtext.essentialocl.cs2pivot.AbstractEssentialOCLLeft2RightVisitor
org.eclipse.ocl.examples.xtext.essentialocl.cs2pivot.EssentialOCLLeft2RightVisitor
- All Implemented Interfaces:
- BaseCSVisitor<Element>, EssentialOCLCSVisitor<Element>
- Direct Known Subclasses:
- AbstractCompleteOCLLeft2RightVisitor, AbstractOCLinEcoreLeft2RightVisitor, AbstractOCLstdlibLeft2RightVisitor
public class EssentialOCLLeft2RightVisitor
- extends AbstractEssentialOCLLeft2RightVisitor
Method Summary |
protected OCLExpression |
checkImplementation(NamedExpCS csNavigatingExp,
Feature feature,
CallExp callExp,
OCLExpression expression)
|
protected Operation |
getBadOperation()
|
protected Property |
getBadProperty()
|
protected VariableDeclaration |
getImplicitSource(ModelElementCS csExp,
Feature feature)
|
protected Type |
getSourceElementType(InvocationExpCS csNavigatingExp,
OCLExpression source)
|
protected EnumLiteralExp |
resolveEnumLiteral(ExpCS csExp,
EnumerationLiteral enumerationLiteral)
|
protected void |
resolveIterationAccumulators(InvocationExpCS csNavigatingExp,
LoopExp expression)
|
protected void |
resolveIterationBody(InvocationExpCS csNavigatingExp,
LoopExp expression)
|
protected LoopExp |
resolveIterationCall(InvocationExpCS csNavigatingExp,
OCLExpression source,
Iteration iteration)
|
protected void |
resolveIterationExplicitAccumulators(InvocationExpCS csNavigatingExp)
|
protected void |
resolveIterationIterators(InvocationExpCS csNavigatingExp,
OCLExpression source,
LoopExp expression)
|
protected CallExp |
resolveNavigationFeature(NamedExpCS csElement,
OCLExpression source,
Feature feature,
CallExp callExp)
Synthesize any any implicit collect() call. |
protected OCLExpression |
resolveNavigationSource(NamedExpCS csNameExp,
Feature feature)
Resolve any implicit source and any associated implicit oclAsSet(). |
protected OCLExpression |
resolveOperation(InvocationExpCS csNavigatingExp)
|
protected void |
resolveOperationArguments(InvocationExpCS csNavigatingExp,
OCLExpression source,
Operation operation,
OperationCallExp expression)
Complete the installation of each operation argument in its operation call. |
protected void |
resolveOperationArgumentTypes(InvocationExpCS csNavigatingExp)
Determine the type of each operation argument so that the appropriate operation overload can be selected. |
protected void |
resolveOperationCall(OperationCallExp expression,
OperatorCS csOperator,
ScopeFilter filter)
|
protected void |
resolveOperationReturnType(CallExp callExp)
|
protected OCLExpression |
resolvePropertyCallExp(NamedExpCS csNameExp,
Property property)
|
protected OCLExpression |
resolvePropertyNavigation(NamedExpCS csNamedExp)
|
protected TypeExp |
resolveTypeExp(ExpCS csExp,
Type type)
|
protected OCLExpression |
resolveUnknownOperation(NamedExpCS csNamedExp)
|
protected VariableExp |
resolveVariableExp(NameExpCS csNameExp,
VariableDeclaration variableDeclaration)
|
Element |
visitBinaryOperatorCS(BinaryOperatorCS csOperator)
|
Element |
visitBooleanLiteralExpCS(BooleanLiteralExpCS csBooleanLiteralExp)
|
Element |
visitCollectionLiteralExpCS(CollectionLiteralExpCS csCollectionLiteralExp)
|
Element |
visitCollectionLiteralPartCS(CollectionLiteralPartCS csCollectionLiteralPart)
|
Element |
visitCollectionTypeCS(CollectionTypeCS object)
|
Element |
visitConstructorExpCS(ConstructorExpCS csConstructorExp)
|
Element |
visitConstructorPartCS(ConstructorPartCS csConstructorPart)
|
Element |
visitContextCS(ContextCS csContext)
|
Element |
visitExpCS(ExpCS object)
|
Element |
visitExpSpecificationCS(ExpSpecificationCS object)
|
Element |
visitIfExpCS(IfExpCS csIfExp)
|
Element |
visitIndexExpCS(IndexExpCS csIndexExp)
|
Element |
visitInfixExpCS(InfixExpCS csInfixExp)
|
Element |
visitInvalidLiteralExpCS(InvalidLiteralExpCS csInvalidLiteralExp)
|
Element |
visitInvocationExpCS(InvocationExpCS csNavigatingExp)
|
Element |
visitLetExpCS(LetExpCS csLetExp)
|
Element |
visitLetVariableCS(LetVariableCS csLetVariable)
|
Element |
visitNameExpCS(NameExpCS csNameExp)
|
Element |
visitNavigatingArgCS(NavigatingArgCS csNavigatingArg)
|
OCLExpression |
visitNavigationOperatorCS(NavigationOperatorCS csOperator)
|
Element |
visitNestedExpCS(NestedExpCS csNestedExp)
|
Element |
visitNullLiteralExpCS(NullLiteralExpCS csNullLiteralExp)
|
Element |
visitNumberLiteralExpCS(NumberLiteralExpCS csNumberLiteralExp)
|
Element |
visitOperatorCS(OperatorCS object)
|
Element |
visitPrefixExpCS(PrefixExpCS csPrefixExp)
|
Element |
visitSelfExpCS(SelfExpCS csSelfExp)
|
Element |
visitStringLiteralExpCS(StringLiteralExpCS csStringLiteralExp)
|
Element |
visitTupleLiteralExpCS(TupleLiteralExpCS csTupleLiteralExp)
|
Element |
visitTupleLiteralPartCS(TupleLiteralPartCS csTupleLiteralPart)
|
Element |
visitTypeLiteralExpCS(TypeLiteralExpCS csTypeLiteralExp)
|
Element |
visitUnaryOperatorCS(UnaryOperatorCS csOperator)
|
Element |
visitUnlimitedNaturalLiteralExpCS(UnlimitedNaturalLiteralExpCS csUnlimitedNaturalLiteralExp)
|
Element |
visitVariableCS(VariableCS csVariable)
|
Methods inherited from class org.eclipse.ocl.examples.xtext.base.cs2pivot.BaseLeft2RightVisitor |
visitAnnotationCS, visitClassifierCS, visitConstraintCS, visitDetailCS, visiting, visitOperationCS, visitParameterCS, visitSpecificationCS, visitStructuralFeatureCS, visitTemplateBindingCS, visitTemplateParameterCS, visitTemplateParameterSubstitutionCS, visitTemplateSignatureCS, visitTuplePartCS, visitTupleTypeCS, visitTypeRefCS |
Methods inherited from class org.eclipse.ocl.examples.xtext.base.util.AbstractExtendingBaseCSVisitor |
visitAnnotationElementCS, visitAttributeCS, visitClassCS, visitCollectionTypeRefCS, visitDataTypeCS, visitDocumentationCS, visitElementCS, visitElementRefCS, visitEnumerationCS, visitEnumerationLiteralCS, visitImportCS, visitLambdaTypeCS, visitLibraryCS, visitModelElementCS, visitModelElementRefCS, visitMultiplicityBoundsCS, visitMultiplicityStringCS, visitNamedElementCS, visitPackageCS, visitPathElementCS, visitPathNameCS, visitPivotableElementCS, visitPrimitiveTypeRefCS, visitReferenceCS, visitRootPackageCS, visitTypedElementCS, visitTypedRefCS, visitTypedTypeRefCS, visitTypeParameterCS, visitWildcardTypeRefCS |
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.util.BaseCSVisitor |
getAdapter, visitAnnotationCS, visitAnnotationElementCS, visitAttributeCS, visitClassCS, visitClassifierCS, visitCollectionTypeRefCS, visitConstraintCS, visitDataTypeCS, visitDetailCS, visitDocumentationCS, visitElementCS, visitElementRefCS, visitEnumerationCS, visitEnumerationLiteralCS, visitImportCS, visiting, visitLambdaTypeCS, visitLibraryCS, visitModelElementCS, visitModelElementRefCS, visitMultiplicityBoundsCS, visitMultiplicityStringCS, visitNamedElementCS, visitOperationCS, visitPackageCS, visitParameterCS, visitPathElementCS, visitPathNameCS, visitPivotableElementCS, visitPrimitiveTypeRefCS, visitReferenceCS, visitRootPackageCS, visitSpecificationCS, visitStructuralFeatureCS, visitTemplateBindingCS, visitTemplateParameterCS, visitTemplateParameterSubstitutionCS, visitTemplateSignatureCS, visitTuplePartCS, visitTupleTypeCS, visitTypedElementCS, visitTypedRefCS, visitTypedTypeRefCS, visitTypeParameterCS, visitTypeRefCS, visitWildcardTypeRefCS |
metaModelManager
protected final MetaModelManager metaModelManager
EssentialOCLLeft2RightVisitor
public EssentialOCLLeft2RightVisitor(CS2PivotConversion context)
checkImplementation
protected OCLExpression checkImplementation(NamedExpCS csNavigatingExp,
Feature feature,
CallExp callExp,
OCLExpression expression)
getBadOperation
protected Operation getBadOperation()
getBadProperty
protected Property getBadProperty()
getImplicitSource
protected VariableDeclaration getImplicitSource(ModelElementCS csExp,
Feature feature)
getSourceElementType
protected Type getSourceElementType(InvocationExpCS csNavigatingExp,
OCLExpression source)
resolveEnumLiteral
protected EnumLiteralExp resolveEnumLiteral(ExpCS csExp,
EnumerationLiteral enumerationLiteral)
resolveIterationAccumulators
protected void resolveIterationAccumulators(InvocationExpCS csNavigatingExp,
LoopExp expression)
resolveIterationBody
protected void resolveIterationBody(InvocationExpCS csNavigatingExp,
LoopExp expression)
resolveIterationCall
protected LoopExp resolveIterationCall(InvocationExpCS csNavigatingExp,
OCLExpression source,
Iteration iteration)
resolveIterationExplicitAccumulators
protected void resolveIterationExplicitAccumulators(InvocationExpCS csNavigatingExp)
resolveIterationIterators
protected void resolveIterationIterators(InvocationExpCS csNavigatingExp,
OCLExpression source,
LoopExp expression)
resolveNavigationFeature
protected CallExp resolveNavigationFeature(NamedExpCS csElement,
OCLExpression source,
Feature feature,
CallExp callExp)
- Synthesize any any implicit collect() call. The return type is left unresolved since operation parameters or loop body must be resolved first.
resolveNavigationSource
protected OCLExpression resolveNavigationSource(NamedExpCS csNameExp,
Feature feature)
- Resolve any implicit source and any associated implicit oclAsSet().
resolveOperation
protected OCLExpression resolveOperation(InvocationExpCS csNavigatingExp)
resolveUnknownOperation
protected OCLExpression resolveUnknownOperation(NamedExpCS csNamedExp)
resolveOperationArgumentTypes
protected void resolveOperationArgumentTypes(InvocationExpCS csNavigatingExp)
- Determine the type of each operation argument so that the appropriate operation overload can be selected.
Iterator bodies are left unresolved.
resolveOperationArguments
protected void resolveOperationArguments(InvocationExpCS csNavigatingExp,
OCLExpression source,
Operation operation,
OperationCallExp expression)
- Complete the installation of each operation argument in its operation call.
resolveOperationCall
protected void resolveOperationCall(OperationCallExp expression,
OperatorCS csOperator,
ScopeFilter filter)
resolveOperationReturnType
protected void resolveOperationReturnType(CallExp callExp)
resolvePropertyCallExp
protected OCLExpression resolvePropertyCallExp(NamedExpCS csNameExp,
Property property)
resolvePropertyNavigation
protected OCLExpression resolvePropertyNavigation(NamedExpCS csNamedExp)
resolveTypeExp
protected TypeExp resolveTypeExp(ExpCS csExp,
Type type)
resolveVariableExp
protected VariableExp resolveVariableExp(NameExpCS csNameExp,
VariableDeclaration variableDeclaration)
visitBinaryOperatorCS
public Element visitBinaryOperatorCS(BinaryOperatorCS csOperator)
- Specified by:
visitBinaryOperatorCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitBinaryOperatorCS
in class AbstractEssentialOCLLeft2RightVisitor
visitBooleanLiteralExpCS
public Element visitBooleanLiteralExpCS(BooleanLiteralExpCS csBooleanLiteralExp)
- Specified by:
visitBooleanLiteralExpCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitBooleanLiteralExpCS
in class AbstractEssentialOCLLeft2RightVisitor
visitCollectionLiteralExpCS
public Element visitCollectionLiteralExpCS(CollectionLiteralExpCS csCollectionLiteralExp)
- Specified by:
visitCollectionLiteralExpCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitCollectionLiteralExpCS
in class AbstractEssentialOCLLeft2RightVisitor
visitCollectionLiteralPartCS
public Element visitCollectionLiteralPartCS(CollectionLiteralPartCS csCollectionLiteralPart)
- Specified by:
visitCollectionLiteralPartCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitCollectionLiteralPartCS
in class AbstractEssentialOCLLeft2RightVisitor
visitCollectionTypeCS
public Element visitCollectionTypeCS(CollectionTypeCS object)
- Specified by:
visitCollectionTypeCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitCollectionTypeCS
in class AbstractEssentialOCLLeft2RightVisitor
visitConstructorExpCS
public Element visitConstructorExpCS(ConstructorExpCS csConstructorExp)
- Specified by:
visitConstructorExpCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitConstructorExpCS
in class AbstractEssentialOCLLeft2RightVisitor
visitConstructorPartCS
public Element visitConstructorPartCS(ConstructorPartCS csConstructorPart)
- Specified by:
visitConstructorPartCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitConstructorPartCS
in class AbstractEssentialOCLLeft2RightVisitor
visitContextCS
public Element visitContextCS(ContextCS csContext)
- Specified by:
visitContextCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitContextCS
in class AbstractEssentialOCLLeft2RightVisitor
visitExpCS
public Element visitExpCS(ExpCS object)
- Specified by:
visitExpCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitExpCS
in class AbstractEssentialOCLLeft2RightVisitor
visitExpSpecificationCS
public Element visitExpSpecificationCS(ExpSpecificationCS object)
- Specified by:
visitExpSpecificationCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitExpSpecificationCS
in class AbstractEssentialOCLLeft2RightVisitor
visitIfExpCS
public Element visitIfExpCS(IfExpCS csIfExp)
- Specified by:
visitIfExpCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitIfExpCS
in class AbstractEssentialOCLLeft2RightVisitor
visitIndexExpCS
public Element visitIndexExpCS(IndexExpCS csIndexExp)
- Specified by:
visitIndexExpCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitIndexExpCS
in class AbstractEssentialOCLLeft2RightVisitor
visitInfixExpCS
public Element visitInfixExpCS(InfixExpCS csInfixExp)
- Specified by:
visitInfixExpCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitInfixExpCS
in class AbstractEssentialOCLLeft2RightVisitor
visitInvalidLiteralExpCS
public Element visitInvalidLiteralExpCS(InvalidLiteralExpCS csInvalidLiteralExp)
- Specified by:
visitInvalidLiteralExpCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitInvalidLiteralExpCS
in class AbstractEssentialOCLLeft2RightVisitor
visitInvocationExpCS
public Element visitInvocationExpCS(InvocationExpCS csNavigatingExp)
- Specified by:
visitInvocationExpCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitInvocationExpCS
in class AbstractEssentialOCLLeft2RightVisitor
visitLetExpCS
public Element visitLetExpCS(LetExpCS csLetExp)
- Specified by:
visitLetExpCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitLetExpCS
in class AbstractEssentialOCLLeft2RightVisitor
visitLetVariableCS
public Element visitLetVariableCS(LetVariableCS csLetVariable)
- Specified by:
visitLetVariableCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitLetVariableCS
in class AbstractEssentialOCLLeft2RightVisitor
visitNameExpCS
public Element visitNameExpCS(NameExpCS csNameExp)
- Specified by:
visitNameExpCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitNameExpCS
in class AbstractEssentialOCLLeft2RightVisitor
visitNavigatingArgCS
public Element visitNavigatingArgCS(NavigatingArgCS csNavigatingArg)
- Specified by:
visitNavigatingArgCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitNavigatingArgCS
in class AbstractEssentialOCLLeft2RightVisitor
visitNavigationOperatorCS
public OCLExpression visitNavigationOperatorCS(NavigationOperatorCS csOperator)
- Specified by:
visitNavigationOperatorCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitNavigationOperatorCS
in class AbstractEssentialOCLLeft2RightVisitor
visitNestedExpCS
public Element visitNestedExpCS(NestedExpCS csNestedExp)
- Specified by:
visitNestedExpCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitNestedExpCS
in class AbstractEssentialOCLLeft2RightVisitor
visitNullLiteralExpCS
public Element visitNullLiteralExpCS(NullLiteralExpCS csNullLiteralExp)
- Specified by:
visitNullLiteralExpCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitNullLiteralExpCS
in class AbstractEssentialOCLLeft2RightVisitor
visitNumberLiteralExpCS
public Element visitNumberLiteralExpCS(NumberLiteralExpCS csNumberLiteralExp)
- Specified by:
visitNumberLiteralExpCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitNumberLiteralExpCS
in class AbstractEssentialOCLLeft2RightVisitor
visitOperatorCS
public Element visitOperatorCS(OperatorCS object)
- Specified by:
visitOperatorCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitOperatorCS
in class AbstractEssentialOCLLeft2RightVisitor
visitPrefixExpCS
public Element visitPrefixExpCS(PrefixExpCS csPrefixExp)
- Specified by:
visitPrefixExpCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitPrefixExpCS
in class AbstractEssentialOCLLeft2RightVisitor
visitSelfExpCS
public Element visitSelfExpCS(SelfExpCS csSelfExp)
- Specified by:
visitSelfExpCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitSelfExpCS
in class AbstractEssentialOCLLeft2RightVisitor
visitStringLiteralExpCS
public Element visitStringLiteralExpCS(StringLiteralExpCS csStringLiteralExp)
- Specified by:
visitStringLiteralExpCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitStringLiteralExpCS
in class AbstractEssentialOCLLeft2RightVisitor
visitTupleLiteralExpCS
public Element visitTupleLiteralExpCS(TupleLiteralExpCS csTupleLiteralExp)
- Specified by:
visitTupleLiteralExpCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitTupleLiteralExpCS
in class AbstractEssentialOCLLeft2RightVisitor
visitTupleLiteralPartCS
public Element visitTupleLiteralPartCS(TupleLiteralPartCS csTupleLiteralPart)
- Specified by:
visitTupleLiteralPartCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitTupleLiteralPartCS
in class AbstractEssentialOCLLeft2RightVisitor
visitTypeLiteralExpCS
public Element visitTypeLiteralExpCS(TypeLiteralExpCS csTypeLiteralExp)
- Specified by:
visitTypeLiteralExpCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitTypeLiteralExpCS
in class AbstractEssentialOCLLeft2RightVisitor
visitUnaryOperatorCS
public Element visitUnaryOperatorCS(UnaryOperatorCS csOperator)
- Specified by:
visitUnaryOperatorCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitUnaryOperatorCS
in class AbstractEssentialOCLLeft2RightVisitor
visitUnlimitedNaturalLiteralExpCS
public Element visitUnlimitedNaturalLiteralExpCS(UnlimitedNaturalLiteralExpCS csUnlimitedNaturalLiteralExp)
- Specified by:
visitUnlimitedNaturalLiteralExpCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitUnlimitedNaturalLiteralExpCS
in class AbstractEssentialOCLLeft2RightVisitor
visitVariableCS
public Element visitVariableCS(VariableCS csVariable)
- Specified by:
visitVariableCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitVariableCS
in class AbstractEssentialOCLLeft2RightVisitor