public abstract class SmartSteppingCallback extends Object
Modifier and Type | Class and Description |
---|---|
static interface |
SmartSteppingCallback.Registration
Declarative registration of a SmartSteppingCallback implementation.
|
static class |
SmartSteppingCallback.StopOrStep
Information about a possibility to stop at the given location,
or suggestion to perform a step.
|
Constructor and Description |
---|
SmartSteppingCallback() |
Modifier and Type | Method and Description |
---|---|
abstract void |
initFilter(SmartSteppingFilter f)
Defines default set of smart stepping filters.
|
SmartSteppingCallback.StopOrStep |
stopAt(ContextProvider lookupProvider,
CallStackFrame frame,
SmartSteppingFilter f)
This is an enhanced version of former
SmartSteppingCallback.stopHere(org.netbeans.spi.debugger.ContextProvider, org.netbeans.api.debugger.jpda.JPDAThread, org.netbeans.api.debugger.jpda.SmartSteppingFilter)
method, which is called during stepping through debugged application. |
abstract boolean |
stopHere(ContextProvider lookupProvider,
JPDAThread thread,
SmartSteppingFilter f)
This method is called during stepping through debugged application.
|
public abstract void initFilter(SmartSteppingFilter f)
f
- a filter to be initializedpublic abstract boolean stopHere(ContextProvider lookupProvider, JPDAThread thread, SmartSteppingFilter f)
SmartSteppingCallback
s
returns true.
The SmartSteppingFilter
instance is unique per step. Any changes to it applies
to one ongoing step only. Use JPDADebugger.getSmartSteppingFilter()
to make
persistent changes.
thread
- contains all available information about current position
in debugged applicationf
- a filter, unique to the ongoing steppublic SmartSteppingCallback.StopOrStep stopAt(ContextProvider lookupProvider, CallStackFrame frame, SmartSteppingFilter f)
SmartSteppingCallback.stopHere(org.netbeans.spi.debugger.ContextProvider, org.netbeans.api.debugger.jpda.JPDAThread, org.netbeans.api.debugger.jpda.SmartSteppingFilter)
method, which is called during stepping through debugged application.
The frame
argument allows this method to be called for specific stack frames,
to check if the execution could be suspended there. This is valuable e.g. for step out.
When a top frame is provided, this method can suggest a specific step to continue with,
in case it's not possible to stop at the given location.
The SmartSteppingFilter
instance is unique per step. Any changes to it applies
to one ongoing step only. Register a SmartSteppingFilter
implementation
to make persistent changes.
The default implementation calls SmartSteppingCallback.stopHere(org.netbeans.spi.debugger.ContextProvider, org.netbeans.api.debugger.jpda.JPDAThread, org.netbeans.api.debugger.jpda.SmartSteppingFilter)
when called with a top frame and throws an UnsupportedOperationException
otherwise.
lookupProvider
- The debugger services lookupframe
- The frame in questionf
- a filter, unique to the ongoing step