diff --git a/core/interfaces/i_procedure_block.js b/core/interfaces/i_procedure_block.js index 17502c19a..4e586e040 100644 --- a/core/interfaces/i_procedure_block.js +++ b/core/interfaces/i_procedure_block.js @@ -10,19 +10,19 @@ 'use strict'; -goog.provide('Blockly.Procedures.ProcedureBlock'); +goog.provide('Blockly.IProcedureBlock'); /** * A procedure block interface. * @interface */ -Blockly.Procedures.ProcedureBlock = function() {}; +Blockly.IProcedureBlock = function() {}; /** * Returns the name of the procedure the procedure block calls. * @return {string} */ -Blockly.Procedures.ProcedureBlock.prototype.getProcedureCall; +Blockly.IProcedureBlock.prototype.getProcedureCall; /** * Renames the procedure from the old name to the new name. If the procedure @@ -31,7 +31,7 @@ Blockly.Procedures.ProcedureBlock.prototype.getProcedureCall; * @param {string} oldName The old name of the procedure. * @param {string} newName The new name of hte procedure. */ -Blockly.Procedures.ProcedureBlock.prototype.renameProcedure; +Blockly.IProcedureBlock.prototype.renameProcedure; /** * Returns the signature of the procedure block's procedure definition. @@ -40,4 +40,4 @@ Blockly.Procedures.ProcedureBlock.prototype.renameProcedure; * - {!Array} a list of all its arguments * - {boolean} whether it has a return value or not */ -Blockly.Procedures.ProcedureBlock.prototype.getProcedureDef; +Blockly.IProcedureBlock.prototype.getProcedureDef; diff --git a/core/procedures.js b/core/procedures.js index 03b0210b3..e625b5eb2 100644 --- a/core/procedures.js +++ b/core/procedures.js @@ -25,13 +25,13 @@ goog.require('Blockly.Events.BlockChange'); goog.require('Blockly.Field'); goog.require('Blockly.Msg'); goog.require('Blockly.Names'); -goog.require('Blockly.Procedures.ProcedureBlock'); goog.require('Blockly.utils.xml'); goog.require('Blockly.Workspace'); goog.require('Blockly.Xml'); goog.requireType('Blockly.Block'); goog.requireType('Blockly.Events.Abstract'); +goog.requireType('Blockly.IProcedureBlock'); goog.requireType('Blockly.WorkspaceSvg'); @@ -48,6 +48,16 @@ Blockly.Procedures.NAME_TYPE = Blockly.PROCEDURE_CATEGORY_NAME; */ Blockly.Procedures.DEFAULT_ARG = 'x'; +/** + * A procedure block interface. Will be deprecated for Blockly.IProcedureBlock. + * @typedef {{ + * getProcedureCall: function():string, + * renameProcedure: function(string,string), + * getProcedureDef: function():!Array + * }} + */ +Blockly.Procedures.ProcedureBlock; + /** * Find all user-created procedure definitions in a workspace. * @param {!Blockly.Workspace} root Root workspace. @@ -59,10 +69,10 @@ Blockly.Procedures.DEFAULT_ARG = 'x'; Blockly.Procedures.allProcedures = function(root) { var proceduresNoReturn = root.getBlocksByType('procedures_defnoreturn', false) .map(function(block) { - return /** @type {!Blockly.Procedures.ProcedureBlock} */ (block).getProcedureDef(); + return /** @type {!Blockly.IProcedureBlock} */ (block).getProcedureDef(); }); var proceduresReturn = root.getBlocksByType('procedures_defreturn', false).map(function(block) { - return /** @type {!Blockly.Procedures.ProcedureBlock} */ (block).getProcedureDef(); + return /** @type {!Blockly.IProcedureBlock} */ (block).getProcedureDef(); }); proceduresNoReturn.sort(Blockly.Procedures.procTupleComparator_); proceduresReturn.sort(Blockly.Procedures.procTupleComparator_); @@ -137,7 +147,7 @@ Blockly.Procedures.isNameUsed = function(name, workspace, opt_exclude) { continue; } if (blocks[i].getProcedureDef) { - var procedureBlock = /** @type {!Blockly.Procedures.ProcedureBlock} */ ( + var procedureBlock = /** @type {!Blockly.IProcedureBlock} */ ( blocks[i]); var procName = procedureBlock.getProcedureDef(); if (Blockly.Names.equals(procName[0], name)) { @@ -166,7 +176,7 @@ Blockly.Procedures.rename = function(name) { var blocks = this.getSourceBlock().workspace.getAllBlocks(false); for (var i = 0; i < blocks.length; i++) { if (blocks[i].renameProcedure) { - var procedureBlock = /** @type {!Blockly.Procedures.ProcedureBlock} */ ( + var procedureBlock = /** @type {!Blockly.IProcedureBlock} */ ( blocks[i]); procedureBlock.renameProcedure( /** @type {string} */ (oldName), legalName); @@ -336,7 +346,7 @@ Blockly.Procedures.getCallers = function(name, workspace) { // Iterate through every block and check the name. for (var i = 0; i < blocks.length; i++) { if (blocks[i].getProcedureCall) { - var procedureBlock = /** @type {!Blockly.Procedures.ProcedureBlock} */ ( + var procedureBlock = /** @type {!Blockly.IProcedureBlock} */ ( blocks[i]); var procName = procedureBlock.getProcedureCall(); // Procedure name may be null if the block is only half-built. @@ -355,7 +365,7 @@ Blockly.Procedures.getCallers = function(name, workspace) { */ Blockly.Procedures.mutateCallers = function(defBlock) { var oldRecordUndo = Blockly.Events.recordUndo; - var procedureBlock = /** @type {!Blockly.Procedures.ProcedureBlock} */ ( + var procedureBlock = /** @type {!Blockly.IProcedureBlock} */ ( defBlock); var name = procedureBlock.getProcedureDef()[0]; var xmlElement = defBlock.mutationToDom(true); @@ -391,7 +401,7 @@ Blockly.Procedures.getDefinition = function(name, workspace) { var blocks = workspace.getAllBlocks(false); for (var i = 0; i < blocks.length; i++) { if (blocks[i].getProcedureDef) { - var procedureBlock = /** @type {!Blockly.Procedures.ProcedureBlock} */ ( + var procedureBlock = /** @type {!Blockly.IProcedureBlock} */ ( blocks[i]); var tuple = procedureBlock.getProcedureDef(); if (tuple && Blockly.Names.equals(tuple[0], name)) {