public class PartialEvaluationVisitorImpl extends EvaluationVisitorImpl
ValueNotFoundException occurs during evaluating an expression, it is not caught, logged and swallowed but
forwarded to the caller.
All visit... operations check if the expression to evaluate is the sourceExpression passed to the
constructor. If so, instead of actually evaluating the expression, the valueOfSourceExpression object is returned
which was also passed to the constructor. This allows for partial evaluation of any CallExp with a given value for the
source expression.
When the sourceExpression has once been evaluated it is nulled out so that when due to recursion it is
evaluated again, evaluation is based on the current environment and not on the cached valueOfSourceExpression.
Without this it could happen that, e.g., the value for a self VariableExp is
cached but would have to have a different value upon recursive evaluation.
result| Constructor and Description |
|---|
PartialEvaluationVisitorImpl(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) |
| Modifier and Type | Method and Description |
|---|---|
protected org.eclipse.emf.common.notify.Notification |
getAtPre() |
PartialEcoreEvaluationEnvironment |
getEvaluationEnvironment()
Obtains the evaluation environment that keeps track of variable values
and knows how to call operations, navigate properties, etc.
|
protected OCLExpression |
getSourceExpression() |
protected java.lang.Object |
getValueOfSourceExpression() |
protected java.lang.Object |
safeVisitExpression(OCLExpression<org.eclipse.emf.ecore.EClassifier> source)
Evaluates
exp. |
protected void |
setSourceExpression(OCLExpression sourceExpression) |
java.lang.Object |
visitAssociationClassCallExp(AssociationClassCallExp<org.eclipse.emf.ecore.EClassifier,org.eclipse.emf.ecore.EStructuralFeature> ae)
Callback for an AssociationClassCallExp visit.
|
java.lang.Object |
visitBooleanLiteralExp(BooleanLiteralExp<org.eclipse.emf.ecore.EClassifier> bl)
Callback for a BooleanLiteralExp visit.
|
java.lang.Object |
visitCollectionLiteralExp(CollectionLiteralExp<org.eclipse.emf.ecore.EClassifier> cl)
Callback for a CollectionLiteralExp visit.
|
java.lang.Object |
visitEnumLiteralExp(EnumLiteralExp<org.eclipse.emf.ecore.EClassifier,org.eclipse.emf.ecore.EEnumLiteral> el)
Callback for an EnumLiteralExp visit.
|
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 |
visitIfExp(IfExp<org.eclipse.emf.ecore.EClassifier> ie)
Callback for an IfExp visit.
|
java.lang.Object |
visitIntegerLiteralExp(IntegerLiteralExp<org.eclipse.emf.ecore.EClassifier> il)
Callback for an IntegerLiteralExp visit.
|
java.lang.Object |
visitInvalidLiteralExp(InvalidLiteralExp<org.eclipse.emf.ecore.EClassifier> il)
Simply returns
AbstractVisitor.result. |
java.lang.Object |
visitIterateExp(IterateExp<org.eclipse.emf.ecore.EClassifier,org.eclipse.emf.ecore.EParameter> ie)
Callback for an IterateExp visit.
|
java.lang.Object |
visitIteratorExp(IteratorExp<org.eclipse.emf.ecore.EClassifier,org.eclipse.emf.ecore.EParameter> ie)
Callback for an IteratorExp visit.
|
java.lang.Object |
visitLetExp(LetExp<org.eclipse.emf.ecore.EClassifier,org.eclipse.emf.ecore.EParameter> l)
Callback for LetExp visit.
|
java.lang.Object |
visitMessageExp(MessageExp<org.eclipse.emf.ecore.EClassifier,CallOperationAction,SendSignalAction> m)
Visits the message expression's target and then its arguments.
|
java.lang.Object |
visitNullLiteralExp(NullLiteralExp<org.eclipse.emf.ecore.EClassifier> il)
Simply returns
AbstractVisitor.result. |
java.lang.Object |
visitOperationCallExp(OperationCallExp<org.eclipse.emf.ecore.EClassifier,org.eclipse.emf.ecore.EOperation> oc)
Callback for an OperationCallExp visit.
|
java.lang.Object |
visitOppositePropertyCallExp(OppositePropertyCallExp pc)
Callback for a PropertyCallExp visit.
|
java.lang.Object |
visitPropertyCallExp(PropertyCallExp<org.eclipse.emf.ecore.EClassifier,org.eclipse.emf.ecore.EStructuralFeature> pc)
Callback for a PropertyCallExp visit.
|
java.lang.Object |
visitRealLiteralExp(RealLiteralExp<org.eclipse.emf.ecore.EClassifier> rl)
Callback for a RealLiteralExp visit.
|
java.lang.Object |
visitStateExp(StateExp<org.eclipse.emf.ecore.EClassifier,org.eclipse.emf.ecore.EObject> s)
Simply returns
AbstractVisitor.result. |
java.lang.Object |
visitStringLiteralExp(StringLiteralExp<org.eclipse.emf.ecore.EClassifier> sl)
Callback for a StringLiteralExp visit.
|
java.lang.Object |
visitTupleLiteralExp(TupleLiteralExp<org.eclipse.emf.ecore.EClassifier,org.eclipse.emf.ecore.EStructuralFeature> tl)
Callback for a TupleLiteralExp visit.
|
java.lang.Object |
visitTypeExp(TypeExp<org.eclipse.emf.ecore.EClassifier> t)
Callback for a TypeExp visiy.
|
java.lang.Object |
visitUnlimitedNaturalLiteralExp(UnlimitedNaturalLiteralExp<org.eclipse.emf.ecore.EClassifier> literalExp)
Callback for an UnlimitedNaturalLiteralExp visit.
|
java.lang.Object |
visitUnspecifiedValueExp(UnspecifiedValueExp<org.eclipse.emf.ecore.EClassifier> uv)
Callback for an UnspecifiedValueExp visit.
|
java.lang.Object |
visitVariableExp(VariableExp<org.eclipse.emf.ecore.EClassifier,org.eclipse.emf.ecore.EParameter> v)
Callback for a VariableExp visit.
|
getOperationBody, getPropertyBodycreateRegexCache, createTypeChecker, getRegexMatcher, visitTupleLiteralPart, visitVariablecall, coerceNumber, getBoolean, getEnvironment, getExtentMap, getInteger, getInvalid, getName, getReal, getSpecification, getStandardLibrary, getString, getUMLReflection, getUnlimitedNatural, getVisitor, higherPrecisionNumber, isLaxNullHandling, isUndefined, navigate, oclIsKindOf, oclIsTypeOf, setEvaluationEnvironment, toString, visitConstrainthandleAssociationClassCallExp, handleCollectionItem, handleCollectionLiteralExp, handleCollectionRange, handleConstraint, handleExpressionInOCL, handleIfExp, handleIterateExp, handleIteratorExp, handleLetExp, handleMessageExp, handleOperationCallExp, handlePropertyCallExp, handleTupleLiteralExp, handleTupleLiteralPart, handleVariable, safeVisit, visitCollectionItem, visitCollectionRange, visitExpressionInOCLclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitvisitCollectionItem, visitCollectionRange, visitExpressionInOCLpublic PartialEvaluationVisitorImpl(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)
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.public java.lang.Object visitOperationCallExp(OperationCallExp<org.eclipse.emf.ecore.EClassifier,org.eclipse.emf.ecore.EOperation> oc)
EvaluationVisitorImplvisitOperationCallExp 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>visitOperationCallExp in class 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>protected java.lang.Object safeVisitExpression(OCLExpression<org.eclipse.emf.ecore.EClassifier> source)
AbstractEvaluationVisitorexp. If the evaluation terminates with an
exception that does not have special semantics for the OCL evaluator
itself, such as EvaluationHaltedException, the exception is
caught, and invalid is returned as the result of
the evaluation. If the evaluation terminates normally, the evaluation
result is returned.Subclasses may override this method to add exceptions to the list of exceptions that are not caught because they have special meaning to a specialized OCL evaluator.
safeVisitExpression in class AbstractEvaluationVisitor<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>public java.lang.Object visitIterateExp(IterateExp<org.eclipse.emf.ecore.EClassifier,org.eclipse.emf.ecore.EParameter> ie)
EvaluationVisitorImplvisitIterateExp 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>visitIterateExp in class 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>public java.lang.Object visitIteratorExp(IteratorExp<org.eclipse.emf.ecore.EClassifier,org.eclipse.emf.ecore.EParameter> ie)
EvaluationVisitorImplvisitIteratorExp 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>visitIteratorExp in class 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>public java.lang.Object visitEnumLiteralExp(EnumLiteralExp<org.eclipse.emf.ecore.EClassifier,org.eclipse.emf.ecore.EEnumLiteral> el)
EvaluationVisitorImplvisitEnumLiteralExp 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>visitEnumLiteralExp in class 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>el - the enumeration literal expresionpublic PartialEcoreEvaluationEnvironment getEvaluationEnvironment()
EvaluationVisitorgetEvaluationEnvironment 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>getEvaluationEnvironment in class AbstractEvaluationVisitor<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>public java.lang.Object visitVariableExp(VariableExp<org.eclipse.emf.ecore.EClassifier,org.eclipse.emf.ecore.EParameter> v)
EvaluationVisitorImplvisitVariableExp 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>visitVariableExp in class 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>v - the variable expressionpublic java.lang.Object visitPropertyCallExp(PropertyCallExp<org.eclipse.emf.ecore.EClassifier,org.eclipse.emf.ecore.EStructuralFeature> pc)
EvaluationVisitorImplvisitPropertyCallExp 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>visitPropertyCallExp in class 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>public java.lang.Object visitAssociationClassCallExp(AssociationClassCallExp<org.eclipse.emf.ecore.EClassifier,org.eclipse.emf.ecore.EStructuralFeature> ae)
EvaluationVisitorImplvisitAssociationClassCallExp 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>visitAssociationClassCallExp in class 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>public java.lang.Object visitIfExp(IfExp<org.eclipse.emf.ecore.EClassifier> ie)
EvaluationVisitorImplvisitIfExp 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>visitIfExp in class 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>public java.lang.Object visitTypeExp(TypeExp<org.eclipse.emf.ecore.EClassifier> t)
EvaluationVisitorImplvisitTypeExp 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>visitTypeExp in class 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>public java.lang.Object visitStateExp(StateExp<org.eclipse.emf.ecore.EClassifier,org.eclipse.emf.ecore.EObject> s)
AbstractVisitorAbstractVisitor.result.visitStateExp 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>visitStateExp in class 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>public java.lang.Object visitMessageExp(MessageExp<org.eclipse.emf.ecore.EClassifier,CallOperationAction,SendSignalAction> m)
AbstractVisitorAbstractVisitor.handleMessageExp(MessageExp, Object, List).visitMessageExp 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>visitMessageExp in class 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>public java.lang.Object visitUnspecifiedValueExp(UnspecifiedValueExp<org.eclipse.emf.ecore.EClassifier> uv)
EvaluationVisitorImplvisitUnspecifiedValueExp 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>visitUnspecifiedValueExp in class 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>public java.lang.Object visitIntegerLiteralExp(IntegerLiteralExp<org.eclipse.emf.ecore.EClassifier> il)
EvaluationVisitorImplvisitIntegerLiteralExp 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>visitIntegerLiteralExp in class 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>public java.lang.Object visitUnlimitedNaturalLiteralExp(UnlimitedNaturalLiteralExp<org.eclipse.emf.ecore.EClassifier> literalExp)
EvaluationVisitorImplvisitUnlimitedNaturalLiteralExp 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>visitUnlimitedNaturalLiteralExp in class 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>public java.lang.Object visitRealLiteralExp(RealLiteralExp<org.eclipse.emf.ecore.EClassifier> rl)
EvaluationVisitorImplvisitRealLiteralExp 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>visitRealLiteralExp in class 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>public java.lang.Object visitStringLiteralExp(StringLiteralExp<org.eclipse.emf.ecore.EClassifier> sl)
EvaluationVisitorImplvisitStringLiteralExp 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>visitStringLiteralExp in class 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>public java.lang.Object visitBooleanLiteralExp(BooleanLiteralExp<org.eclipse.emf.ecore.EClassifier> bl)
EvaluationVisitorImplvisitBooleanLiteralExp 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>visitBooleanLiteralExp in class 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>public java.lang.Object visitInvalidLiteralExp(InvalidLiteralExp<org.eclipse.emf.ecore.EClassifier> il)
AbstractVisitorAbstractVisitor.result.visitInvalidLiteralExp 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>visitInvalidLiteralExp in class 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>public java.lang.Object visitNullLiteralExp(NullLiteralExp<org.eclipse.emf.ecore.EClassifier> il)
AbstractVisitorAbstractVisitor.result.visitNullLiteralExp 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>visitNullLiteralExp in class 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>public java.lang.Object visitLetExp(LetExp<org.eclipse.emf.ecore.EClassifier,org.eclipse.emf.ecore.EParameter> l)
EvaluationVisitorImplvisitLetExp 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>visitLetExp in class 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>public java.lang.Object visitCollectionLiteralExp(CollectionLiteralExp<org.eclipse.emf.ecore.EClassifier> cl)
EvaluationVisitorImplvisitCollectionLiteralExp 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>visitCollectionLiteralExp in class 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>public java.lang.Object visitTupleLiteralExp(TupleLiteralExp<org.eclipse.emf.ecore.EClassifier,org.eclipse.emf.ecore.EStructuralFeature> tl)
EvaluationVisitorImplvisitTupleLiteralExp 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>visitTupleLiteralExp in class 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>tl - tuple literal expressionpublic java.lang.Object visitExpression(OCLExpression<org.eclipse.emf.ecore.EClassifier> expression)
AbstractEvaluationVisitor implementation but additionally catches the
ValueNotFoundException and in that case passes on the exception instead of turning it into an OclInvalid
value.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>visitExpression in class AbstractEvaluationVisitor<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>expression - an OCL expression to evaluatepublic java.lang.Object visitOppositePropertyCallExp(OppositePropertyCallExp pc)
EvaluationVisitorImplvisitOppositePropertyCallExp in interface VisitorExtension<java.lang.Object>visitOppositePropertyCallExp in class EvaluationVisitorImplprotected OCLExpression getSourceExpression()
protected void setSourceExpression(OCLExpression sourceExpression)
protected java.lang.Object getValueOfSourceExpression()
protected org.eclipse.emf.common.notify.Notification getAtPre()