org.eclipse.ocl.examples.impactanalyzer.instanceScope
Class OperationCallExpTracer
java.lang.Object
org.eclipse.ocl.examples.impactanalyzer.instanceScope.AbstractTracer<OperationCallExp>
org.eclipse.ocl.examples.impactanalyzer.instanceScope.OperationCallExpTracer
- All Implemented Interfaces:
- Tracer
public class OperationCallExpTracer
- extends AbstractTracer<OperationCallExp>
Methods inherited from class org.eclipse.ocl.examples.impactanalyzer.instanceScope.AbstractTracer |
applyScopesOnNavigationStep, commonCompositionParent, commonCompositionParent, doesTypeMatch, doesTypeMatch, getAllVariablesInScope, getExpression, getExtendedListOfTuplePartNames, getInnermostElementType, getListOfTuplePartNamesWithFoundRemoved, getRootExpression, getTupleLiteralPartNamesToLookFor, getTuplePartNameLookedFor, getVariablesIntroducedBetweenHereAnd, getVariablesScopedByExpression, isLookingForTuplePart, variablesIntroducedBetween |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
OperationCallExpTracer
public OperationCallExpTracer(OperationCallExp expression,
java.util.Stack<java.lang.String> tuplePartNames,
OCLFactory oclFactory)
traceback
public NavigationStep traceback(org.eclipse.emf.ecore.EClass context,
PathCache pathCache,
OperationBodyToCallMapper operationBodyToCallMapper)
- Description copied from class:
AbstractTracer
- By default, many expression types which, e.g., result in a primitive result, return an
EmptyResultNavigationStep
which is what this default implementation does.
- Specified by:
traceback
in interface Tracer
- Overrides:
traceback
in class AbstractTracer<OperationCallExp>
- Parameters:
context
- the context type that defines the type of any self occurrence outside of operation bodiespathCache
- a global cache that remembers the navigation steps already computed for some OCL expressionsoperationBodyToCallMapper
- the filter synthesizer that analyzed an overall expression that contains the expression to be handled by this
tracer
calculateEnteringScope
protected java.util.Set<Variable> calculateEnteringScope(OperationBodyToCallMapper operationBodyToCallMapper)
- Description copied from class:
AbstractTracer
- Calculates the scopes the
NavigationStep
this Tracer
creates will enter when navigated.
- Overrides:
calculateEnteringScope
in class AbstractTracer<OperationCallExp>
- Returns:
- the
OCLExpression
s representing the scope the created NavigationStep
will enter when navigated. Always
non-null
, but possibly empty
calculateLeavingScopes
protected java.util.Set<Variable> calculateLeavingScopes(OperationBodyToCallMapper operationBodyToCallMapper)
- When tracing into the called operation's body, all variables currently in scope are left.
- Overrides:
calculateLeavingScopes
in class AbstractTracer<OperationCallExp>
- Returns:
- the set of
OCLExpression
s representing the scopes the created NavigationStep
will leave when navigated.