scratch-vm/src/engine/thread.js

26 lines
682 B
JavaScript
Raw Normal View History

/**
* A thread is a running stack context and all the metadata needed.
* @param {?string} firstBlock First block to execute in the thread.
* @constructor
*/
function Thread (firstBlock) {
/**
2016-05-02 13:05:48 -04:00
* ID of top block of the thread
* @type {!string}
*/
this.topBlock = firstBlock;
/**
2016-05-02 13:05:48 -04:00
* ID of next block that the thread will execute, or null if none.
* @type {?string}
*/
this.nextBlock = firstBlock;
/**
* Stack for the thread. When the sequencer enters a control structure,
* the block is pushed onto the stack so we know where to exit.
* @type {Array.<string>}
*/
this.stack = [];
2016-04-18 17:20:30 -04:00
}
module.exports = Thread;