mirror of
https://github.com/google/blockly.git
synced 2026-01-11 10:57:07 +01:00
Resolve remaining compiler type warnings (#3334)
* Resolve remaining compiler warnings with inconsistent types.
This commit is contained in:
@@ -1814,7 +1814,7 @@ Blockly.Block.prototype.getInputTargetBlock = function(name) {
|
||||
|
||||
/**
|
||||
* Returns the comment on this block (or null if there is no comment).
|
||||
* @return {string} Block's comment.
|
||||
* @return {?string} Block's comment.
|
||||
*/
|
||||
Blockly.Block.prototype.getCommentText = function() {
|
||||
return this.commentModel.text;
|
||||
|
||||
@@ -173,7 +173,7 @@ Blockly.BlockDragSurfaceSvg.prototype.translateSurface = function(x, y) {
|
||||
* @return {!Blockly.utils.Coordinate} Current translation of the surface.
|
||||
*/
|
||||
Blockly.BlockDragSurfaceSvg.prototype.getSurfaceTranslation = function() {
|
||||
var xy = Blockly.utils.getRelativeXY(this.SVG_);
|
||||
var xy = Blockly.utils.getRelativeXY(/** @type {!SVGElement} */ (this.SVG_));
|
||||
return new Blockly.utils.Coordinate(xy.x / this.scale_, xy.y / this.scale_);
|
||||
};
|
||||
|
||||
@@ -189,11 +189,11 @@ Blockly.BlockDragSurfaceSvg.prototype.getGroup = function() {
|
||||
/**
|
||||
* Get the current blocks on the drag surface, if any (primarily
|
||||
* for BlockSvg.getRelativeToSurfaceXY).
|
||||
* @return {!Element|undefined} Drag surface block DOM element, or undefined
|
||||
* if no blocks exist.
|
||||
* @return {Element} Drag surface block DOM element, or undefined if no blocks
|
||||
* exist.
|
||||
*/
|
||||
Blockly.BlockDragSurfaceSvg.prototype.getCurrentBlock = function() {
|
||||
return this.dragGroup_.firstChild;
|
||||
return /** @type {Element} */ (this.dragGroup_.firstChild);
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -56,7 +56,7 @@ goog.require('Blockly.Warning');
|
||||
Blockly.BlockSvg = function(workspace, prototypeName, opt_id) {
|
||||
// Create core elements for the block.
|
||||
/**
|
||||
* @type {SVGElement}
|
||||
* @type {!SVGElement}
|
||||
* @private
|
||||
*/
|
||||
this.svgGroup_ = Blockly.utils.dom.createSvgElement('g', {}, null);
|
||||
@@ -440,7 +440,7 @@ Blockly.BlockSvg.prototype.getRelativeToSurfaceXY = function() {
|
||||
x += surfaceTranslation.x;
|
||||
y += surfaceTranslation.y;
|
||||
}
|
||||
element = element.parentNode;
|
||||
element = /** @type {!SVGElement} */ (element.parentNode);
|
||||
} while (element && element != this.workspace.getCanvas() &&
|
||||
element != dragSurfaceGroup);
|
||||
}
|
||||
@@ -997,7 +997,7 @@ Blockly.BlockSvg.prototype.setInsertionMarker = function(insertionMarker) {
|
||||
|
||||
/**
|
||||
* Return the root node of the SVG or null if none exists.
|
||||
* @return {SVGElement} The root SVG node (probably a group).
|
||||
* @return {!SVGElement} The root SVG node (probably a group).
|
||||
*/
|
||||
Blockly.BlockSvg.prototype.getSvgRoot = function() {
|
||||
return this.svgGroup_;
|
||||
|
||||
@@ -363,7 +363,7 @@ Blockly.hideChaff = function(opt_allowToolbox) {
|
||||
* @return {!Blockly.Workspace} The main workspace.
|
||||
*/
|
||||
Blockly.getMainWorkspace = function() {
|
||||
return Blockly.mainWorkspace;
|
||||
return /** @type {!Blockly.Workspace} */ (Blockly.mainWorkspace);
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -396,7 +396,7 @@ Blockly.confirm = function(message, callback) {
|
||||
* recommend testing mobile when overriding this.
|
||||
* @param {string} message The message to display to the user.
|
||||
* @param {string} defaultValue The value to initialize the prompt with.
|
||||
* @param {!function(string)} callback The callback for handling user response.
|
||||
* @param {!function(?string)} callback The callback for handling user response.
|
||||
*/
|
||||
Blockly.prompt = function(message, defaultValue, callback) {
|
||||
callback(prompt(message, defaultValue));
|
||||
|
||||
@@ -279,7 +279,7 @@ Blockly.ContextMenu.blockCommentOption = function(block) {
|
||||
enabled: !Blockly.utils.userAgent.IE
|
||||
};
|
||||
// If there's already a comment, add an option to delete it.
|
||||
if (block.comment) {
|
||||
if (block.getCommentIcon()) {
|
||||
commentOption.text = Blockly.Msg['REMOVE_COMMENT'];
|
||||
commentOption.callback = function() {
|
||||
block.setCommentText(null);
|
||||
|
||||
@@ -391,7 +391,7 @@ Blockly.Events.fromJson = function(json, workspace) {
|
||||
event = new Blockly.Events.CommentDelete(null);
|
||||
break;
|
||||
case Blockly.Events.FINISHED_LOADING:
|
||||
event = new Blockly.Events.FinishedLoading(null);
|
||||
event = new Blockly.Events.FinishedLoading(workspace);
|
||||
break;
|
||||
default:
|
||||
throw Error('Unknown event type.');
|
||||
|
||||
@@ -87,7 +87,7 @@ Blockly.Extensions.registerMixin = function(name, mixinObj) {
|
||||
* @param {!Object} mixinObj The values to mix in.
|
||||
* @param {(function())=} opt_helperFn An optional function to apply after
|
||||
* mixing in the object.
|
||||
* @param {Array.<string>=} opt_blockList A list of blocks to appear in the
|
||||
* @param {!Array.<string>=} opt_blockList A list of blocks to appear in the
|
||||
* flyout of the mutator dialog.
|
||||
* @throws {Error} if the mutation is invalid or can't be applied to the block.
|
||||
*/
|
||||
@@ -114,7 +114,7 @@ Blockly.Extensions.registerMutator = function(name, mixinObj, opt_helperFn,
|
||||
if (!Blockly.Mutator) {
|
||||
throw Error(errorPrefix + 'Missing require for Blockly.Mutator');
|
||||
}
|
||||
this.setMutator(new Blockly.Mutator(opt_blockList));
|
||||
this.setMutator(new Blockly.Mutator(opt_blockList || []));
|
||||
}
|
||||
// Mixin the object.
|
||||
this.mixin(mixinObj);
|
||||
@@ -165,7 +165,8 @@ Blockly.Extensions.apply = function(name, block, isMutator) {
|
||||
var errorPrefix = 'Error after applying mutator "' + name + '": ';
|
||||
Blockly.Extensions.checkBlockHasMutatorProperties_(errorPrefix, block);
|
||||
} else {
|
||||
if (!Blockly.Extensions.mutatorPropertiesMatch_(mutatorProperties, block)) {
|
||||
if (!Blockly.Extensions.mutatorPropertiesMatch_(
|
||||
/** @type {!Array.<Object>} */ (mutatorProperties), block)) {
|
||||
throw Error('Error when applying extension "' + name + '": ' +
|
||||
'mutation properties changed when applying a non-mutator extension.');
|
||||
}
|
||||
@@ -359,7 +360,7 @@ Blockly.Extensions.buildTooltipForDropdown = function(dropdownName,
|
||||
}
|
||||
|
||||
this.setTooltip(function() {
|
||||
var value = this.getFieldValue(dropdownName);
|
||||
var value = String(this.getFieldValue(dropdownName));
|
||||
var tooltip = lookupTable[value];
|
||||
if (tooltip == null) {
|
||||
if (blockTypesChecked.indexOf(this.type) == -1) {
|
||||
|
||||
@@ -64,14 +64,15 @@ Blockly.Grid = function(pattern, options) {
|
||||
* @type {SVGElement}
|
||||
* @private
|
||||
*/
|
||||
this.line1_ = pattern.firstChild;
|
||||
this.line1_ = /** @type {SVGElement} */ (pattern.firstChild);
|
||||
|
||||
/**
|
||||
* The vertical grid line, if it exists.
|
||||
* @type {SVGElement}
|
||||
* @private
|
||||
*/
|
||||
this.line2_ = this.line1_ && this.line1_.nextSibling;
|
||||
this.line2_ = this.line1_ &&
|
||||
(/** @type {SVGElement} */ (this.line1_.nextSibling));
|
||||
|
||||
/**
|
||||
* Whether blocks should snap to the grid.
|
||||
@@ -154,7 +155,7 @@ Blockly.Grid.prototype.update = function(scale) {
|
||||
/**
|
||||
* Set the attributes on one of the lines in the grid. Use this to update the
|
||||
* length and stroke width of the grid lines.
|
||||
* @param {!SVGElement} line Which line to update.
|
||||
* @param {SVGElement} line Which line to update.
|
||||
* @param {number} width The new stroke size (in px).
|
||||
* @param {number} x1 The new x start position of the line (in px).
|
||||
* @param {number} x2 The new x end position of the line (in px).
|
||||
|
||||
@@ -293,7 +293,7 @@ Blockly.ASTNode.prototype.findNextForField_ = function() {
|
||||
var location = /** @type {!Blockly.Field} */ (this.location_);
|
||||
var input = location.getParentInput();
|
||||
var block = location.getSourceBlock();
|
||||
var curIdx = block.inputList.indexOf(input);
|
||||
var curIdx = block.inputList.indexOf(/** @type {!Blockly.Input} */ (input));
|
||||
var fieldIdx = input.fieldRow.indexOf(location) + 1;
|
||||
for (var i = curIdx, newInput; newInput = block.inputList[i]; i++) {
|
||||
var fieldRow = newInput.fieldRow;
|
||||
@@ -347,7 +347,8 @@ Blockly.ASTNode.prototype.findPrevForField_ = function() {
|
||||
var location = /** @type {!Blockly.Field} */ (this.location_);
|
||||
var parentInput = location.getParentInput();
|
||||
var block = location.getSourceBlock();
|
||||
var curIdx = block.inputList.indexOf(parentInput);
|
||||
var curIdx = block.inputList.indexOf(
|
||||
/** @type {!Blockly.Input} */ (parentInput));
|
||||
var fieldIdx = parentInput.fieldRow.indexOf(location) - 1;
|
||||
for (var i = curIdx, input; input = block.inputList[i]; i--) {
|
||||
if (input.connection && input !== parentInput) {
|
||||
|
||||
@@ -109,7 +109,7 @@ Blockly.Workspace = function(opt_options) {
|
||||
* A FieldVariable must always refer to a Blockly.VariableModel. We reconcile
|
||||
* these by tracking "potential" variables in the flyout. These variables
|
||||
* become real when references to them are dragged into the main workspace.
|
||||
* @type {!Blockly.VariableMap}
|
||||
* @type {Blockly.VariableMap}
|
||||
* @private
|
||||
*/
|
||||
this.potentialVariableMap_ = null;
|
||||
@@ -246,9 +246,11 @@ Blockly.Workspace.prototype.refreshTheme = function() {
|
||||
Blockly.Workspace.prototype.updateBlockStyles_ = function(blocks) {
|
||||
for (var i = 0, block; block = blocks[i]; i++) {
|
||||
var blockStyleName = block.getStyleName();
|
||||
block.setStyle(blockStyleName);
|
||||
if (block.mutator) {
|
||||
block.mutator.updateBlockStyle(blockStyleName);
|
||||
if (blockStyleName) {
|
||||
block.setStyle(blockStyleName);
|
||||
if (block.mutator) {
|
||||
block.mutator.updateBlockStyle();
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -861,7 +863,7 @@ Blockly.Workspace.prototype.createPotentialVariableMap = function() {
|
||||
|
||||
/**
|
||||
* Return the map of all variables on the workspace.
|
||||
* @return {Blockly.VariableMap} The variable map.
|
||||
* @return {!Blockly.VariableMap} The variable map.
|
||||
*/
|
||||
Blockly.Workspace.prototype.getVariableMap = function() {
|
||||
return this.variableMap_;
|
||||
@@ -869,7 +871,7 @@ Blockly.Workspace.prototype.getVariableMap = function() {
|
||||
|
||||
/**
|
||||
* Set the map of all variables on the workspace.
|
||||
* @param {Blockly.VariableMap} variableMap The variable map.
|
||||
* @param {!Blockly.VariableMap} variableMap The variable map.
|
||||
* @package
|
||||
*/
|
||||
Blockly.Workspace.prototype.setVariableMap = function(variableMap) {
|
||||
|
||||
@@ -48,7 +48,6 @@ Blockly.WorkspaceAudio = function(parentWorkspace) {
|
||||
/**
|
||||
* Database of pre-loaded sounds.
|
||||
* @private
|
||||
* @const
|
||||
*/
|
||||
this.SOUNDS_ = Object.create(null);
|
||||
};
|
||||
|
||||
@@ -531,7 +531,7 @@ Blockly.WorkspaceSvg.prototype.isVisible = function() {
|
||||
* Return the absolute coordinates of the top-left corner of this element,
|
||||
* scales that after canvas SVG element, if it's a descendant.
|
||||
* The origin (0,0) is the top-left corner of the Blockly SVG.
|
||||
* @param {!Element} element Element to find the coordinates of.
|
||||
* @param {!SVGElement} element SVG element to find the coordinates of.
|
||||
* @return {!Blockly.utils.Coordinate} Object with .x and .y properties.
|
||||
* @package
|
||||
*/
|
||||
@@ -554,7 +554,7 @@ Blockly.WorkspaceSvg.prototype.getSvgXY = function(element) {
|
||||
}
|
||||
x += xy.x * scale;
|
||||
y += xy.y * scale;
|
||||
element = /** @type {!Element} */ (element.parentNode);
|
||||
element = /** @type {!SVGElement} */ (element.parentNode);
|
||||
} while (element && element != this.getParentSvg());
|
||||
return new Blockly.utils.Coordinate(x, y);
|
||||
};
|
||||
@@ -1335,7 +1335,7 @@ Blockly.WorkspaceSvg.prototype.deleteVariableById = function(id) {
|
||||
* their type. This will default to '' which is a specific type.
|
||||
* @param {?string=} opt_id The unique ID of the variable. This will default to
|
||||
* a UUID.
|
||||
* @return {Blockly.VariableModel} The newly created variable.
|
||||
* @return {!Blockly.VariableModel} The newly created variable.
|
||||
* @package
|
||||
*/
|
||||
Blockly.WorkspaceSvg.prototype.createVariable = function(name,
|
||||
@@ -1420,7 +1420,8 @@ Blockly.WorkspaceSvg.prototype.moveDrag = function(e) {
|
||||
// Fix scale of mouse event.
|
||||
point.x /= this.scale;
|
||||
point.y /= this.scale;
|
||||
return Blockly.utils.Coordinate.sum(this.dragDeltaXY_, point);
|
||||
return Blockly.utils.Coordinate.sum(
|
||||
/** @type {!Blockly.utils.Coordinate} */ (this.dragDeltaXY_), point);
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user