org.mozilla.javascript
Class Interpreter

java.lang.Object
  extended by org.mozilla.javascript.Interpreter
All Implemented Interfaces:
Evaluator

public final class Interpreter
extends java.lang.Object
implements Evaluator


Constructor Summary
Interpreter()
           
 
Method Summary
static NativeContinuation captureContinuation(Context cx)
           
 void captureStackInfo(RhinoException ex)
          Capture stack information from the given exception.
 java.lang.Object compile(CompilerEnvirons compilerEnv, ScriptNode tree, java.lang.String encodedSource, boolean returnFunction)
          Compile the script or function from intermediate representation tree into an executable form.
 Function createFunctionObject(Context cx, Scriptable scope, java.lang.Object bytecode, java.lang.Object staticSecurityDomain)
          Create a function object.
 Script createScriptObject(java.lang.Object bytecode, java.lang.Object staticSecurityDomain)
          Create a script object.
 java.lang.String getPatchedStack(RhinoException ex, java.lang.String nativeStackTrace)
          Given a native stack trace, patch it with script-specific source and line information
 java.util.List<java.lang.String> getScriptStack(RhinoException ex)
          Get the script stack for the given exception
 ScriptStackElement[][] getScriptStackElements(RhinoException ex)
           
 java.lang.String getSourcePositionFromStack(Context cx, int[] linep)
          Get the source position information by examining the stack.
static java.lang.Object restartContinuation(NativeContinuation c, Context cx, Scriptable scope, java.lang.Object[] args)
           
static java.lang.Object resumeGenerator(Context cx, Scriptable scope, int operation, java.lang.Object savedState, java.lang.Object value)
           
 void setEvalScriptFlag(Script script)
          Mark the given script to indicate it was created by a call to eval() or to a Function constructor.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Interpreter

public Interpreter()
Method Detail

compile

public java.lang.Object compile(CompilerEnvirons compilerEnv,
                                ScriptNode tree,
                                java.lang.String encodedSource,
                                boolean returnFunction)
Description copied from interface: Evaluator
Compile the script or function from intermediate representation tree into an executable form.

Specified by:
compile in interface Evaluator
Parameters:
compilerEnv - Compiler environment
tree - parse tree
encodedSource - encoding of the source code for decompilation
returnFunction - if true, compiling a function
Returns:
an opaque object that can be passed to either createFunctionObject or createScriptObject, depending on the value of returnFunction

createScriptObject

public Script createScriptObject(java.lang.Object bytecode,
                                 java.lang.Object staticSecurityDomain)
Description copied from interface: Evaluator
Create a script object.

Specified by:
createScriptObject in interface Evaluator
Parameters:
bytecode - opaque object returned by compile
staticSecurityDomain - security domain
Returns:
Script object that can be evaluated

setEvalScriptFlag

public void setEvalScriptFlag(Script script)
Description copied from interface: Evaluator
Mark the given script to indicate it was created by a call to eval() or to a Function constructor.

Specified by:
setEvalScriptFlag in interface Evaluator
Parameters:
script - script to mark as from eval

createFunctionObject

public Function createFunctionObject(Context cx,
                                     Scriptable scope,
                                     java.lang.Object bytecode,
                                     java.lang.Object staticSecurityDomain)
Description copied from interface: Evaluator
Create a function object.

Specified by:
createFunctionObject in interface Evaluator
Parameters:
cx - Current context
scope - scope of the function
bytecode - opaque object returned by compile
staticSecurityDomain - security domain
Returns:
Function object that can be called

captureStackInfo

public void captureStackInfo(RhinoException ex)
Description copied from interface: Evaluator
Capture stack information from the given exception.

Specified by:
captureStackInfo in interface Evaluator
Parameters:
ex - an exception thrown during execution

getSourcePositionFromStack

public java.lang.String getSourcePositionFromStack(Context cx,
                                                   int[] linep)
Description copied from interface: Evaluator
Get the source position information by examining the stack.

Specified by:
getSourcePositionFromStack in interface Evaluator
Parameters:
cx - Context
linep - Array object of length >= 1; getSourcePositionFromStack will assign the line number to linep[0].
Returns:
the name of the file or other source container

getPatchedStack

public java.lang.String getPatchedStack(RhinoException ex,
                                        java.lang.String nativeStackTrace)
Description copied from interface: Evaluator
Given a native stack trace, patch it with script-specific source and line information

Specified by:
getPatchedStack in interface Evaluator
Parameters:
ex - exception
nativeStackTrace - the native stack trace
Returns:
patched stack trace

getScriptStack

public java.util.List<java.lang.String> getScriptStack(RhinoException ex)
Description copied from interface: Evaluator
Get the script stack for the given exception

Specified by:
getScriptStack in interface Evaluator
Parameters:
ex - exception from execution
Returns:
list of strings for the stack trace

getScriptStackElements

public ScriptStackElement[][] getScriptStackElements(RhinoException ex)

resumeGenerator

public static java.lang.Object resumeGenerator(Context cx,
                                               Scriptable scope,
                                               int operation,
                                               java.lang.Object savedState,
                                               java.lang.Object value)

restartContinuation

public static java.lang.Object restartContinuation(NativeContinuation c,
                                                   Context cx,
                                                   Scriptable scope,
                                                   java.lang.Object[] args)

captureContinuation

public static NativeContinuation captureContinuation(Context cx)