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 StringgetFirstLine(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 StringgetFunctionName(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 StringgetParamName(int index) Returns the name of the parameter at the specified index, or???if there is no corresponding name.private static StringgetSourceName(org.htmlunit.corejs.javascript.Context cx) Returns the name of this frame's source.voidonEnter(org.htmlunit.corejs.javascript.Context cx, org.htmlunit.corejs.javascript.Scriptable activation, org.htmlunit.corejs.javascript.Scriptable thisObj, Object[] args) voidonExceptionThrown(org.htmlunit.corejs.javascript.Context cx, Throwable t) voidonLineChange(org.htmlunit.corejs.javascript.Context cx, int lineNumber) private static StringstringValue(Object arg) Methods inherited from class 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:
onEnterin interfaceorg.htmlunit.corejs.javascript.debug.DebugFrame- Overrides:
onEnterin classDebugFrameAdapter
-
stringValue
-
onExceptionThrown
- Specified by:
onExceptionThrownin interfaceorg.htmlunit.corejs.javascript.debug.DebugFrame- Overrides:
onExceptionThrownin classDebugFrameAdapter
-
onLineChange
public void onLineChange(org.htmlunit.corejs.javascript.Context cx, int lineNumber) - Specified by:
onLineChangein interfaceorg.htmlunit.corejs.javascript.debug.DebugFrame- Overrides:
onLineChangein 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 thethisObjplays 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
-