mirror of
https://github.com/google/blockly.git
synced 2026-01-08 17:40:09 +01:00
Prevent collisions between user functions and helper functions.
This commit is contained in:
@@ -49,14 +49,15 @@ Blockly.JavaScript['procedures_defreturn'] = function(block) {
|
||||
returnValue = ' return ' + returnValue + ';\n';
|
||||
}
|
||||
var args = [];
|
||||
for (var x = 0; x < block.arguments_.length; x++) {
|
||||
args[x] = Blockly.JavaScript.variableDB_.getName(block.arguments_[x],
|
||||
for (var i = 0; i < block.arguments_.length; i++) {
|
||||
args[i] = Blockly.JavaScript.variableDB_.getName(block.arguments_[i],
|
||||
Blockly.Variables.NAME_TYPE);
|
||||
}
|
||||
var code = 'function ' + funcName + '(' + args.join(', ') + ') {\n' +
|
||||
branch + returnValue + '}';
|
||||
code = Blockly.JavaScript.scrub_(block, code);
|
||||
Blockly.JavaScript.definitions_[funcName] = code;
|
||||
// Add % so as not to collide with helper functions in definitions list.
|
||||
Blockly.JavaScript.definitions_['%' + funcName] = code;
|
||||
return null;
|
||||
};
|
||||
|
||||
@@ -70,8 +71,8 @@ Blockly.JavaScript['procedures_callreturn'] = function(block) {
|
||||
var funcName = Blockly.JavaScript.variableDB_.getName(
|
||||
block.getFieldValue('NAME'), Blockly.Procedures.NAME_TYPE);
|
||||
var args = [];
|
||||
for (var x = 0; x < block.arguments_.length; x++) {
|
||||
args[x] = Blockly.JavaScript.valueToCode(block, 'ARG' + x,
|
||||
for (var i = 0; i < block.arguments_.length; i++) {
|
||||
args[i] = Blockly.JavaScript.valueToCode(block, 'ARG' + i,
|
||||
Blockly.JavaScript.ORDER_COMMA) || 'null';
|
||||
}
|
||||
var code = funcName + '(' + args.join(', ') + ')';
|
||||
@@ -83,8 +84,8 @@ Blockly.JavaScript['procedures_callnoreturn'] = function(block) {
|
||||
var funcName = Blockly.JavaScript.variableDB_.getName(
|
||||
block.getFieldValue('NAME'), Blockly.Procedures.NAME_TYPE);
|
||||
var args = [];
|
||||
for (var x = 0; x < block.arguments_.length; x++) {
|
||||
args[x] = Blockly.JavaScript.valueToCode(block, 'ARG' + x,
|
||||
for (var i = 0; i < block.arguments_.length; i++) {
|
||||
args[i] = Blockly.JavaScript.valueToCode(block, 'ARG' + i,
|
||||
Blockly.JavaScript.ORDER_COMMA) || 'null';
|
||||
}
|
||||
var code = funcName + '(' + args.join(', ') + ');\n';
|
||||
|
||||
Reference in New Issue
Block a user