Rename to IProcedureBlock

This commit is contained in:
Beka Westberg
2021-05-08 07:57:38 -07:00
parent 918bdc2359
commit c8a065fa13
2 changed files with 23 additions and 13 deletions

View File

@@ -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<string>} a list of all its arguments
* - {boolean} whether it has a return value or not
*/
Blockly.Procedures.ProcedureBlock.prototype.getProcedureDef;
Blockly.IProcedureBlock.prototype.getProcedureDef;

View File

@@ -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)) {