Package sleep.engine
Class Block
- java.lang.Object
-
- sleep.engine.Block
-
- All Implemented Interfaces:
java.io.Serializable
public class Block extends java.lang.Object implements java.io.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
, Serialized Form
-
-
Constructor Summary
Constructors Constructor Description Block(java.lang.String _src)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(Step n)
Scalar
evaluate(ScriptEnvironment environment)
evaluates this block of code.Scalar
evaluate(ScriptEnvironment environment, Step start)
evaluates this block of code.int
getApproximateLineNumber()
Returns an approximated line number for the steps in this block object...java.lang.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 blockint
getLowLineNumber()
return the lowest line number associated with this blockjava.lang.String
getSource()
Returns the source identifier for this blockjava.lang.String
getSourceLocation()
Returns a string representation of where in the source code this block originated fromjava.lang.String
toString()
Returns a string representation of the Abstract Syntax Tree (AST).java.lang.String
toString(java.lang.String prefix)
-
-
-
Method Detail
-
toString
public java.lang.String toString(java.lang.String prefix)
-
toString
public java.lang.String toString()
Returns a string representation of the Abstract Syntax Tree (AST). An AST represents how the sleep parser interpreted a script string- Overrides:
toString
in classjava.lang.Object
-
getSource
public java.lang.String getSource()
Returns the source identifier for this block
-
getApproximateLineNumber
public int getApproximateLineNumber()
Returns an approximated line number for the steps in this block object... returns -1 if no code is in this block (unlikely)
-
getHighLineNumber
public int getHighLineNumber()
return the highest line number associated with this block
-
getLowLineNumber
public int getLowLineNumber()
return the lowest line number associated with this block
-
getApproximateLineRange
public java.lang.String getApproximateLineRange()
Returns an approximate range of line numbers for the steps in this block object. Useful for formatting error messages in script warnings and such.
-
getSourceLocation
public java.lang.String getSourceLocation()
Returns a string representation of where in the source code this block originated from
-
add
public void add(Step n)
-
evaluate
public 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?
-
evaluate
public 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?
-
-