public class OperationCallExpTracer extends AbstractTracer<OperationCallExp>
oclFactory
Constructor and Description |
---|
OperationCallExpTracer(OperationCallExp expression,
java.util.Stack<java.lang.String> tuplePartNames,
OCLFactory oclFactory) |
Modifier and Type | Method and Description |
---|---|
protected java.util.Set<Variable> |
calculateEnteringScope(OperationBodyToCallMapper operationBodyToCallMapper)
Calculates the scopes the
NavigationStep this Tracer creates will enter when navigated. |
protected java.util.Set<Variable> |
calculateLeavingScopes(OperationBodyToCallMapper operationBodyToCallMapper)
When tracing into the called operation's body, all variables currently in scope are left.
|
NavigationStep |
traceback(org.eclipse.emf.ecore.EClass context,
PathCache pathCache,
OperationBodyToCallMapper operationBodyToCallMapper)
By default, many expression types which, e.g., result in a primitive result, return an
EmptyResultNavigationStep
which is what this default implementation does. |
applyScopesOnNavigationStep, commonCompositionParent, commonCompositionParent, doesTypeMatch, doesTypeMatch, getAllVariablesInScope, getExpression, getExtendedListOfTuplePartNames, getInnermostElementType, getListOfTuplePartNamesWithFoundRemoved, getRootExpression, getTupleLiteralPartNamesToLookFor, getTuplePartNameLookedFor, getVariablesIntroducedBetweenHereAnd, getVariablesScopedByExpression, isLookingForTuplePart, variablesIntroducedBetween
public OperationCallExpTracer(OperationCallExp expression, java.util.Stack<java.lang.String> tuplePartNames, OCLFactory oclFactory)
public NavigationStep traceback(org.eclipse.emf.ecore.EClass context, PathCache pathCache, OperationBodyToCallMapper operationBodyToCallMapper)
AbstractTracer
EmptyResultNavigationStep
which is what this default implementation does.traceback
in interface Tracer
traceback
in class AbstractTracer<OperationCallExp>
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
tracerprotected java.util.Set<Variable> calculateEnteringScope(OperationBodyToCallMapper operationBodyToCallMapper)
AbstractTracer
NavigationStep
this Tracer
creates will enter when navigated.calculateEnteringScope
in class AbstractTracer<OperationCallExp>
OCLExpression
s representing the scope the created NavigationStep
will enter when navigated. Always
non-null
, but possibly emptyprotected java.util.Set<Variable> calculateLeavingScopes(OperationBodyToCallMapper operationBodyToCallMapper)
calculateLeavingScopes
in class AbstractTracer<OperationCallExp>
OCLExpression
s representing the scopes the created NavigationStep
will leave when navigated.