Raise error if statement block returns tuple.

This commit is contained in:
Neil Fraser
2016-03-18 14:17:31 -07:00
parent 6ae436a153
commit a7892d1aee
4 changed files with 8 additions and 6 deletions

View File

@@ -163,6 +163,8 @@ Blockly.Generator.prototype.blockToCode = function(block) {
var code = func.call(block, block);
if (goog.isArray(code)) {
// Value blocks return tuples of code and operator order.
goog.asserts.assert(block.outputConnection,
'Expecting string from statement block "%s".', block.type);
return [this.scrub_(block, code[0]), code[1]];
} else if (goog.isString(code)) {
if (this.STATEMENT_PREFIX) {

View File

@@ -737,12 +737,12 @@ Blockly.WorkspaceSvg.prototype.showContextMenu_ = function(e) {
// Options to undo/redo previous action.
var undoOption = {};
undoOption.text = Blockly.Msg.UNDO;
undoOption.enabled = !!this.undoStack_.length > 0;
undoOption.enabled = this.undoStack_.length > 0;
undoOption.callback = this.undo.bind(this, false);
menuOptions.push(undoOption);
var redoOption = {};
redoOption.text = Blockly.Msg.REDO;
redoOption.enabled = !!this.redoStack_.length > 0;
redoOption.enabled = this.redoStack_.length > 0;
redoOption.callback = this.undo.bind(this, true);
menuOptions.push(redoOption);

View File

@@ -87,7 +87,7 @@ Blockly.Lua['lists_indexOf'] = function(block) {
var argument1 = Blockly.Lua.valueToCode(block, 'VALUE',
Blockly.Lua.ORDER_NONE) || '({})';
var functionName;
if (block.getTitleValue('END') == 'FIRST') {
if (block.getFieldValue('END') == 'FIRST') {
functionName = Blockly.Lua.provideFunction_(
'first_index',
['function ' + Blockly.Lua.FUNCTION_NAME_PLACEHOLDER_ + '(t, elem)',
@@ -155,8 +155,8 @@ Blockly.Lua.lists.gensym_ = function() {
Blockly.Lua['lists_getIndex'] = function(block) {
// Get element at index.
// Note: Until January 2013 this block did not have MODE or WHERE inputs.
var mode = block.getTitleValue('MODE') || 'GET';
var where = block.getTitleValue('WHERE') || 'FROM_START';
var mode = block.getFieldValue('MODE') || 'GET';
var where = block.getFieldValue('WHERE') || 'FROM_START';
var at = Blockly.Lua.valueToCode(block, 'AT',
Blockly.Lua.ORDER_ADDITIVE) || '1';
var list = Blockly.Lua.valueToCode(block, 'VALUE',

View File

@@ -93,7 +93,7 @@ Blockly.Lua['text_indexOf'] = function(block) {
Blockly.Lua.ORDER_NONE) || '\'\'';
var str = Blockly.Lua.valueToCode(block, 'VALUE',
Blockly.Lua.ORDER_NONE) || '\'\'';
if (block.getTitleValue('END') == 'FIRST') {
if (block.getFieldValue('END') == 'FIRST') {
var functionName = Blockly.Lua.provideFunction_(
'firstIndexOf',
['function ' + Blockly.Lua.FUNCTION_NAME_PLACEHOLDER_ +