org.mozilla.javascript
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 Summary
 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
 java.lang.String getSourcePositionFromStack(Context cx, int[] linep)
          Get the source position information by examining the stack.
 void setEvalScriptFlag(Script script)
          Mark the given script to indicate it was created by a call to eval() or to a Function constructor.
 

Method Detail

compile

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.

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

createFunctionObject

Function createFunctionObject(Context cx,
                              Scriptable scope,
                              java.lang.Object bytecode,
                              java.lang.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(java.lang.Object bytecode,
                          java.lang.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

java.lang.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

java.lang.String getPatchedStack(RhinoException ex,
                                 java.lang.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

java.util.List<java.lang.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