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). |