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 Operation |
getBadOperation()
|
protected Property |
getBadProperty()
|
protected VariableDeclaration |
getImplicitSource(ModelElementCS csExp,
Feature feature)
|
protected Type |
getSourceElementType(InvocationExpCS csInvocationExp,
OCLExpression source)
|
protected void |
resolveAtPre(NameExpCS csNameExp,
FeatureCallExp featureCallExp)
|
protected EnumLiteralExp |
resolveEnumLiteral(ExpCS csExp,
EnumerationLiteral enumerationLiteral)
|
protected void |
resolveIterationAccumulators(InvocationExpCS csInvocationExp,
LoopExp expression)
|
protected void |
resolveIterationBody(InvocationExpCS csInvocationExp,
LoopExp expression)
|
protected LoopExp |
resolveIterationCall(InvocationExpCS csInvocationExp,
OCLExpression source,
Iteration iteration)
|
protected void |
resolveIterationExplicitAccumulators(InvocationExpCS csInvocationExp)
|
protected void |
resolveIterationIterators(InvocationExpCS csInvocationExp,
OCLExpression source,
LoopExp expression)
|
protected CallExp |
resolveNavigationFeature(AbstractNameExpCS csElement,
OCLExpression source,
Feature feature,
CallExp callExp)
Synthesize any any implicit collect() call. |
protected OCLExpression |
resolveNavigationSource(AbstractNameExpCS csNameExp,
Feature feature)
Resolve any implicit source and any associated implicit oclAsSet(). |
protected OCLExpression |
resolveOperation(InvocationExpCS csInvocationExp)
|
protected void |
resolveOperationArguments(InvocationExpCS csInvocationExp,
OCLExpression source,
Operation operation,
OperationCallExp expression)
Complete the installation of each operation argument in its operation call. |
protected void |
resolveOperationArgumentTypes(InvocationExpCS csInvocationExp)
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 OCLExpression |
resolveOperationReference(NamedElement namedElement,
InvocationExpCS csInvocationExp)
|
protected void |
resolveOperationReturnType(CallExp callExp)
|
protected OCLExpression |
resolvePropertyCallExp(NameExpCS csNameExp,
Property property)
|
protected OCLExpression |
resolvePropertyNavigation(NameExpCS csNamedExp)
|
protected StateExp |
resolveStateExp(ExpCS csExp,
State state)
|
protected TypeExp |
resolveTypeExp(ExpCS csExp,
Type type)
|
protected OCLExpression |
resolveUnknownOperation(InvocationExpCS csNamedExp)
|
protected VariableExp |
resolveVariableExp(AbstractNameExpCS 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 csInvocationExp)
|
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, visitDataTypeCS, visitDocumentationCS, visitElementCS, visitElementRefCS, visitEnumerationCS, visitEnumerationLiteralCS, visitImportCS, visitLambdaTypeCS, visitLibraryCS, visitModelElementCS, visitModelElementRefCS, visitMultiplicityBoundsCS, visitMultiplicityStringCS, visitNamedElementCS, visitPackageCS, visitPathElementCS, visitPathElementWithURICS, 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, visitConstraintCS, visitDataTypeCS, visitDetailCS, visitDocumentationCS, visitElementCS, visitElementRefCS, visitEnumerationCS, visitEnumerationLiteralCS, visitImportCS, visiting, visitLambdaTypeCS, visitLibraryCS, visitModelElementCS, visitModelElementRefCS, visitMultiplicityBoundsCS, visitMultiplicityStringCS, visitNamedElementCS, visitOperationCS, visitPackageCS, visitParameterCS, visitPathElementCS, visitPathElementWithURICS, visitPathNameCS, visitPivotableElementCS, visitPrimitiveTypeRefCS, visitReferenceCS, visitRootPackageCS, visitSpecificationCS, visitStructuralFeatureCS, visitTemplateBindingCS, visitTemplateParameterCS, visitTemplateParameterSubstitutionCS, visitTemplateSignatureCS, visitTuplePartCS, visitTupleTypeCS, visitTypedElementCS, visitTypedRefCS, visitTypedTypeRefCS, visitTypeParameterCS, visitTypeRefCS, visitWildcardTypeRefCS |
metaModelManager
@NonNull
protected final MetaModelManager metaModelManager
EssentialOCLLeft2RightVisitor
public EssentialOCLLeft2RightVisitor(@NonNull
CS2PivotConversion context)
getBadOperation
@Nullable
protected Operation getBadOperation()
getBadProperty
@Nullable
protected Property getBadProperty()
getImplicitSource
@Nullable
protected VariableDeclaration getImplicitSource(@NonNull
ModelElementCS csExp,
@NonNull
Feature feature)
getSourceElementType
@Nullable
protected Type getSourceElementType(@NonNull
InvocationExpCS csInvocationExp,
@NonNull
OCLExpression source)
resolveAtPre
protected void resolveAtPre(@Nullable
NameExpCS csNameExp,
@NonNull
FeatureCallExp featureCallExp)
resolveEnumLiteral
@Nullable
protected EnumLiteralExp resolveEnumLiteral(@NonNull
ExpCS csExp,
@NonNull
EnumerationLiteral enumerationLiteral)
resolveIterationAccumulators
protected void resolveIterationAccumulators(@NonNull
InvocationExpCS csInvocationExp,
@NonNull
LoopExp expression)
resolveIterationBody
protected void resolveIterationBody(@NonNull
InvocationExpCS csInvocationExp,
@NonNull
LoopExp expression)
resolveIterationCall
protected LoopExp resolveIterationCall(@NonNull
InvocationExpCS csInvocationExp,
@NonNull
OCLExpression source,
@NonNull
Iteration iteration)
resolveIterationExplicitAccumulators
protected void resolveIterationExplicitAccumulators(@NonNull
InvocationExpCS csInvocationExp)
resolveIterationIterators
protected void resolveIterationIterators(@NonNull
InvocationExpCS csInvocationExp,
@NonNull
OCLExpression source,
@NonNull
LoopExp expression)
resolveNavigationFeature
@NonNull
protected CallExp resolveNavigationFeature(@NonNull
AbstractNameExpCS csElement,
@NonNull
OCLExpression source,
@NonNull
Feature feature,
@NonNull
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
@Nullable
protected OCLExpression resolveNavigationSource(@NonNull
AbstractNameExpCS csNameExp,
@NonNull
Feature feature)
- Resolve any implicit source and any associated implicit oclAsSet().
resolveOperation
protected OCLExpression resolveOperation(@NonNull
InvocationExpCS csInvocationExp)
resolveOperationArgumentTypes
protected void resolveOperationArgumentTypes(@NonNull
InvocationExpCS csInvocationExp)
- 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(@NonNull
InvocationExpCS csInvocationExp,
@Nullable
OCLExpression source,
@NonNull
Operation operation,
@NonNull
OperationCallExp expression)
- Complete the installation of each operation argument in its operation call.
resolveOperationCall
protected void resolveOperationCall(@NonNull
OperationCallExp expression,
@NonNull
OperatorCS csOperator,
@NonNull
ScopeFilter filter)
resolveOperationReference
@Nullable
protected OCLExpression resolveOperationReference(@NonNull
NamedElement namedElement,
@NonNull
InvocationExpCS csInvocationExp)
resolveOperationReturnType
protected void resolveOperationReturnType(@NonNull
CallExp callExp)
resolvePropertyCallExp
@Nullable
protected OCLExpression resolvePropertyCallExp(@NonNull
NameExpCS csNameExp,
@NonNull
Property property)
resolvePropertyNavigation
@Nullable
protected OCLExpression resolvePropertyNavigation(@NonNull
NameExpCS csNamedExp)
resolveStateExp
protected StateExp resolveStateExp(@NonNull
ExpCS csExp,
@NonNull
State state)
resolveTypeExp
protected TypeExp resolveTypeExp(@NonNull
ExpCS csExp,
@NonNull
Type type)
resolveUnknownOperation
protected OCLExpression resolveUnknownOperation(@NonNull
InvocationExpCS csNamedExp)
resolveVariableExp
protected VariableExp resolveVariableExp(@NonNull
AbstractNameExpCS csNameExp,
@NonNull
VariableDeclaration variableDeclaration)
visitBinaryOperatorCS
public Element visitBinaryOperatorCS(@NonNull
BinaryOperatorCS csOperator)
- Specified by:
visitBinaryOperatorCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitBinaryOperatorCS
in class AbstractEssentialOCLLeft2RightVisitor
visitBooleanLiteralExpCS
public Element visitBooleanLiteralExpCS(@NonNull
BooleanLiteralExpCS csBooleanLiteralExp)
- Specified by:
visitBooleanLiteralExpCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitBooleanLiteralExpCS
in class AbstractEssentialOCLLeft2RightVisitor
visitCollectionLiteralExpCS
public Element visitCollectionLiteralExpCS(@NonNull
CollectionLiteralExpCS csCollectionLiteralExp)
- Specified by:
visitCollectionLiteralExpCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitCollectionLiteralExpCS
in class AbstractEssentialOCLLeft2RightVisitor
visitCollectionLiteralPartCS
public Element visitCollectionLiteralPartCS(@NonNull
CollectionLiteralPartCS csCollectionLiteralPart)
- Specified by:
visitCollectionLiteralPartCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitCollectionLiteralPartCS
in class AbstractEssentialOCLLeft2RightVisitor
visitCollectionTypeCS
public Element visitCollectionTypeCS(@NonNull
CollectionTypeCS object)
- Specified by:
visitCollectionTypeCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitCollectionTypeCS
in class AbstractEssentialOCLLeft2RightVisitor
visitConstructorExpCS
public Element visitConstructorExpCS(@NonNull
ConstructorExpCS csConstructorExp)
- Specified by:
visitConstructorExpCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitConstructorExpCS
in class AbstractEssentialOCLLeft2RightVisitor
visitConstructorPartCS
public Element visitConstructorPartCS(@NonNull
ConstructorPartCS csConstructorPart)
- Specified by:
visitConstructorPartCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitConstructorPartCS
in class AbstractEssentialOCLLeft2RightVisitor
visitContextCS
public Element visitContextCS(@NonNull
ContextCS csContext)
- Specified by:
visitContextCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitContextCS
in class AbstractEssentialOCLLeft2RightVisitor
visitExpCS
public Element visitExpCS(@NonNull
ExpCS object)
- Specified by:
visitExpCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitExpCS
in class AbstractEssentialOCLLeft2RightVisitor
visitExpSpecificationCS
public Element visitExpSpecificationCS(@NonNull
ExpSpecificationCS object)
- Specified by:
visitExpSpecificationCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitExpSpecificationCS
in class AbstractEssentialOCLLeft2RightVisitor
visitIfExpCS
public Element visitIfExpCS(@NonNull
IfExpCS csIfExp)
- Specified by:
visitIfExpCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitIfExpCS
in class AbstractEssentialOCLLeft2RightVisitor
visitIndexExpCS
public Element visitIndexExpCS(@NonNull
IndexExpCS csIndexExp)
- Specified by:
visitIndexExpCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitIndexExpCS
in class AbstractEssentialOCLLeft2RightVisitor
visitInfixExpCS
public Element visitInfixExpCS(@NonNull
InfixExpCS csInfixExp)
- Specified by:
visitInfixExpCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitInfixExpCS
in class AbstractEssentialOCLLeft2RightVisitor
visitInvalidLiteralExpCS
public Element visitInvalidLiteralExpCS(@NonNull
InvalidLiteralExpCS csInvalidLiteralExp)
- Specified by:
visitInvalidLiteralExpCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitInvalidLiteralExpCS
in class AbstractEssentialOCLLeft2RightVisitor
visitInvocationExpCS
public Element visitInvocationExpCS(@NonNull
InvocationExpCS csInvocationExp)
- Specified by:
visitInvocationExpCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitInvocationExpCS
in class AbstractEssentialOCLLeft2RightVisitor
visitLetExpCS
public Element visitLetExpCS(@NonNull
LetExpCS csLetExp)
- Specified by:
visitLetExpCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitLetExpCS
in class AbstractEssentialOCLLeft2RightVisitor
visitLetVariableCS
public Element visitLetVariableCS(@NonNull
LetVariableCS csLetVariable)
- Specified by:
visitLetVariableCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitLetVariableCS
in class AbstractEssentialOCLLeft2RightVisitor
visitNameExpCS
public Element visitNameExpCS(@NonNull
NameExpCS csNameExp)
- Specified by:
visitNameExpCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitNameExpCS
in class AbstractEssentialOCLLeft2RightVisitor
visitNavigatingArgCS
public Element visitNavigatingArgCS(@NonNull
NavigatingArgCS csNavigatingArg)
- Specified by:
visitNavigatingArgCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitNavigatingArgCS
in class AbstractEssentialOCLLeft2RightVisitor
visitNavigationOperatorCS
public OCLExpression visitNavigationOperatorCS(@NonNull
NavigationOperatorCS csOperator)
- Specified by:
visitNavigationOperatorCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitNavigationOperatorCS
in class AbstractEssentialOCLLeft2RightVisitor
visitNestedExpCS
public Element visitNestedExpCS(@NonNull
NestedExpCS csNestedExp)
- Specified by:
visitNestedExpCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitNestedExpCS
in class AbstractEssentialOCLLeft2RightVisitor
visitNullLiteralExpCS
public Element visitNullLiteralExpCS(@NonNull
NullLiteralExpCS csNullLiteralExp)
- Specified by:
visitNullLiteralExpCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitNullLiteralExpCS
in class AbstractEssentialOCLLeft2RightVisitor
visitNumberLiteralExpCS
public Element visitNumberLiteralExpCS(@NonNull
NumberLiteralExpCS csNumberLiteralExp)
- Specified by:
visitNumberLiteralExpCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitNumberLiteralExpCS
in class AbstractEssentialOCLLeft2RightVisitor
visitOperatorCS
public Element visitOperatorCS(@NonNull
OperatorCS object)
- Specified by:
visitOperatorCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitOperatorCS
in class AbstractEssentialOCLLeft2RightVisitor
visitPrefixExpCS
public Element visitPrefixExpCS(@NonNull
PrefixExpCS csPrefixExp)
- Specified by:
visitPrefixExpCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitPrefixExpCS
in class AbstractEssentialOCLLeft2RightVisitor
visitSelfExpCS
public Element visitSelfExpCS(@NonNull
SelfExpCS csSelfExp)
- Specified by:
visitSelfExpCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitSelfExpCS
in class AbstractEssentialOCLLeft2RightVisitor
visitStringLiteralExpCS
public Element visitStringLiteralExpCS(@NonNull
StringLiteralExpCS csStringLiteralExp)
- Specified by:
visitStringLiteralExpCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitStringLiteralExpCS
in class AbstractEssentialOCLLeft2RightVisitor
visitTupleLiteralExpCS
public Element visitTupleLiteralExpCS(@NonNull
TupleLiteralExpCS csTupleLiteralExp)
- Specified by:
visitTupleLiteralExpCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitTupleLiteralExpCS
in class AbstractEssentialOCLLeft2RightVisitor
visitTupleLiteralPartCS
public Element visitTupleLiteralPartCS(@NonNull
TupleLiteralPartCS csTupleLiteralPart)
- Specified by:
visitTupleLiteralPartCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitTupleLiteralPartCS
in class AbstractEssentialOCLLeft2RightVisitor
visitTypeLiteralExpCS
public Element visitTypeLiteralExpCS(@NonNull
TypeLiteralExpCS csTypeLiteralExp)
- Specified by:
visitTypeLiteralExpCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitTypeLiteralExpCS
in class AbstractEssentialOCLLeft2RightVisitor
visitUnaryOperatorCS
public Element visitUnaryOperatorCS(@NonNull
UnaryOperatorCS csOperator)
- Specified by:
visitUnaryOperatorCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitUnaryOperatorCS
in class AbstractEssentialOCLLeft2RightVisitor
visitUnlimitedNaturalLiteralExpCS
public Element visitUnlimitedNaturalLiteralExpCS(@NonNull
UnlimitedNaturalLiteralExpCS csUnlimitedNaturalLiteralExp)
- Specified by:
visitUnlimitedNaturalLiteralExpCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitUnlimitedNaturalLiteralExpCS
in class AbstractEssentialOCLLeft2RightVisitor
visitVariableCS
public Element visitVariableCS(@NonNull
VariableCS csVariable)
- Specified by:
visitVariableCS
in interface EssentialOCLCSVisitor<Element>
- Overrides:
visitVariableCS
in class AbstractEssentialOCLLeft2RightVisitor