org.eclipse.ocl.examples.impactanalyzer.instanceScope.unusedEvaluation
Class PartialEcoreEnvironmentFactoryNoAllInstances
java.lang.Object
org.eclipse.ocl.AbstractEnvironmentFactory<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.EcoreEnvironmentFactory
org.eclipse.ocl.ecore.opposites.EcoreEnvironmentFactoryWithHiddenOpposites
org.eclipse.ocl.examples.impactanalyzer.util.EcoreEnvironmentFactoryWithScopedExtentMap
org.eclipse.ocl.examples.impactanalyzer.deltaPropagation.PartialEcoreEnvironmentFactory
org.eclipse.ocl.examples.impactanalyzer.instanceScope.unusedEvaluation.PartialEcoreEnvironmentFactoryNoAllInstances
- All Implemented Interfaces:
- EnvironmentFactory<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>, Adaptable
public class PartialEcoreEnvironmentFactoryNoAllInstances
- extends PartialEcoreEnvironmentFactory
Uses PartialEvaluationVisitorImplNoAllInstances
as evaluation visitor which throws a
NoAllInstancesDuringEvaluationForUnusedCheck
exception in case allInstances()
is to be evaluated.
- Author:
- Axel Uhl (D043530)
Nested classes/interfaces inherited from interface org.eclipse.ocl.EnvironmentFactory |
EnvironmentFactory.Lookup<PK,C,O,P,EL,PM,S,COA,SSA,CT,CLS,E> |
Method Summary |
PartialEvaluationVisitorImplNoAllInstances |
createEvaluationVisitor(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)
Creates a visitor. |
Methods inherited from class org.eclipse.ocl.ecore.EcoreEnvironmentFactory |
createEnvironment, createEnvironment, createOCLAnalyzer, createOCLAnalyzer, createOCLFactoryWithHistory, createOCLSyntaxHelper, createValidationVisitor, getClassifier, getEPackageRegistry, getOppositeEndFinder, loadEnvironment, lookupPackage |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
PartialEcoreEnvironmentFactoryNoAllInstances
public PartialEcoreEnvironmentFactoryNoAllInstances()
- Uses a
DefaultOppositeEndFinder
for querying hidden opposites
PartialEcoreEnvironmentFactoryNoAllInstances
public PartialEcoreEnvironmentFactoryNoAllInstances(org.eclipse.emf.common.notify.Notification atPre)
- Taking a
Notification
object such that an evaluation performed with the EvaluationVisitor
returned by this
factory's createEvaluationVisitor(Environment, EvaluationEnvironment, Map)
operation 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.
Uses a DefaultOppositeEndFinder
for navigating hidden opposites.
PartialEcoreEnvironmentFactoryNoAllInstances
public PartialEcoreEnvironmentFactoryNoAllInstances(org.eclipse.emf.common.notify.Notification atPre,
OppositeEndFinder oppositeEndFinder)
createEvaluationVisitor
public PartialEvaluationVisitorImplNoAllInstances createEvaluationVisitor(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)
- Creates a visitor. The
AbstractEnvironmentFactory.isEvaluationTracingEnabled()
result is ignored here. Unfortunately,
the TracingEvaluationVisitor class is not visible here. The PartialEcoreEnvironmentFactory.sourceExpression
and PartialEcoreEnvironmentFactory.valueOfSourceExpression
are passed to the PartialEvaluationVisitorImplNoAllInstances
constructor and are nulled out before the constructor is called. As a consequence of this, subsequent
requests to this factory to create a visitor will result in visitors that don't treat the
source expression special anymore. This prevents incorrect use of the cached value during
recursions.
- Specified by:
createEvaluationVisitor
in interface EnvironmentFactory<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:
createEvaluationVisitor
in class PartialEcoreEnvironmentFactory
- Parameters:
env
- the environment in which the expression was originally parsed
(or some compatible environment)evalEnv
- the evaluation environment that the visitor is to use
for tracking variables, navigating properties, etc.extentMap
- the map of Classes to their extends
- Returns:
- the new evaluation visitor