Interface Evaluator

All Known Implementing Classes:
Codegen, Interpreter

public interface Evaluator
Abstraction of evaluation, which can be implemented either by an interpreter or compiler.
  • Method Details

    • compile

      Object compile(CompilerEnvirons compilerEnv, ScriptNode tree, String rawSource, boolean returnFunction)
      Compile the script or function from intermediate representation tree into an executable form.
      Parameters:
      compilerEnv - Compiler environment
      tree - parse tree
      rawSource - the source code
      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
    • createFunctionObject

      Function createFunctionObject(Context cx, Scriptable scope, Object bytecode, Object staticSecurityDomain)
      Create a function object.
      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
    • createScriptObject

      Script createScriptObject(Object bytecode, Object staticSecurityDomain)
      Create a script object.
      Parameters:
      bytecode - opaque object returned by compile
      staticSecurityDomain - security domain
      Returns:
      Script object that can be evaluated
    • captureStackInfo

      void captureStackInfo(RhinoException ex)
      Capture stack information from the given exception.
      Parameters:
      ex - an exception thrown during execution
    • getSourcePositionFromStack

      String getSourcePositionFromStack(Context cx, int[] linep)
      Get the source position information by examining the stack.
      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

      String getPatchedStack(RhinoException ex, String nativeStackTrace)
      Given a native stack trace, patch it with script-specific source and line information
      Parameters:
      ex - exception
      nativeStackTrace - the native stack trace
      Returns:
      patched stack trace
    • getScriptStack

      List<String> getScriptStack(RhinoException ex)
      Get the script stack for the given exception
      Parameters:
      ex - exception from execution
      Returns:
      list of strings for the stack trace
    • setEvalScriptFlag

      void setEvalScriptFlag(Script script)
      Mark the given script to indicate it was created by a call to eval() or to a Function constructor.
      Parameters:
      script - script to mark as from eval