sleep.engine
public class Block extends Object implements Serializable
A Block is the fundamental unit of parsed and ready to execute sleep code.
To execute a block of code:
ScriptInstance script; // asume Block code; // assume ScriptEnvironment env = script.getEnvironment(); Scalar value = SleepUtils.runCode(code, env);
The variable value would contain the return value after the block was executed. It is recommended blocks only be run using SleepUtils.runCode() as there is a little bit of synchronization and cleanup that has to be done prior to and after executing a block of code.
See Also: Scalar ScriptEnvironment ScriptInstance
| Field Summary | |
|---|---|
| protected Step | first our first step in this block |
| protected Step | last our last step in this block |
| protected String | source an identifier/tag/whatever identifying the source of this block (i.e. somescript.sl) |
| Constructor Summary | |
|---|---|
| Block(String _src) | |
| Method Summary | |
|---|---|
| void | add(Step n) |
| Scalar | evaluate(ScriptEnvironment environment) evaluates this block of code. please note that if the block has a return statement and the method clearReturn() is not
called on the corresponding script environment chaos will ensue. use SleepUtils.runCode() to safely execute a block of
code. don't call this method yourself. okay? |
| Scalar | evaluate(ScriptEnvironment environment, Step start) evaluates this block of code. please note that if the block has a return statement and the method clearReturn() is not
called on the corresponding script environment chaos will ensue. use SleepUtils.runCode() to safely execute a block of
code. don't call this method yourself. okay? |
| int | getApproximateLineNumber() Returns an approximated line number for the steps in this block object... returns -1 if no code is in this block (unlikely) |
| String | getApproximateLineRange() Returns an approximate range of line numbers for the steps in this block object. |
| int | getHighLineNumber() return the highest line number associated with this block |
| int | getLowLineNumber() return the lowest line number associated with this block |
| String | getSource() Returns the source identifier for this block |
| String | getSourceLocation() Returns a string representation of where in the source code this block originated from |
| String | toString(String prefix) |
| String | toString() Returns a string representation of the Abstract Syntax Tree (AST). |