Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.eclipse.jdi.hcr
Interface ReenterStepRequest  view ReenterStepRequest download ReenterStepRequest.java

All Superinterfaces:
com.sun.jdi.request.EventRequest, com.sun.jdi.Mirror, com.sun.jdi.request.StepRequest

public interface ReenterStepRequest
extends com.sun.jdi.request.StepRequest

A reenter step request is a step event request that will be activated when the given thread is about to pop the top stack frame. At this point, the VM is expected to do the following:

  1. The arguments to the method are carefully set aside, along with the identity of the actual method.
  2. The stack frame is popped. Any value being returned is discarded. Any exception being thrown is ignored. Instruction counter in caller is set at (rather than after) the send bytecode.
  3. Suspend the thread depending on the suspend policy and report a StepEvent for this request.
  4. When the thread is resumed, the method is re-retrieved; if the class had recently been reloaded, this must find the new bytecodes. If the method is no longer present, throw a java.lang.NoSuchMethodError as specified in the Java VM Specification.
  5. The method is entered as per normal, using the saved arguments.

Note that other events may need to be reported as well (e.g., hit breakpoint on first instruction). Execution does not reenter the caller at any point; so no step out or step into events are reported.


Field Summary
 
Fields inherited from interface com.sun.jdi.request.StepRequest
STEP_INTO, STEP_LINE, STEP_MIN, STEP_OUT, STEP_OVER
 
Fields inherited from interface com.sun.jdi.request.EventRequest
SUSPEND_ALL, SUSPEND_EVENT_THREAD, SUSPEND_NONE
 
Method Summary
 void addClassExclusionFilter(java.lang.String classPattern)
          Restricts the events generated by this request to those whose location is in a class whose name does NOT match this restricted regular expression.
 void addClassFilter(com.sun.jdi.ReferenceType clazz)
          Restricts the events generated by this request to those whose location is in this class..
 void addClassFilter(java.lang.String classPattern)
          Restricts the events generated by this request to those whose location is in a class whose name matches this restricted regular expression.
 com.sun.jdi.ThreadReference thread()
           
 
Methods inherited from interface com.sun.jdi.request.StepRequest
addInstanceFilter, depth, size
 
Methods inherited from interface com.sun.jdi.request.EventRequest
addCountFilter, disable, enable, getProperty, isEnabled, putProperty, setEnabled, setSuspendPolicy, suspendPolicy
 
Methods inherited from interface com.sun.jdi.Mirror
toString, virtualMachine
 

Method Detail

addClassExclusionFilter

public void addClassExclusionFilter(java.lang.String classPattern)
Restricts the events generated by this request to those whose location is in a class whose name does NOT match this restricted regular expression. e.g. "java.*" or "*.Foo".

Specified by:
addClassExclusionFilter in interface com.sun.jdi.request.StepRequest

addClassFilter

public void addClassFilter(com.sun.jdi.ReferenceType clazz)
Restricts the events generated by this request to those whose location is in this class..

Specified by:
addClassFilter in interface com.sun.jdi.request.StepRequest

addClassFilter

public void addClassFilter(java.lang.String classPattern)
Restricts the events generated by this request to those whose location is in a class whose name matches this restricted regular expression. e.g. "java.*" or "*.Foo".

Specified by:
addClassFilter in interface com.sun.jdi.request.StepRequest

thread

public com.sun.jdi.ThreadReference thread()
Specified by:
thread in interface com.sun.jdi.request.StepRequest