Public Member Functions | Public Attributes

jsdIStackFrame Interface Reference

Stack frame objects. More...

import "jsdIDebuggerService.idl";

Inheritance diagram for jsdIStackFrame:
Collaboration diagram for jsdIStackFrame:

List of all members.

Public Member Functions

virtual nsresult GetJSDContext (JSDContext **aJSDContext)=0
 Stack frame objects.
virtual nsresult GetJSDThreadState (JSDThreadState **aJSDThreadState)=0
 Internal use only.
virtual nsresult GetJSDStackFrameInfo (JSDStackFrameInfo **aJSDStackFrameInfo)=0
 Internal use only.
virtual nsresult GetIsNative (PRBool *aIsNative)=0
 True if stack frame represents a native frame.
virtual nsresult GetIsDebugger (PRBool *aIsDebugger)=0
 True if stack frame represents a frame created as a result of a debugger evaluation.
virtual nsresult GetIsConstructing (PRBool *aIsConstructing)=0
 True if stack frame is constructing a new object.
virtual nsresult GetCallingFrame (jsdIStackFrame **aCallingFrame)=0
 Link to the caller's stack frame.
virtual nsresult GetExecutionContext (jsdIContext **aExecutionContext)=0
 Executon context.
virtual nsresult GetFunctionName (nsACString &aFunctionName)=0
 Function name executing in this stack frame.
virtual nsresult GetScript (jsdIScript **aScript)=0
 Script running in this stack frame, null for native frames.
virtual nsresult GetPc (PRUint32 *aPc)=0
 Current program counter in this stack frame.
virtual nsresult GetLine (PRUint32 *aLine)=0
 Current line number (using the script's pc to line map.
virtual nsresult GetCallee (jsdIValue **aCallee)=0
 Function object running in this stack frame.
virtual nsresult GetScope (jsdIValue **aScope)=0
 Top object in the scope chain.
virtual nsresult GetThisValue (jsdIValue **aThisValue)=0
 |this| object for this stack frame.
virtual nsresult Eval (const nsAString &bytes, const nsACString &fileName, PRUint32 line, jsdIValue **result, PRBool *_retval)=0
 Evaluate arbitrary JavaScript in this stack frame.
boolean eval (in AString bytes, in AUTF8String fileName, in unsigned long line, out jsdIValue result)
 Evaluate arbitrary JavaScript in this stack frame.

Public Attributes

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

Detailed Description

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.


Member Function Documentation

virtual nsresult jsdIStackFrame::Eval ( const nsAString bytes,
const nsACString fileName,
PRUint32  line,
jsdIValue **  result,
PRBool _retval 
) [pure virtual]

Evaluate arbitrary JavaScript in this stack frame.

Parameters:
bytes Script to be evaluated.
fileName Filename to compile this script under. This is the filename you'll see in error messages, etc.
line Starting line number for this script. One based.
Return values:
Result of evaluating the script.
boolean jsdIStackFrame::eval ( in AString  bytes,
in AUTF8String  fileName,
in unsigned long  line,
out jsdIValue  result 
)

Evaluate arbitrary JavaScript in this stack frame.

Parameters:
bytes Script to be evaluated.
fileName Filename to compile this script under. This is the filename you'll see in error messages, etc.
line Starting line number for this script. One based.
Return values:
Result of evaluating the script.
virtual nsresult jsdIStackFrame::GetCallee ( jsdIValue **  aCallee  )  [pure virtual]

Function object running in this stack frame.

virtual nsresult jsdIStackFrame::GetCallingFrame ( jsdIStackFrame **  aCallingFrame  )  [pure virtual]

Link to the caller's stack frame.

virtual nsresult jsdIStackFrame::GetExecutionContext ( jsdIContext **  aExecutionContext  )  [pure virtual]

Executon context.

virtual nsresult jsdIStackFrame::GetFunctionName ( nsACString aFunctionName  )  [pure virtual]

Function name executing in this stack frame.

virtual nsresult jsdIStackFrame::GetIsConstructing ( PRBool aIsConstructing  )  [pure virtual]

True if stack frame is constructing a new object.

virtual nsresult jsdIStackFrame::GetIsDebugger ( PRBool aIsDebugger  )  [pure virtual]

True if stack frame represents a frame created as a result of a debugger evaluation.

virtual nsresult jsdIStackFrame::GetIsNative ( PRBool aIsNative  )  [pure virtual]

True if stack frame represents a native frame.

virtual nsresult jsdIStackFrame::GetJSDContext ( JSDContext **  aJSDContext  )  [pure virtual]

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.

virtual nsresult jsdIStackFrame::GetJSDStackFrameInfo ( JSDStackFrameInfo **  aJSDStackFrameInfo  )  [pure virtual]

Internal use only.

virtual nsresult jsdIStackFrame::GetJSDThreadState ( JSDThreadState **  aJSDThreadState  )  [pure virtual]

Internal use only.

virtual nsresult jsdIStackFrame::GetLine ( PRUint32 *  aLine  )  [pure virtual]

Current line number (using the script's pc to line map.

)

virtual nsresult jsdIStackFrame::GetPc ( PRUint32 *  aPc  )  [pure virtual]

Current program counter in this stack frame.

virtual nsresult jsdIStackFrame::GetScope ( jsdIValue **  aScope  )  [pure virtual]

Top object in the scope chain.

virtual nsresult jsdIStackFrame::GetScript ( jsdIScript **  aScript  )  [pure virtual]

Script running in this stack frame, null for native frames.

virtual nsresult jsdIStackFrame::GetThisValue ( jsdIValue **  aThisValue  )  [pure virtual]

|this| object for this stack frame.


Member Data Documentation

readonly attribute jsdIValue jsdIStackFrame::callee

Function object running in this stack frame.

Link to the caller's stack frame.

Executon context.

readonly attribute AUTF8String jsdIStackFrame::functionName

Function name executing in this stack frame.

True if stack frame is constructing a new object.

readonly attribute boolean jsdIStackFrame::isDebugger

True if stack frame represents a frame created as a result of a debugger evaluation.

readonly attribute boolean jsdIStackFrame::isNative

True if stack frame represents a native frame.

Internal use only.

Internal use only.

Internal use only.

readonly attribute unsigned long jsdIStackFrame::line

Current line number (using the script's pc to line map.

)

readonly attribute unsigned long jsdIStackFrame::pc

Current program counter in this stack frame.

readonly attribute jsdIValue jsdIStackFrame::scope

Top object in the scope chain.

readonly attribute jsdIScript jsdIStackFrame::script

Script running in this stack frame, null for native frames.

|this| object for this stack frame.


The documentation for this interface was generated from the following files: