org.eclipse.ocl.examples.debug.stepper
Class AbstractStepper

java.lang.Object
  extended by org.eclipse.ocl.examples.debug.stepper.AbstractStepper
All Implemented Interfaces:
IStepper
Direct Known Subclasses:
ElementStepper, ExpressionInOCLStepper, IfExpStepper, LetExpStepper, NonStepper, PostStepper, VariableStepper

public abstract class AbstractStepper
extends java.lang.Object
implements IStepper


Constructor Summary
AbstractStepper()
           
 
Method Summary
 UnitLocation createUnitLocation(IVMEvaluationEnvironment<?> evalEnv, Element element)
          Return the source descriptor for element.
static UnitLocation createUnitLocation(IVMEvaluationEnvironment<?> evalEnv, Element element, org.eclipse.xtext.nodemodel.INode startNode, org.eclipse.xtext.nodemodel.INode endNode)
           
protected  ModelElementCS getCsElement(Element asElement)
          Return the CS element for asElement if it exists, or the nearest ancestor of asElement otherwise.
 Element getFirstElement(Element element)
           
 Element getFirstElement(IVMRootEvaluationVisitor<?> vmEvaluationVisitor, Element 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractStepper

public AbstractStepper()
Method Detail

createUnitLocation

@NonNull
public static UnitLocation createUnitLocation(@NonNull
                                                      IVMEvaluationEnvironment<?> evalEnv,
                                                      @NonNull
                                                      Element element,
                                                      @Nullable
                                                      org.eclipse.xtext.nodemodel.INode startNode,
                                                      @Nullable
                                                      org.eclipse.xtext.nodemodel.INode endNode)

createUnitLocation

@NonNull
public UnitLocation createUnitLocation(@NonNull
                                               IVMEvaluationEnvironment<?> evalEnv,
                                               @NonNull
                                               Element element)
Description copied from interface: IStepper
Return the source descriptor for element.

Specified by:
createUnitLocation in interface IStepper

getCsElement

@Nullable
protected ModelElementCS getCsElement(@NonNull
                                               Element asElement)
Return the CS element for asElement if it exists, or the nearest ancestor of asElement otherwise.


getFirstElement

@Nullable
public Element getFirstElement(@NonNull
                                        Element element)

getFirstElement

@Nullable
public Element getFirstElement(@NonNull
                                        IVMRootEvaluationVisitor<?> vmEvaluationVisitor,
                                        @Nullable
                                        Element element)

isPostStoppable

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

Specified by:
isPostStoppable in interface IStepper

isPreStoppable

public boolean isPreStoppable(@NonNull
                              IVMRootEvaluationVisitor<?> rootVMEvaluationVisitor,
                              @NonNull
                              Element element)
Description copied from interface: IStepper
Return true if execution may be suspended before executing element.

Specified by:
isPreStoppable in interface IStepper