org.eclipse.ocl.examples.pivot.utilities
Class PivotSaver.PivotSaveResolveVisitor

java.lang.Object
  extended by org.eclipse.ocl.examples.pivot.util.AbstractVisitor<R,C>
      extended by org.eclipse.ocl.examples.pivot.util.AbstractExtendingVisitor<java.lang.Object,java.lang.Object>
          extended by org.eclipse.ocl.examples.pivot.utilities.PivotSaver.PivotSaveResolveVisitor
All Implemented Interfaces:
Visitor<java.lang.Object,java.lang.Object>
Enclosing class:
PivotSaver

public class PivotSaver.PivotSaveResolveVisitor
extends AbstractExtendingVisitor<java.lang.Object,java.lang.Object>

PivotSaveResolveVisitor converts references to shared specializations to references to local copies.


Field Summary
 
Fields inherited from class org.eclipse.ocl.examples.pivot.util.AbstractVisitor
context
 
Constructor Summary
protected PivotSaver.PivotSaveResolveVisitor()
           
 
Method Summary
protected
<T extends Operation>
T
resolveOperation(T referredOperation)
          Return the resolved variant of referredType, which may require creation of a local copy of a specialization.
protected
<T extends Type>
T
resolveType(T referredType)
          Return the resolved variant of referredType, which may require creation of a local copy of a specialization.
 java.lang.Object visitClass(Class object)
           
 java.lang.Object visitClassifierType(ClassifierType object)
           
 java.lang.Object visitCollectionType(CollectionType object)
           
 java.lang.Object visiting(Visitable visitable)
          Return the result of visiting a visitable for which no more specific pivot type method is available.
 java.lang.Object visitLambdaType(LambdaType object)
           
 java.lang.Object visitLoopExp(LoopExp object)
           
 java.lang.Object visitOperationCallExp(OperationCallExp object)
           
 java.lang.Object visitTemplateParameterSubstitution(TemplateParameterSubstitution object)
           
 java.lang.Object visitTypedElement(TypedElement object)
           
 java.lang.Object visitTypeTemplateParameter(TypeTemplateParameter object)
           
 
Methods inherited from class org.eclipse.ocl.examples.pivot.util.AbstractExtendingVisitor
visitAnnotation, visitAnyType, visitAssociationClass, visitAssociationClassCallExp, visitBagType, visitBooleanLiteralExp, visitCallExp, visitCallOperationAction, visitCollectionItem, visitCollectionLiteralExp, visitCollectionLiteralPart, visitCollectionRange, visitComment, visitConstraint, visitDataType, visitDetail, visitElement, visitEnumeration, visitEnumerationLiteral, visitEnumLiteralExp, visitExpressionInOcl, visitFeature, visitFeatureCallExp, visitIfExp, visitIntegerLiteralExp, visitInvalidLiteralExp, visitInvalidType, visitIterateExp, visitIteration, visitIteratorExp, visitLetExp, visitLibrary, visitLiteralExp, visitMessageExp, visitMessageType, visitMonikeredElement, visitMultiplicityElement, visitNamedElement, visitNamespace, visitNavigationCallExp, visitNullLiteralExp, visitNumericLiteralExp, visitOclExpression, visitOpaqueExpression, visitOperation, visitOperationTemplateParameter, visitOrderedSetType, visitPackage, visitPackageableElement, visitParameter, visitParameterableElement, visitPrecedence, visitPrimitiveLiteralExp, visitPrimitiveType, visitProperty, visitPropertyCallExp, visitRealLiteralExp, visitSendSignalAction, visitSequenceType, visitSetType, visitSignal, visitState, visitStateExp, visitStringLiteralExp, visitTemplateableElement, visitTemplateBinding, visitTemplateParameter, visitTemplateParameterType, visitTemplateSignature, visitTupleLiteralExp, visitTupleLiteralPart, visitTupleType, visitType, visitTypedMultiplicityElement, visitTypeExp, visitUnlimitedNaturalLiteralExp, visitUnspecifiedType, visitUnspecifiedValueExp, visitValueSpecification, visitVariable, visitVariableDeclaration, visitVariableExp, visitVoidType
 
Methods inherited from class org.eclipse.ocl.examples.pivot.util.AbstractVisitor
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.pivot.util.Visitor
getAdapter
 

Constructor Detail

PivotSaver.PivotSaveResolveVisitor

protected PivotSaver.PivotSaveResolveVisitor()
Method Detail

resolveOperation

protected <T extends Operation> T resolveOperation(T referredOperation)
Return the resolved variant of referredType, which may require creation of a local copy of a specialization.


resolveType

protected <T extends Type> T resolveType(T referredType)
Return the resolved variant of referredType, which may require creation of a local copy of a specialization.


visitClass

public java.lang.Object visitClass(Class object)
Specified by:
visitClass in interface Visitor<java.lang.Object,java.lang.Object>
Overrides:
visitClass in class AbstractExtendingVisitor<java.lang.Object,java.lang.Object>

visitClassifierType

public java.lang.Object visitClassifierType(ClassifierType object)
Specified by:
visitClassifierType in interface Visitor<java.lang.Object,java.lang.Object>
Overrides:
visitClassifierType in class AbstractExtendingVisitor<java.lang.Object,java.lang.Object>

visitCollectionType

public java.lang.Object visitCollectionType(CollectionType object)
Specified by:
visitCollectionType in interface Visitor<java.lang.Object,java.lang.Object>
Overrides:
visitCollectionType in class AbstractExtendingVisitor<java.lang.Object,java.lang.Object>

visitLambdaType

public java.lang.Object visitLambdaType(LambdaType object)
Specified by:
visitLambdaType in interface Visitor<java.lang.Object,java.lang.Object>
Overrides:
visitLambdaType in class AbstractExtendingVisitor<java.lang.Object,java.lang.Object>

visitLoopExp

public java.lang.Object visitLoopExp(LoopExp object)
Specified by:
visitLoopExp in interface Visitor<java.lang.Object,java.lang.Object>
Overrides:
visitLoopExp in class AbstractExtendingVisitor<java.lang.Object,java.lang.Object>

visitOperationCallExp

public java.lang.Object visitOperationCallExp(OperationCallExp object)
Specified by:
visitOperationCallExp in interface Visitor<java.lang.Object,java.lang.Object>
Overrides:
visitOperationCallExp in class AbstractExtendingVisitor<java.lang.Object,java.lang.Object>

visitTemplateParameterSubstitution

public java.lang.Object visitTemplateParameterSubstitution(TemplateParameterSubstitution object)
Specified by:
visitTemplateParameterSubstitution in interface Visitor<java.lang.Object,java.lang.Object>
Overrides:
visitTemplateParameterSubstitution in class AbstractExtendingVisitor<java.lang.Object,java.lang.Object>

visitTypeTemplateParameter

public java.lang.Object visitTypeTemplateParameter(TypeTemplateParameter object)
Specified by:
visitTypeTemplateParameter in interface Visitor<java.lang.Object,java.lang.Object>
Overrides:
visitTypeTemplateParameter in class AbstractExtendingVisitor<java.lang.Object,java.lang.Object>

visitTypedElement

public java.lang.Object visitTypedElement(TypedElement object)
Specified by:
visitTypedElement in interface Visitor<java.lang.Object,java.lang.Object>
Overrides:
visitTypedElement in class AbstractExtendingVisitor<java.lang.Object,java.lang.Object>

visiting

public java.lang.Object visiting(Visitable visitable)
Description copied from interface: Visitor
Return the result of visiting a visitable for which no more specific pivot type method is available.