org.eclipse.ocl.examples.impactanalyzer.instanceScope.traceback
Class BranchingTracebackStep<E extends OCLExpression>

java.lang.Object
  extended by org.eclipse.ocl.examples.impactanalyzer.instanceScope.traceback.AbstractTracebackStep<E>
      extended by org.eclipse.ocl.examples.impactanalyzer.instanceScope.traceback.BranchingTracebackStep<E>
All Implemented Interfaces:
TracebackStep
Direct Known Subclasses:
CollectionLiteralTracebackStep, IfTracebackStep, IterateTracebackStep, LetTracebackStep, OperationCallTracebackStep, TupleLiteralTracebackStep, VariableTracebackStep

public class BranchingTracebackStep<E extends OCLExpression>
extends AbstractTracebackStep<E>


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
BranchingTracebackStep(E sourceExpression, java.util.Stack<java.lang.String> tupleLiteralNamesToLookFor, OppositeEndFinder oppositeEndFinder, OperationBodyToCallMapper operationBodyToCallMapper, UnusedEvaluationRequestFactory unusedEvaluationRequestFactory, OCLFactory oclFactory)
           
 
Method Summary
protected  java.util.Set<AbstractTracebackStep.TracebackStepAndScopeChange> getSteps()
           
protected  OperationCallExpKeyedSet performSubsequentTraceback(AnnotatedEObject source, UnusedEvaluationRequestSet pendingUnusedEvalRequests, TracebackCache tracebackCache, org.eclipse.emf.common.notify.Notification changeEvent)
          This method is used to invoke the TracebackStep#traceback(AnnotatedEObject, Set, org.eclipse.ocl.examples.impactanalyzer.instanceScope.traceback.TracebackCache, Notification) method on all necessary subsequent TracebackSteps and return their results.
 
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

BranchingTracebackStep

public BranchingTracebackStep(E sourceExpression,
                              java.util.Stack<java.lang.String> tupleLiteralNamesToLookFor,
                              OppositeEndFinder oppositeEndFinder,
                              OperationBodyToCallMapper operationBodyToCallMapper,
                              UnusedEvaluationRequestFactory unusedEvaluationRequestFactory,
                              OCLFactory oclFactory)
Method Detail

performSubsequentTraceback

protected OperationCallExpKeyedSet performSubsequentTraceback(AnnotatedEObject source,
                                                              UnusedEvaluationRequestSet pendingUnusedEvalRequests,
                                                              TracebackCache tracebackCache,
                                                              org.eclipse.emf.common.notify.Notification changeEvent)
Description copied from class: AbstractTracebackStep
This method is used to invoke the TracebackStep#traceback(AnnotatedEObject, Set, org.eclipse.ocl.examples.impactanalyzer.instanceScope.traceback.TracebackCache, Notification) method on all necessary subsequent TracebackSteps and return their results. Which subsequent steps are necessary depends on the respective source OCLExpression the TracebackStep was created for.

Specified by:
performSubsequentTraceback in class AbstractTracebackStep<E extends OCLExpression>

getSteps

protected java.util.Set<AbstractTracebackStep.TracebackStepAndScopeChange> getSteps()