org.eclipse.ocl.examples.impactanalyzer.instanceScope.traceback
Class LetTracebackStep

java.lang.Object
  extended by org.eclipse.ocl.examples.impactanalyzer.instanceScope.traceback.AbstractTracebackStep<E>
      extended by org.eclipse.ocl.examples.impactanalyzer.instanceScope.traceback.BranchingTracebackStep<LetExp>
          extended by org.eclipse.ocl.examples.impactanalyzer.instanceScope.traceback.LetTracebackStep
All Implemented Interfaces:
TracebackStep

public class LetTracebackStep
extends BranchingTracebackStep<LetExp>

When a LetExp is traced back, it calls the TracebackStep#traceback(AnnotatedEObject, Set, org.eclipse.ocl.examples.impactanalyzer.instanceScope.traceback.TracebackCache, Notification) function for its in-expression, forwarding the source object, the (possibly modified) pendingUnusedEvalRequests and the tracebackCache.

See Also:
AbstractTracebackStep#performSubsequentTraceback(AnnotatedEObject, Set, org.eclipse.ocl.examples.impactanalyzer.instanceScope.traceback.TracebackCache, Notification)

Nested Class Summary
 
Nested classes/interfaces inherited from class org.eclipse.ocl.examples.impactanalyzer.instanceScope.traceback.AbstractTracebackStep
AbstractTracebackStep.TracebackStepAndScopeChange, AbstractTracebackStep.TracebackStepAndScopeChangeWithOperationCallExp
 
Field Summary
 
Fields inherited from class org.eclipse.ocl.examples.impactanalyzer.instanceScope.traceback.AbstractTracebackStep
oclFactory, provenUnused, requiredType, tracebackExecutions
 
Constructor Summary
LetTracebackStep(LetExp sourceExpression, org.eclipse.emf.ecore.EClass context, OperationBodyToCallMapper operationBodyToCallMapper, java.util.Stack<java.lang.String> tupleLiteralNamesToLookFor, TracebackStepCache tracebackStepCache, UnusedEvaluationRequestFactory unusedEvaluationRequestFactory, OCLFactory oclFactory)
           
 
Method Summary
 
Methods inherited from class org.eclipse.ocl.examples.impactanalyzer.instanceScope.traceback.BranchingTracebackStep
getSteps, performSubsequentTraceback
 
Methods inherited from class org.eclipse.ocl.examples.impactanalyzer.instanceScope.traceback.AbstractTracebackStep
annotate, annotateEObject, annotateEObject, cloneWithTypeCheck, createTracebackStepAndScopeChange, createTracebackStepAndScopeChange, getAllVariablesInScope, getExpression, getInnermostClass, getInnermostElementType, getInnermostTypeConsideringTupleLiteralsLookedFor, getOppositeEndFinder, getVariablesScopedByExpression, traceback
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LetTracebackStep

public LetTracebackStep(LetExp sourceExpression,
                        org.eclipse.emf.ecore.EClass context,
                        OperationBodyToCallMapper operationBodyToCallMapper,
                        java.util.Stack<java.lang.String> tupleLiteralNamesToLookFor,
                        TracebackStepCache tracebackStepCache,
                        UnusedEvaluationRequestFactory unusedEvaluationRequestFactory,
                        OCLFactory oclFactory)