Package org.htmlunit.javascript
Class DebugFrameImpl
java.lang.Object
org.htmlunit.javascript.DebugFrameAdapter
org.htmlunit.javascript.DebugFrameImpl
- All Implemented Interfaces:
org.htmlunit.corejs.javascript.debug.DebugFrame
HtmlUnit's implementation of the DebugFrame
interface,
which logs stack entries as well as exceptions. All logging is done at the TRACE
level. This class does
a fairly good job of guessing names for anonymous functions when they are referenced by name from an existing
object. See the Rhino documentation or
the
interface source code for more information on the
DebugFrame
interface and its uses.
Please note that this class is intended mainly to aid in the debugging and development of HtmlUnit itself, rather than the debugging and development of web applications.
- See Also:
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionDebugFrameImpl
(org.htmlunit.corejs.javascript.debug.DebuggableScript functionOrScript) Creates a new debug frame. -
Method Summary
Modifier and TypeMethodDescriptionprivate static String
getFirstLine
(org.htmlunit.corejs.javascript.Context cx) Returns the line number of the first line in this frame's function or script, or???
if it cannot be determined.private String
getFunctionName
(org.htmlunit.corejs.javascript.Scriptable thisObj) Returns the name of the function corresponding to this frame, if it is a function and it has a name.private String
getParamName
(int index) Returns the name of the parameter at the specified index, or???
if there is no corresponding name.private static String
getSourceName
(org.htmlunit.corejs.javascript.Context cx) Returns the name of this frame's source.void
onEnter
(org.htmlunit.corejs.javascript.Context cx, org.htmlunit.corejs.javascript.Scriptable activation, org.htmlunit.corejs.javascript.Scriptable thisObj, Object[] args) void
onExceptionThrown
(org.htmlunit.corejs.javascript.Context cx, Throwable t) void
onLineChange
(org.htmlunit.corejs.javascript.Context cx, int lineNumber) private static String
stringValue
(Object arg) Methods inherited from class org.htmlunit.javascript.DebugFrameAdapter
onDebuggerStatement, onExit
-
Field Details
-
LOG
private static final org.apache.commons.logging.Log LOG -
KEY_LAST_LINE
- See Also:
-
KEY_LAST_SOURCE
- See Also:
-
functionOrScript_
private final org.htmlunit.corejs.javascript.debug.DebuggableScript functionOrScript_
-
-
Constructor Details
-
DebugFrameImpl
public DebugFrameImpl(org.htmlunit.corejs.javascript.debug.DebuggableScript functionOrScript) Creates a new debug frame.- Parameters:
functionOrScript
- the function or script to which this frame corresponds
-
-
Method Details
-
onEnter
public void onEnter(org.htmlunit.corejs.javascript.Context cx, org.htmlunit.corejs.javascript.Scriptable activation, org.htmlunit.corejs.javascript.Scriptable thisObj, Object[] args) - Specified by:
onEnter
in interfaceorg.htmlunit.corejs.javascript.debug.DebugFrame
- Overrides:
onEnter
in classDebugFrameAdapter
-
stringValue
-
onExceptionThrown
- Specified by:
onExceptionThrown
in interfaceorg.htmlunit.corejs.javascript.debug.DebugFrame
- Overrides:
onExceptionThrown
in classDebugFrameAdapter
-
onLineChange
public void onLineChange(org.htmlunit.corejs.javascript.Context cx, int lineNumber) - Specified by:
onLineChange
in interfaceorg.htmlunit.corejs.javascript.debug.DebugFrame
- Overrides:
onLineChange
in classDebugFrameAdapter
-
getFunctionName
Returns the name of the function corresponding to this frame, if it is a function and it has a name. If the function does not have a name, this method will try to return the name under which it was referenced. See this page for a good explanation of how thethisObj
plays into this guess.- Parameters:
thisObj
- the object via which the function was referenced, used to try to guess a function name if the function is anonymous- Returns:
- the name of the function corresponding to this frame
-
getParamName
Returns the name of the parameter at the specified index, or???
if there is no corresponding name.- Parameters:
index
- the index of the parameter whose name is to be returned- Returns:
- the name of the parameter at the specified index, or
???
if there is no corresponding name
-
getSourceName
Returns the name of this frame's source.- Returns:
- the name of this frame's source
-
getFirstLine
Returns the line number of the first line in this frame's function or script, or???
if it cannot be determined. This is necessary because the line numbers provided by Rhino are unordered.- Returns:
- the line number of the first line in this frame's function or script, or
???
if it cannot be determined
-