org.mozilla.javascript
Interface Evaluator
- Codegen, Interpreter
public interface Evaluator
Abstraction of evaluation, which can be implemented either by an
interpreter or compiler.
void | captureStackInfo(RhinoException ex) - Capture stack information from the given exception.
|
Object | compile(CompilerEnvirons compilerEnv, ScriptOrFnNode tree, String encodedSource, boolean returnFunction) - Compile the script or function from intermediate representation
tree into an executable form.
|
Function | createFunctionObject(Context cx, Scriptable scope, Object bytecode, Object staticSecurityDomain) - Create a function object.
|
Script | createScriptObject(Object bytecode, Object staticSecurityDomain) - Create a script object.
|
String | getPatchedStack(RhinoException ex, String nativeStackTrace) - Given a native stack trace, patch it with script-specific source
and line information
|
List | getScriptStack(RhinoException ex) - Get the script stack for the given exception
|
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.
|
captureStackInfo
public void captureStackInfo(RhinoException ex)
Capture stack information from the given exception.
ex
- an exception thrown during execution
compile
public Object compile(CompilerEnvirons compilerEnv,
ScriptOrFnNode tree,
String encodedSource,
boolean returnFunction)
Compile the script or function from intermediate representation
tree into an executable form.
compilerEnv
- Compiler environmenttree
- intermediate representationencodedSource
- encoding of the source code for decompilationreturnFunction
- if true, compiling a function
- an opaque object that can be passed to either
createFunctionObject or createScriptObject, depending on the
value of returnFunction
createFunctionObject
public Function createFunctionObject(Context cx,
Scriptable scope,
Object bytecode,
Object staticSecurityDomain)
Create a function object.
cx
- Current contextscope
- scope of the functionbytecode
- opaque object returned by compilestaticSecurityDomain
- security domain
- Function object that can be called
createScriptObject
public Script createScriptObject(Object bytecode,
Object staticSecurityDomain)
Create a script object.
bytecode
- opaque object returned by compilestaticSecurityDomain
- security domain
- Script object that can be evaluated
getPatchedStack
public String getPatchedStack(RhinoException ex,
String nativeStackTrace)
Given a native stack trace, patch it with script-specific source
and line information
ex
- exceptionnativeStackTrace
- the native stack trace
getScriptStack
public List getScriptStack(RhinoException ex)
Get the script stack for the given exception
ex
- exception from execution
- list of strings for the stack trace
getSourcePositionFromStack
public String getSourcePositionFromStack(Context cx,
int[] linep)
Get the source position information by examining the stack.
cx
- Contextlinep
- Array object of length >= 1; getSourcePositionFromStack
will assign the line number to linep[0].
- the name of the file or other source container
setEvalScriptFlag
public void setEvalScriptFlag(Script script)
Mark the given script to indicate it was created by a call to
eval() or to a Function constructor.
script
- script to mark as from eval