|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface TracebackStep
Objects of classes implementing this interface are constructed by
TracebackStepCache.createStep(OCLExpression, org.eclipse.emf.ecore.EClass, org.eclipse.ocl.examples.impactanalyzer.impl.OperationBodyToCallMapper, java.util.Stack, OCLFactory)
.
For each (sub-)expression visited in the OCL AST, such a step is created.
The constructors try to perform as much pre-computation as possible so that
when executing the step with its
traceback(AnnotatedEObject, UnusedEvaluationRequestSet, org.eclipse.ocl.examples.impactanalyzer.instanceScope.traceback.TracebackCache, Notification)
method, as little effort as possible needs to be spent.
When being executed, the step computes a conservative superset of the objects
that, when used as the context for the overall OCLExpression
, lead to
the expression for which this TracebackStep
was created evaluating to
source
.
Method Summary | |
---|---|
OperationCallExpKeyedSet |
traceback(AnnotatedEObject source,
UnusedEvaluationRequestSet pendingUnusedEvalRequests,
TracebackCache tracebackCache,
org.eclipse.emf.common.notify.Notification changeEvent)
When being executed, the step computes a conservative superset of the objects that, when used as the context for the overall OCLExpression , may cause the expression for which this TracebackStep was created to evaluate to
source . |
Method Detail |
---|
OperationCallExpKeyedSet traceback(AnnotatedEObject source, UnusedEvaluationRequestSet pendingUnusedEvalRequests, TracebackCache tracebackCache, org.eclipse.emf.common.notify.Notification changeEvent)
OCLExpression
, may cause the expression for which this TracebackStep
was created to evaluate to
source
.
source
- the object to which the expression, for which this step was created, shall evaluatependingUnusedEvalRequests
- When tracing back a VariableExp
expression, this infers a value for the variable referred to by the
expression. This may trigger a previously delayed "unused" evaluation to be triggered. Those triggerable
"unused" evaluation requests are passed using this parameter. When triggering one of them proves the location of
the original change to be unused, an empty set will result from this call. May be null
, having the
same effect as passing a set that contains no requests.tracebackCache
- cache in which previous results of
traceback(AnnotatedEObject, UnusedEvaluationRequestSet, org.eclipse.ocl.examples.impactanalyzer.instanceScope.traceback.TracebackCache, Notification)
executions can be foundchangeEvent
- the original change event; used for performing pre/post evaluations
source
. The resulting objects may additionally be keyed by OperationCallExp
expressions in case
their inference left an operation body through a self
or parameter variable. These keys are
removed again in the OperationCallTracebackStep
, keying the results specific to the call being traced
by the null
key. All object reached without leaving an operation body through a self
or parameter variable are also keyed by the null
key.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |