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, variablesIntroducedBetweenpublic 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)
AbstractTracerEmptyResultNavigationStep
which is what this default implementation does.traceback in interface Tracertraceback 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)
AbstractTracerNavigationStep this Tracer creates will enter when navigated.calculateEnteringScope in class AbstractTracer<OperationCallExp>OCLExpressions 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>OCLExpressions representing the scopes the created NavigationStep will leave when navigated.