[scriptable, uuid(0633ca73-105e-4e8e-bcc5-13405d61754a)]
interface jsdIStackFrame : jsdIEphemeral

Attributes

 Stack frame objects.  These are only valid inside the jsdIExecutionHook which
 gave it to you.  After you return from that handler the bottom frame, and any
 frame you found attached through it, are invalidated via the jsdIEphemeral
 interface.  Once a jsdIStackFrame has been invalidated all method and
 property accesses will throw a NS_ERROR_NOT_AVAILABLE exception.

 Internal use only. */
[noscript] readonly attribute JSDContext JSDContext
 Internal use only. */
[noscript] readonly attribute JSDStackFrameInfo JSDStackFrameInfo
 Internal use only. */
[noscript] readonly attribute JSDThreadState JSDThreadState
 Function object running in this stack frame.
readonly attribute jsdIValue callee
 Link to the caller's stack frame.
readonly attribute jsdIStackFrame callingFrame
 Executon context.
readonly attribute jsdIContext executionContext
 Function name executing in this stack frame.
readonly attribute AUTF8String functionName
 True if stack frame is constructing a new object.
readonly attribute boolean isConstructing
 True if stack frame represents a frame created as a result of a debugger
 evaluation.
readonly attribute boolean isDebugger
 True if stack frame represents a native frame.
readonly attribute boolean isNative
 Current line number (using the script's pc to line map.)
readonly attribute unsigned long line
 Current program counter in this stack frame.
readonly attribute unsigned long pc
 Top object in the scope chain.
readonly attribute jsdIValue scope
 Script running in this stack frame, null for native frames.
readonly attribute jsdIScript script
 |this| object for this stack frame.
readonly attribute jsdIValue thisValue

Methods

 Evaluate arbitrary JavaScript in this stack frame.
 @param bytes    Script to be evaluated.
 @param fileName Filename to compile this script under.  This is the
                 filename you'll see in error messages, etc.
 @param line     Starting line number for this script.  One based.
 @retval         Result of evaluating the script.
boolean eval(in AString bytes, in AUTF8String fileName, in unsigned long line, out jsdIValue result)