Package 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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
captureStackInfo(RhinoException ex)
Capture stack information from the given exception.Object
compile(CompilerEnvirons compilerEnv, ScriptNode 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 informationList<String>
getScriptStack(RhinoException ex)
Get the script stack for the given exceptionString
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
Object compile(CompilerEnvirons compilerEnv, ScriptNode tree, String encodedSource, boolean returnFunction)
Compile the script or function from intermediate representation tree into an executable form.- Parameters:
compilerEnv
- Compiler environmenttree
- parse treeencodedSource
- encoding of the source code for decompilationreturnFunction
- 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 contextscope
- scope of the functionbytecode
- opaque object returned by compilestaticSecurityDomain
- 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 compilestaticSecurityDomain
- 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
- Contextlinep
- 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
- exceptionnativeStackTrace
- 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
-
-