Class Dim
java.lang.Object
org.mozilla.javascript.tools.debugger.Dim
Dim or Debugger Implementation for Rhino.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
Class to store information about a stack.private static class
Proxy class to implement debug interfaces without bloat of class files.static class
Class to store information about a function.static class
Class to store information about a script source.static class
Object to represent one stack frame. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
private boolean
Whether the debugger should break.private boolean
Whether the debugger should break when a script function is entered.private boolean
Whether the debugger should break when a script exception is thrown.private boolean
Whether the debugger should break when a script function is returned from.private GuiCallback
Interface to the debugger GUI.private ContextFactory
The ContextFactory to listen to for debugging information.private Dim.StackFrame
The stack frame in which to evaluateevalRequest
.private String
The requested script string to be evaluated when the thread has been resumed.private String
The result of evaluatingevalRequest
.private Object
Synchronization object used to wait for validinterruptedContextData
.static final int
private int
The index of the current stack frame.private final Map<String,
Dim.FunctionSource> Table mapping function names to information about the function.private final Map<DebuggableScript,
Dim.FunctionSource> Table mapping functions to information about the function.static final int
private boolean
Whether the debugger is inside the interruption loop.private Dim.ContextData
Information about the current stack at the point of interruption.private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private Dim.DimIProxy
ContextFactory.Listener instance attached tocontextFactory
.private Object
Synchronization object used to allow script evaluations to happen when a thread is resumed.private int
The action to perform to end the interruption loop.private ScopeProvider
The ScopeProvider object that provides the scope in which to evaluate script.private SourceProvider
The SourceProvider object that provides the source of evaluated scripts.static final int
static final int
static final int
private final Map<String,
Dim.SourceInfo> Table mapping URLs to information about the script source. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
attachTo
(ContextFactory factory) Attaches the debugger to the given ContextFactory.void
Clears all breakpoints.private static void
collectFunctions_r
(DebuggableScript function, ObjArray array) Helper function forgetAllFunctions(DebuggableScript)
.void
compileScript
(String url, String text) Compiles the given script.void
contextSwitch
(int frameIndex) Switches context to the stack frame with the given index.Returns the current ContextData object.void
detach()
Detaches the debugger from the current ContextFactory.void
dispose()
Releases resources associated with this debugger.private static String
do_eval
(Context cx, Dim.StackFrame frame, String expr) Evaluates script in the given stack frame.Evaluates the given script.void
evalScript
(String url, String text) Evaluates the given script.String[]
Returns an array of all function names.private Dim.FunctionSource
functionSource
(DebuggableScript fnOrScript) Returns the FunctionSource object for the given function or script.functionSourceByName
(String functionName) Returns the FunctionSource object for the function with the given name.private static DebuggableScript[]
getAllFunctions
(DebuggableScript function) Returns an array of all functions in the given script.private Dim.FunctionSource
getFunctionSource
(DebuggableScript fnOrScript) Returns the FunctionSource object for the given script or function.private String
getNormalizedUrl
(DebuggableScript fnOrScript) Returns the source URL for the given script or function.Object[]
getObjectIds
(Object object) Returns an array of the property names on the given script object.private Object[]
getObjectIdsImpl
(Context cx, Object object) Returns an array of the property names on the given script object.getObjectProperty
(Object object, Object id) Returns the value of a property on the given script object.private Object
getObjectPropertyImpl
(Context cx, Object object, Object id) Returns the value of a property on the given script object.void
go()
Resumes execution of script.private void
handleBreakpointHit
(Dim.StackFrame frame, Context cx) Called when a breakpoint has been hit.private void
handleExceptionThrown
(Context cx, Throwable ex, Dim.StackFrame frame) Called when a script exception has been thrown.private void
interrupted
(Context cx, Dim.StackFrame frame, Throwable scriptException) Interrupts script execution.private String
loadSource
(String sourceUrl) Loads the script at the given URL.objectToString
(Object object) Converts the given script object to a string.private void
registerTopScript
(DebuggableScript topScript, String source) Registers the given script as a top-level script in the debugger.void
setBreak()
Tells the debugger to break at the next opportunity.void
setBreakOnEnter
(boolean breakOnEnter) Sets whether the debugger should break on function entering.void
setBreakOnExceptions
(boolean breakOnExceptions) Sets whether the debugger should break on exceptions.void
setBreakOnReturn
(boolean breakOnReturn) Sets whether the debugger should break on function return.void
setGuiCallback
(GuiCallback callback) Sets the GuiCallback object to use.void
setReturnValue
(int returnValue) Sets the action to perform to end interruption.void
setScopeProvider
(ScopeProvider scopeProvider) Sets the ScopeProvider to be used.void
setSourceProvider
(SourceProvider sourceProvider) Sets the ScopeProvider to be used.sourceInfo
(String url) Returns the SourceInfo object for the given URL.boolean
Returns whether the given string is syntactically valid script.
-
Field Details
-
STEP_OVER
public static final int STEP_OVER- See Also:
-
STEP_INTO
public static final int STEP_INTO- See Also:
-
STEP_OUT
public static final int STEP_OUT- See Also:
-
GO
public static final int GO- See Also:
-
BREAK
public static final int BREAK- See Also:
-
EXIT
public static final int EXIT- See Also:
-
IPROXY_DEBUG
private static final int IPROXY_DEBUG- See Also:
-
IPROXY_LISTEN
private static final int IPROXY_LISTEN- See Also:
-
IPROXY_COMPILE_SCRIPT
private static final int IPROXY_COMPILE_SCRIPT- See Also:
-
IPROXY_EVAL_SCRIPT
private static final int IPROXY_EVAL_SCRIPT- See Also:
-
IPROXY_STRING_IS_COMPILABLE
private static final int IPROXY_STRING_IS_COMPILABLE- See Also:
-
IPROXY_OBJECT_TO_STRING
private static final int IPROXY_OBJECT_TO_STRING- See Also:
-
IPROXY_OBJECT_PROPERTY
private static final int IPROXY_OBJECT_PROPERTY- See Also:
-
IPROXY_OBJECT_IDS
private static final int IPROXY_OBJECT_IDS- See Also:
-
callback
Interface to the debugger GUI. -
breakFlag
private boolean breakFlagWhether the debugger should break. -
scopeProvider
The ScopeProvider object that provides the scope in which to evaluate script. -
sourceProvider
The SourceProvider object that provides the source of evaluated scripts. -
frameIndex
private int frameIndexThe index of the current stack frame. -
interruptedContextData
Information about the current stack at the point of interruption. -
contextFactory
The ContextFactory to listen to for debugging information. -
monitor
Synchronization object used to allow script evaluations to happen when a thread is resumed. -
eventThreadMonitor
Synchronization object used to wait for validinterruptedContextData
. -
returnValue
private volatile int returnValueThe action to perform to end the interruption loop. -
insideInterruptLoop
private boolean insideInterruptLoopWhether the debugger is inside the interruption loop. -
evalRequest
The requested script string to be evaluated when the thread has been resumed. -
evalFrame
The stack frame in which to evaluateevalRequest
. -
evalResult
The result of evaluatingevalRequest
. -
breakOnExceptions
private boolean breakOnExceptionsWhether the debugger should break when a script exception is thrown. -
breakOnEnter
private boolean breakOnEnterWhether the debugger should break when a script function is entered. -
breakOnReturn
private boolean breakOnReturnWhether the debugger should break when a script function is returned from. -
urlToSourceInfo
Table mapping URLs to information about the script source. -
functionNames
Table mapping function names to information about the function. -
functionToSource
Table mapping functions to information about the function. -
listener
ContextFactory.Listener instance attached tocontextFactory
.
-
-
Constructor Details
-
Dim
public Dim()
-
-
Method Details
-
setGuiCallback
Sets the GuiCallback object to use. -
setBreak
public void setBreak()Tells the debugger to break at the next opportunity. -
setScopeProvider
Sets the ScopeProvider to be used. -
setSourceProvider
Sets the ScopeProvider to be used. -
contextSwitch
public void contextSwitch(int frameIndex) Switches context to the stack frame with the given index. -
setBreakOnExceptions
public void setBreakOnExceptions(boolean breakOnExceptions) Sets whether the debugger should break on exceptions. -
setBreakOnEnter
public void setBreakOnEnter(boolean breakOnEnter) Sets whether the debugger should break on function entering. -
setBreakOnReturn
public void setBreakOnReturn(boolean breakOnReturn) Sets whether the debugger should break on function return. -
attachTo
Attaches the debugger to the given ContextFactory. -
detach
public void detach()Detaches the debugger from the current ContextFactory. -
dispose
public void dispose()Releases resources associated with this debugger. -
getFunctionSource
Returns the FunctionSource object for the given script or function. -
loadSource
Loads the script at the given URL. -
registerTopScript
Registers the given script as a top-level script in the debugger. -
functionSource
Returns the FunctionSource object for the given function or script. -
functionNames
Returns an array of all function names. -
functionSourceByName
Returns the FunctionSource object for the function with the given name. -
sourceInfo
Returns the SourceInfo object for the given URL. -
getNormalizedUrl
Returns the source URL for the given script or function. -
getAllFunctions
Returns an array of all functions in the given script. -
collectFunctions_r
Helper function forgetAllFunctions(DebuggableScript)
. -
clearAllBreakpoints
public void clearAllBreakpoints()Clears all breakpoints. -
handleBreakpointHit
Called when a breakpoint has been hit. -
handleExceptionThrown
Called when a script exception has been thrown. -
currentContextData
Returns the current ContextData object. -
setReturnValue
public void setReturnValue(int returnValue) Sets the action to perform to end interruption. -
go
public void go()Resumes execution of script. -
eval
Evaluates the given script. -
compileScript
Compiles the given script. -
evalScript
Evaluates the given script. -
objectToString
Converts the given script object to a string. -
stringIsCompilableUnit
Returns whether the given string is syntactically valid script. -
getObjectProperty
Returns the value of a property on the given script object. -
getObjectIds
Returns an array of the property names on the given script object. -
getObjectPropertyImpl
Returns the value of a property on the given script object. -
getObjectIdsImpl
Returns an array of the property names on the given script object. -
interrupted
Interrupts script execution. -
do_eval
Evaluates script in the given stack frame.
-