Fixing operator precedence in Lua and and adding test. (#3765)

* Fixing operator precedence in Lua and and adding test.

* Updating golden files.
This commit is contained in:
Monica Kozbial
2020-03-25 14:34:07 -07:00
committed by GitHub
parent 71f7285333
commit d6abf4798e
7 changed files with 510 additions and 53 deletions

View File

@@ -17,7 +17,7 @@ goog.require('Blockly.Lua');
Blockly.Lua['lists_create_empty'] = function(block) {
// Create an empty list.
return ['{}', Blockly.Lua.ORDER_ATOMIC];
return ['{}', Blockly.Lua.ORDER_HIGH];
};
Blockly.Lua['lists_create_with'] = function(block) {
@@ -28,7 +28,7 @@ Blockly.Lua['lists_create_with'] = function(block) {
Blockly.Lua.ORDER_NONE) || 'None';
}
var code = '{' + elements.join(', ') + '}';
return [code, Blockly.Lua.ORDER_ATOMIC];
return [code, Blockly.Lua.ORDER_HIGH];
};
Blockly.Lua['lists_repeat'] = function(block) {
@@ -126,7 +126,7 @@ Blockly.Lua['lists_getIndex'] = function(block) {
var mode = block.getFieldValue('MODE') || 'GET';
var where = block.getFieldValue('WHERE') || 'FROM_START';
var list = Blockly.Lua.valueToCode(block, 'VALUE', Blockly.Lua.ORDER_HIGH) ||
'{}';
'({})';
var getIndex_ = Blockly.Lua.lists.getIndex_;
// If `list` would be evaluated more than once (which is the case for LAST,