org.eclipse.ocl.examples.impactanalyzer.instanceScope.unusedEvaluation
Class PartialEvaluationVisitorImplNoAllInstances

java.lang.Object
  extended by org.eclipse.ocl.utilities.AbstractVisitor<java.lang.Object,C,O,P,EL,PM,S,COA,SSA,CT>
      extended by org.eclipse.ocl.AbstractEvaluationVisitor<PK,C,O,P,EL,PM,S,COA,SSA,CT,CLS,E>
          extended by org.eclipse.ocl.EvaluationVisitorImpl<org.eclipse.emf.ecore.EPackage,org.eclipse.emf.ecore.EClassifier,org.eclipse.emf.ecore.EOperation,org.eclipse.emf.ecore.EStructuralFeature,org.eclipse.emf.ecore.EEnumLiteral,org.eclipse.emf.ecore.EParameter,org.eclipse.emf.ecore.EObject,CallOperationAction,SendSignalAction,Constraint,org.eclipse.emf.ecore.EClass,org.eclipse.emf.ecore.EObject>
              extended by org.eclipse.ocl.ecore.EvaluationVisitorImpl
                  extended by org.eclipse.ocl.examples.impactanalyzer.deltaPropagation.PartialEvaluationVisitorImpl
                      extended by org.eclipse.ocl.examples.impactanalyzer.instanceScope.unusedEvaluation.PartialEvaluationVisitorImplNoAllInstances
All Implemented Interfaces:
VisitorExtension<java.lang.Object>, EvaluationVisitor<org.eclipse.emf.ecore.EPackage,org.eclipse.emf.ecore.EClassifier,org.eclipse.emf.ecore.EOperation,org.eclipse.emf.ecore.EStructuralFeature,org.eclipse.emf.ecore.EEnumLiteral,org.eclipse.emf.ecore.EParameter,org.eclipse.emf.ecore.EObject,CallOperationAction,SendSignalAction,Constraint,org.eclipse.emf.ecore.EClass,org.eclipse.emf.ecore.EObject>, Visitor<java.lang.Object,org.eclipse.emf.ecore.EClassifier,org.eclipse.emf.ecore.EOperation,org.eclipse.emf.ecore.EStructuralFeature,org.eclipse.emf.ecore.EEnumLiteral,org.eclipse.emf.ecore.EParameter,org.eclipse.emf.ecore.EObject,CallOperationAction,SendSignalAction,Constraint>

public class PartialEvaluationVisitorImplNoAllInstances
extends PartialEvaluationVisitorImpl

In addition to throwing a ValueNotFoundException as already done by the superclass, this implementation also throws a NoAllInstancesDuringEvaluationForUnusedCheck exception in case an allInstances() call is to be evaluated.

Author:
Axel Uhl

Field Summary
 
Fields inherited from class org.eclipse.ocl.utilities.AbstractVisitor
result
 
Constructor Summary
PartialEvaluationVisitorImplNoAllInstances(Environment<org.eclipse.emf.ecore.EPackage,org.eclipse.emf.ecore.EClassifier,org.eclipse.emf.ecore.EOperation,org.eclipse.emf.ecore.EStructuralFeature,org.eclipse.emf.ecore.EEnumLiteral,org.eclipse.emf.ecore.EParameter,org.eclipse.emf.ecore.EObject,CallOperationAction,SendSignalAction,Constraint,org.eclipse.emf.ecore.EClass,org.eclipse.emf.ecore.EObject> env, EvaluationEnvironment<org.eclipse.emf.ecore.EClassifier,org.eclipse.emf.ecore.EOperation,org.eclipse.emf.ecore.EStructuralFeature,org.eclipse.emf.ecore.EClass,org.eclipse.emf.ecore.EObject> evalEnv, java.util.Map<? extends org.eclipse.emf.ecore.EClass,? extends java.util.Set<? extends org.eclipse.emf.ecore.EObject>> extentMap, OCLExpression sourceExpression, java.lang.Object valueOfSourceExpression, org.eclipse.emf.common.notify.Notification atPre)
           
 
Method Summary
 java.lang.Object visitExpression(OCLExpression<org.eclipse.emf.ecore.EClassifier> expression)
          Does the same as the AbstractEvaluationVisitor implementation but additionally catches the ValueNotFoundException and in that case passes on the exception instead of turning it into an OclInvalid value.
 java.lang.Object visitOperationCallExp(OperationCallExp<org.eclipse.emf.ecore.EClassifier,org.eclipse.emf.ecore.EOperation> oc)
          Callback for an OperationCallExp visit.
 
Methods inherited from class org.eclipse.ocl.examples.impactanalyzer.deltaPropagation.PartialEvaluationVisitorImpl
getAtPre, getEvaluationEnvironment, getSourceExpression, getValueOfSourceExpression, safeVisitExpression, setSourceExpression, visitAssociationClassCallExp, visitBooleanLiteralExp, visitCollectionLiteralExp, visitEnumLiteralExp, visitIfExp, visitIntegerLiteralExp, visitInvalidLiteralExp, visitIterateExp, visitIteratorExp, visitLetExp, visitMessageExp, visitNullLiteralExp, visitOppositePropertyCallExp, visitPropertyCallExp, visitRealLiteralExp, visitStateExp, visitStringLiteralExp, visitTupleLiteralExp, visitTypeExp, visitUnlimitedNaturalLiteralExp, visitUnspecifiedValueExp, visitVariableExp
 
Methods inherited from class org.eclipse.ocl.ecore.EvaluationVisitorImpl
getOperationBody, getPropertyBody
 
Methods inherited from class org.eclipse.ocl.EvaluationVisitorImpl
visitTupleLiteralPart, visitVariable
 
Methods inherited from class org.eclipse.ocl.AbstractEvaluationVisitor
call, coerceNumber, getBoolean, getEnvironment, getExtentMap, getInteger, getInvalid, getName, getReal, getSpecification, getStandardLibrary, getString, getUMLReflection, getUnlimitedNatural, getVisitor, higherPrecisionNumber, isLaxNullHandling, isUndefined, navigate, oclIsKindOf, oclIsTypeOf, setEvaluationEnvironment, toString, visitConstraint
 
Methods inherited from class org.eclipse.ocl.utilities.AbstractVisitor
handleAssociationClassCallExp, handleCollectionItem, handleCollectionLiteralExp, handleCollectionRange, handleConstraint, handleExpressionInOCL, handleIfExp, handleIterateExp, handleIteratorExp, handleLetExp, handleMessageExp, handleOperationCallExp, handlePropertyCallExp, handleTupleLiteralExp, handleTupleLiteralPart, handleVariable, safeVisit, visitCollectionItem, visitCollectionRange, visitExpressionInOCL
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.eclipse.ocl.utilities.Visitor
visitCollectionItem, visitCollectionRange, visitExpressionInOCL
 

Constructor Detail

PartialEvaluationVisitorImplNoAllInstances

public PartialEvaluationVisitorImplNoAllInstances(Environment<org.eclipse.emf.ecore.EPackage,org.eclipse.emf.ecore.EClassifier,org.eclipse.emf.ecore.EOperation,org.eclipse.emf.ecore.EStructuralFeature,org.eclipse.emf.ecore.EEnumLiteral,org.eclipse.emf.ecore.EParameter,org.eclipse.emf.ecore.EObject,CallOperationAction,SendSignalAction,Constraint,org.eclipse.emf.ecore.EClass,org.eclipse.emf.ecore.EObject> env,
                                                  EvaluationEnvironment<org.eclipse.emf.ecore.EClassifier,org.eclipse.emf.ecore.EOperation,org.eclipse.emf.ecore.EStructuralFeature,org.eclipse.emf.ecore.EClass,org.eclipse.emf.ecore.EObject> evalEnv,
                                                  java.util.Map<? extends org.eclipse.emf.ecore.EClass,? extends java.util.Set<? extends org.eclipse.emf.ecore.EObject>> extentMap,
                                                  OCLExpression sourceExpression,
                                                  java.lang.Object valueOfSourceExpression,
                                                  org.eclipse.emf.common.notify.Notification atPre)
Parameters:
atPre - a Notification object such that an evaluation will be based on the state *before* the notification. For example, if the notification indicates the removal of a reference from an element e1 to an element e2 across reference r then when during partial evaluation r is traversed starting from e1 then e2 will show in the results although in the current version of the model it would not. If null, the evaluator will evaluate expressions on the model as is.
Method Detail

visitOperationCallExp

public java.lang.Object visitOperationCallExp(OperationCallExp<org.eclipse.emf.ecore.EClassifier,org.eclipse.emf.ecore.EOperation> oc)
Description copied from class: EvaluationVisitorImpl
Callback for an OperationCallExp visit.

Specified by:
visitOperationCallExp in interface Visitor<java.lang.Object,org.eclipse.emf.ecore.EClassifier,org.eclipse.emf.ecore.EOperation,org.eclipse.emf.ecore.EStructuralFeature,org.eclipse.emf.ecore.EEnumLiteral,org.eclipse.emf.ecore.EParameter,org.eclipse.emf.ecore.EObject,CallOperationAction,SendSignalAction,Constraint>
Overrides:
visitOperationCallExp in class PartialEvaluationVisitorImpl

visitExpression

public java.lang.Object visitExpression(OCLExpression<org.eclipse.emf.ecore.EClassifier> expression)
Does the same as the AbstractEvaluationVisitor implementation but additionally catches the ValueNotFoundException and in that case passes on the exception instead of turning it into an OclInvalid value.

Specified by:
visitExpression in interface EvaluationVisitor<org.eclipse.emf.ecore.EPackage,org.eclipse.emf.ecore.EClassifier,org.eclipse.emf.ecore.EOperation,org.eclipse.emf.ecore.EStructuralFeature,org.eclipse.emf.ecore.EEnumLiteral,org.eclipse.emf.ecore.EParameter,org.eclipse.emf.ecore.EObject,CallOperationAction,SendSignalAction,Constraint,org.eclipse.emf.ecore.EClass,org.eclipse.emf.ecore.EObject>
Overrides:
visitExpression in class PartialEvaluationVisitorImpl
Parameters:
expression - an OCL expression to evaluate
Returns:
the result of the evaluation