org.eclipse.ocl.ecore
Class EvaluationVisitorImpl
java.lang.Object
org.eclipse.ocl.utilities.AbstractVisitor<java.lang.Object,C,O,P,EL,PM,S,COA,SSA,CT>
org.eclipse.ocl.AbstractEvaluationVisitor<PK,C,O,P,EL,PM,S,COA,SSA,CT,CLS,E>
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>
org.eclipse.ocl.ecore.EvaluationVisitorImpl
- 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>
- Direct Known Subclasses:
- PartialEvaluationVisitorImpl
public class EvaluationVisitorImpl
- extends 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>
- implements VisitorExtension<java.lang.Object>
- Since:
- 3.1
Constructor Summary |
EvaluationVisitorImpl(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)
|
Methods inherited from class org.eclipse.ocl.EvaluationVisitorImpl |
createTypeChecker, visitAssociationClassCallExp, visitBooleanLiteralExp, visitCollectionLiteralExp, visitEnumLiteralExp, visitIfExp, visitIntegerLiteralExp, visitInvalidLiteralExp, visitIterateExp, visitIteratorExp, visitLetExp, visitMessageExp, visitNullLiteralExp, visitOperationCallExp, visitPropertyCallExp, visitRealLiteralExp, visitStateExp, visitStringLiteralExp, visitTupleLiteralExp, visitTupleLiteralPart, visitTypeExp, visitUnlimitedNaturalLiteralExp, visitUnspecifiedValueExp, visitVariable, visitVariableExp |
Methods inherited from class org.eclipse.ocl.AbstractEvaluationVisitor |
call, coerceNumber, getBoolean, getEnvironment, getEvaluationEnvironment, getExtentMap, getInteger, getInvalid, getName, getReal, getSpecification, getStandardLibrary, getString, getUMLReflection, getUnlimitedNatural, getVisitor, higherPrecisionNumber, isLaxNullHandling, isUndefined, navigate, oclIsKindOf, oclIsTypeOf, safeVisitExpression, setEvaluationEnvironment, toString, visitConstraint, visitExpression |
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 |
EvaluationVisitorImpl
public EvaluationVisitorImpl(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)
visitOppositePropertyCallExp
public java.lang.Object visitOppositePropertyCallExp(OppositePropertyCallExp pc)
- Callback for a PropertyCallExp visit. Evaluates the source of the
expression and then reflectively gets the value of the property on the
result. For example, in "self.foo", "self" is the source and would be
evaluated first, then the value of the property "foo" would be accessed
on that object.
- Specified by:
visitOppositePropertyCallExp
in interface VisitorExtension<java.lang.Object>
getOperationBody
protected OCLExpression<org.eclipse.emf.ecore.EClassifier> getOperationBody(org.eclipse.emf.ecore.EOperation operation)
- Tries to fetch an operation body from where the
OCL invocation delegate
stores it. If nothing
is found, this method delegates to the base class implementation which then
performs the usual search in the OCL_NAMESPACE_URI annotation and the
environment's body condition cache.
- Overrides:
getOperationBody
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>
- Parameters:
operation
- an operation
- Returns:
- its value expression, if any
getPropertyBody
protected OCLExpression<org.eclipse.emf.ecore.EClassifier> getPropertyBody(org.eclipse.emf.ecore.EStructuralFeature property)
- Description copied from class:
AbstractEvaluationVisitor
- Obtains the body of the specified property's def or der expression,
if any.
- Overrides:
getPropertyBody
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>
- Parameters:
property
- a property
- Returns:
- its value expression, if any