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
    Modifier and Type | Method and Description
    --- | ---
    `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)