Use getter for variables in procedure generator. (#3971)

This commit is contained in:
Monica Kozbial
2020-06-15 09:47:51 -07:00
committed by GitHub
parent 4ac4332f5e
commit df1508b547
5 changed files with 27 additions and 17 deletions

View File

@@ -25,7 +25,7 @@ Blockly.Python['procedures_defreturn'] = function(block) {
var variables = Blockly.Variables.allUsedVarModels(workspace) || [];
for (var i = 0, variable; variable = variables[i]; i++) {
varName = variable.name;
if (block.arguments_.indexOf(varName) == -1) {
if (block.getVars().indexOf(varName) == -1) {
globals.push(Blockly.Python.variableDB_.getName(varName,
Blockly.VARIABLE_CATEGORY_NAME));
}
@@ -71,8 +71,9 @@ Blockly.Python['procedures_defreturn'] = function(block) {
branch = Blockly.Python.PASS;
}
var args = [];
for (var i = 0; i < block.arguments_.length; i++) {
args[i] = Blockly.Python.variableDB_.getName(block.arguments_[i],
var variables = block.getVars();
for (var i = 0; i < variables.length; i++) {
args[i] = Blockly.Python.variableDB_.getName(variables[i],
Blockly.VARIABLE_CATEGORY_NAME);
}
var code = 'def ' + funcName + '(' + args.join(', ') + '):\n' +
@@ -93,7 +94,8 @@ Blockly.Python['procedures_callreturn'] = function(block) {
var funcName = Blockly.Python.variableDB_.getName(block.getFieldValue('NAME'),
Blockly.PROCEDURE_CATEGORY_NAME);
var args = [];
for (var i = 0; i < block.arguments_.length; i++) {
var variables = block.getVars();
for (var i = 0; i < variables.length; i++) {
args[i] = Blockly.Python.valueToCode(block, 'ARG' + i,
Blockly.Python.ORDER_NONE) || 'None';
}