org.mozilla.javascript

## Class Interpreter

- java.lang.Object
- - org.mozilla.javascript.Interpreter

All Implemented Interfaces:
  Evaluator

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

### Constructor Summary

Constructors
Constructor and Description
`Interpreter()`

### Method Summary

Methods
`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)