org.eclipse.ocl.examples.debug.vm.evaluator
Interface IStepper

All Known Implementing Classes:
AbstractStepper, CallExpStepper, ElementStepper, ExpressionInOCLStepper, IfExpStepper, IterateExpStepper, LetExpStepper, LoopExpStepper, NonStepper, OperationCallExpStepper, PostStepper, PropertyCallExpStepper, VariableStepper

public interface IStepper

An IStepper provides the element-type specific strategy for a variety of actions while stepping through source code.


Method Summary
 UnitLocation createUnitLocation(IVMEvaluationEnvironment<?> evalEnv, Element element)
          Return the source descriptor for element.
 Element isPostStoppable(IVMRootEvaluationVisitor<?> rootVMEvaluationVisitor, Element childElement, java.lang.Object result)
          Return null if no suspension is required after execution of childElement gave result, else return the next element to be executed.
 boolean isPreStoppable(IVMRootEvaluationVisitor<?> rootVMEvaluationVisitor, Element element)
          Return true if execution may be suspended before executing element.
 

Method Detail

createUnitLocation

@NonNull
UnitLocation createUnitLocation(@NonNull
                                        IVMEvaluationEnvironment<?> evalEnv,
                                        @NonNull
                                        Element element)
Return the source descriptor for element.


isPostStoppable

@Nullable
Element isPostStoppable(@NonNull
                                 IVMRootEvaluationVisitor<?> rootVMEvaluationVisitor,
                                 @NonNull
                                 Element childElement,
                                 @Nullable
                                 java.lang.Object result)
Return null if no suspension is required after execution of childElement gave result, else return the next element to be executed.


isPreStoppable

boolean isPreStoppable(@NonNull
                       IVMRootEvaluationVisitor<?> rootVMEvaluationVisitor,
                       @NonNull
                       Element element)
Return true if execution may be suspended before executing element.