Files
001code-html--cocos/scratch-vm/src/compiler/compat-block-utility.js
2026-09-07 09:55:36 +08:00

43 lines
1.2 KiB
JavaScript

const BlockUtility = require('../engine/block-utility');
class CompatibilityLayerBlockUtility extends BlockUtility {
constructor () {
super();
this._startedBranch = null;
}
get stackFrame () {
return this.thread.compatibilityStackFrame;
}
startBranch (branchNumber, isLoop) {
this._startedBranch = [branchNumber, isLoop];
}
startProcedure () {
throw new Error('startProcedure is not supported by this BlockUtility');
}
// Parameters are not used by compiled scripts.
initParams () {
throw new Error('initParams is not supported by this BlockUtility');
}
pushParam () {
throw new Error('pushParam is not supported by this BlockUtility');
}
getParam () {
throw new Error('getParam is not supported by this BlockUtility');
}
init (thread, fakeBlockId, stackFrame) {
this.thread = thread;
this.sequencer = thread.target.runtime.sequencer;
this._startedBranch = null;
thread.stack[0] = fakeBlockId;
thread.compatibilityStackFrame = stackFrame;
}
}
// Export a single instance to be reused.
module.exports = new CompatibilityLayerBlockUtility();