From a8cf038821991a26cc6e6f1602a369e08183f44b Mon Sep 17 00:00:00 2001 From: Mario Pesch Date: Fri, 17 Sep 2021 12:26:18 +0200 Subject: [PATCH] rename variableDB to nameDB rename variableDB_ to nameDB_ as it is deprecated --- src/components/Blockly/generator/generator.js | 20 +- src/components/Blockly/generator/math.js | 2 +- .../Blockly/generator/procedures.js | 210 +++++++++--------- src/components/Blockly/generator/text.js | 107 +++++---- src/components/Blockly/generator/variables.js | 4 +- 5 files changed, 178 insertions(+), 165 deletions(-) diff --git a/src/components/Blockly/generator/generator.js b/src/components/Blockly/generator/generator.js index 9d5e838..e1073c9 100644 --- a/src/components/Blockly/generator/generator.js +++ b/src/components/Blockly/generator/generator.js @@ -121,21 +121,21 @@ Blockly["Arduino"].init = function (workspace) { Blockly["Arduino"].variablesInitCode_ = ""; - if (!Blockly["Arduino"].variableDB_) { - Blockly["Arduino"].variableDB_ = new Blockly.Names( + if (!Blockly["Arduino"].nameDB_) { + Blockly["Arduino"].nameDB_ = new Blockly.Names( Blockly["Arduino"].RESERVED_WORDS_ ); } else { - Blockly["Arduino"].variableDB_.reset(); + Blockly["Arduino"].nameDB_.reset(); } - Blockly["Arduino"].variableDB_.setVariableMap(workspace.getVariableMap()); + Blockly["Arduino"].nameDB_.setVariableMap(workspace.getVariableMap()); // We don't have developer variables for now // // Add developer variables (not created or named by the user). // var devVarList = Blockly.Variables.allDeveloperVariables(workspace); // for (var i = 0; i < devVarList.length; i++) { - // defvars.push(Blockly['Arduino'].variableDB_.getName(devVarList[i], + // defvars.push(Blockly['Arduino'].nameDB_.getName(devVarList[i], // Blockly.Names.DEVELOPER_VARIABLE_TYPE)); // } @@ -145,7 +145,7 @@ Blockly["Arduino"].init = function (workspace) { for (i = 0; i < doubleVariables.length; i += 1) { variableCode += "double " + - Blockly["Arduino"].variableDB_.getName( + Blockly["Arduino"].nameDB_.getName( doubleVariables[i].getId(), Blockly.Variables.NAME_TYPE ) + @@ -156,7 +156,7 @@ Blockly["Arduino"].init = function (workspace) { for (i = 0; i < stringVariables.length; i += 1) { variableCode += "String " + - Blockly["Arduino"].variableDB_.getName( + Blockly["Arduino"].nameDB_.getName( stringVariables[i].getId(), Blockly.Variables.NAME_TYPE ) + @@ -167,7 +167,7 @@ Blockly["Arduino"].init = function (workspace) { for (i = 0; i < booleanVariables.length; i += 1) { variableCode += "boolean " + - Blockly["Arduino"].variableDB_.getDistinctName( + Blockly["Arduino"].nameDB_.getDistinctName( booleanVariables[i].getId(), Blockly.Variables.NAME_TYPE ) + @@ -178,7 +178,7 @@ Blockly["Arduino"].init = function (workspace) { for (i = 0; i < colourVariables.length; i += 1) { variableCode += "RGB " + - Blockly["Arduino"].variableDB_.getName( + Blockly["Arduino"].nameDB_.getName( colourVariables[i].getId(), Blockly.Variables.NAME_TYPE ) + @@ -281,7 +281,7 @@ Blockly["Arduino"].finish = function (code) { delete Blockly["Arduino"].loopCodeOnce_; delete Blockly["Arduino"].variablesInitCode_; delete Blockly["Arduino"].libraries_; - Blockly["Arduino"].variableDB_.reset(); + Blockly["Arduino"].nameDB_.reset(); return code; }; diff --git a/src/components/Blockly/generator/math.js b/src/components/Blockly/generator/math.js index b6312d4..951f5ca 100644 --- a/src/components/Blockly/generator/math.js +++ b/src/components/Blockly/generator/math.js @@ -275,7 +275,7 @@ Blockly.Arduino["math_change"] = function (block) { "DELTA", Blockly.Arduino.ORDER_ADDITIVE ) || "0"; - var varName = Blockly.Arduino.variableDB_.getName( + var varName = Blockly.Arduino.nameDB_.getName( block.getFieldValue("VAR"), Blockly.Variables.NAME_TYPE ); diff --git a/src/components/Blockly/generator/procedures.js b/src/components/Blockly/generator/procedures.js index 595dc66..34a471b 100644 --- a/src/components/Blockly/generator/procedures.js +++ b/src/components/Blockly/generator/procedures.js @@ -1,5 +1,4 @@ -import * as Blockly from 'blockly/core'; - +import * as Blockly from "blockly/core"; /** * Code generator to add code into the setup() and loop() functions. @@ -7,121 +6,122 @@ import * as Blockly from 'blockly/core'; * @param {!Blockly.Block} block Block to generate the code from. * @return {string} Completed code. */ -Blockly.Arduino['arduino_functions'] = function (block) { - // Edited version of Blockly.Generator.prototype.statementToCode - function statementToCodeNoTab(block, name) { - var targetBlock = block.getInputTargetBlock(name); - var code = Blockly.Arduino.blockToCode(targetBlock); - if (typeof code != 'string') { - throw new Error('Expecting code from statement block "' + targetBlock.type + '".'); - } - return code; +Blockly.Arduino["arduino_functions"] = function (block) { + // Edited version of Blockly.Generator.prototype.statementToCode + function statementToCodeNoTab(block, name) { + var targetBlock = block.getInputTargetBlock(name); + var code = Blockly.Arduino.blockToCode(targetBlock); + if (typeof code != "string") { + throw new Error( + 'Expecting code from statement block "' + targetBlock.type + '".' + ); } + return code; + } - var setupBranch = Blockly.Arduino.statementToCode(block, 'SETUP_FUNC'); - // //var setupCode = Blockly.Arduino.scrub_(block, setupBranch); No comment block - if (setupBranch) { - Blockly.Arduino.setupCode_['mainsetup'] = setupBranch; - } + var setupBranch = Blockly.Arduino.statementToCode(block, "SETUP_FUNC"); + // //var setupCode = Blockly.Arduino.scrub_(block, setupBranch); No comment block + if (setupBranch) { + Blockly.Arduino.setupCode_["mainsetup"] = setupBranch; + } - var loopBranch = statementToCodeNoTab(block, 'LOOP_FUNC'); - //var loopcode = Blockly.Arduino.scrub_(block, loopBranch); No comment block - return loopBranch; + var loopBranch = statementToCodeNoTab(block, "LOOP_FUNC"); + //var loopcode = Blockly.Arduino.scrub_(block, loopBranch); No comment block + return loopBranch; }; -Blockly.Arduino['procedures_defreturn'] = function (block) { - // Define a procedure with a return value. - const funcName = Blockly.Arduino.variableDB_.getName( - block.getFieldValue('NAME'), - Blockly.Procedures.NAME_TYPE - ); - const branch = Blockly.Arduino.statementToCode(block, 'STACK'); - const returnType = block.getFieldValue('RETURN TYPE') || 'void'; +Blockly.Arduino["procedures_defreturn"] = function (block) { + // Define a procedure with a return value. + const funcName = Blockly.Arduino.nameDB_.getName( + block.getFieldValue("NAME"), + Blockly.Procedures.NAME_TYPE + ); + const branch = Blockly.Arduino.statementToCode(block, "STACK"); + const returnType = block.getFieldValue("RETURN TYPE") || "void"; - let returnValue = - Blockly.Arduino.valueToCode(block, 'RETURN', Blockly.Arduino.ORDER_NONE) || - ''; - if (returnValue) { - returnValue = Blockly.Arduino.INDENT + 'return ' + returnValue + ';\n'; - } - const args = []; - for (let i = 0; i < block.argumentVarModels_.length; i++) { - args[i] = - translateType(block.argumentVarModels_[i].type) + - ' ' + - block.argumentVarModels_[i].name; - } - let code = - translateType(returnType) + - ' ' + - funcName + - '(' + - args.join(', ') + - ') {\n' + - branch + - returnValue + - '}'; - code = Blockly.Arduino.scrub_(block, code); - // Add % so as not to collide with helper functions in definitions list. - Blockly.Arduino.functionNames_['%' + funcName] = code; - return null; + let returnValue = + Blockly.Arduino.valueToCode(block, "RETURN", Blockly.Arduino.ORDER_NONE) || + ""; + if (returnValue) { + returnValue = Blockly.Arduino.INDENT + "return " + returnValue + ";\n"; + } + const args = []; + for (let i = 0; i < block.argumentVarModels_.length; i++) { + args[i] = + translateType(block.argumentVarModels_[i].type) + + " " + + block.argumentVarModels_[i].name; + } + let code = + translateType(returnType) + + " " + + funcName + + "(" + + args.join(", ") + + ") {\n" + + branch + + returnValue + + "}"; + code = Blockly.Arduino.scrub_(block, code); + // Add % so as not to collide with helper functions in definitions list. + Blockly.Arduino.functionNames_["%" + funcName] = code; + return null; }; function translateType(type) { - switch (type) { - - case 'int': - return 'int'; - case 'String': - return 'String'; - case 'void': - return 'void'; - case 'boolean': - return 'boolean'; - case 'float': - return 'float' - default: - throw new Error('Invalid Parameter Type'); - } + switch (type) { + case "int": + return "int"; + case "String": + return "String"; + case "void": + return "void"; + case "boolean": + return "boolean"; + case "float": + return "float"; + default: + throw new Error("Invalid Parameter Type"); + } } -Blockly.Arduino['procedures_defnoreturn'] = - Blockly.Arduino['procedures_defreturn']; +Blockly.Arduino["procedures_defnoreturn"] = + Blockly.Arduino["procedures_defreturn"]; -Blockly.Arduino['procedures_callreturn'] = function (block) { - // Call a procedure with a return value. - const funcName = Blockly.Arduino.variableDB_.getName( - block.getFieldValue('NAME'), - Blockly.Procedures.NAME_TYPE - ); - const args = []; - for (let i = 0; i < block.arguments_.length; i++) { - args[i] = - Blockly.Arduino.valueToCode( - block, - 'ARG' + i, - Blockly.Arduino.ORDER_COMMA - ) || 'null'; - } - const code = funcName + '(' + args.join(', ') + ')'; - return [code, Blockly.Arduino.ORDER_ATOMIC]; +Blockly.Arduino["procedures_callreturn"] = function (block) { + // Call a procedure with a return value. + const funcName = Blockly.Arduino.nameDB_.getName( + block.getFieldValue("NAME"), + Blockly.Procedures.NAME_TYPE + ); + const args = []; + for (let i = 0; i < block.arguments_.length; i++) { + args[i] = + Blockly.Arduino.valueToCode( + block, + "ARG" + i, + Blockly.Arduino.ORDER_COMMA + ) || "null"; + } + const code = funcName + "(" + args.join(", ") + ")"; + return [code, Blockly.Arduino.ORDER_ATOMIC]; }; -Blockly.Arduino['procedures_callnoreturn'] = function (block) { - // Call a procedure with no return value. - const funcName = Blockly.Arduino.variableDB_.getName( - block.getFieldValue('NAME'), - Blockly.Procedures.NAME_TYPE - ); - const args = []; - for (let i = 0; i < block.arguments_.length; i++) { - args[i] = - Blockly.Arduino.valueToCode( - block, - 'ARG' + i, - Blockly.Arduino.ORDER_COMMA - ) || 'null'; - } +Blockly.Arduino["procedures_callnoreturn"] = function (block) { + // Call a procedure with no return value. + const funcName = Blockly.Arduino.nameDB_.getName( + block.getFieldValue("NAME"), + Blockly.Procedures.NAME_TYPE + ); + const args = []; + for (let i = 0; i < block.arguments_.length; i++) { + args[i] = + Blockly.Arduino.valueToCode( + block, + "ARG" + i, + Blockly.Arduino.ORDER_COMMA + ) || "null"; + } - return funcName + '(' + args.join(', ') + ');\n'; -}; \ No newline at end of file + return funcName + "(" + args.join(", ") + ");\n"; +}; diff --git a/src/components/Blockly/generator/text.js b/src/components/Blockly/generator/text.js index 95fcc15..e4e654f 100644 --- a/src/components/Blockly/generator/text.js +++ b/src/components/Blockly/generator/text.js @@ -1,5 +1,4 @@ -import * as Blockly from 'blockly/core'; - +import * as Blockly from "blockly/core"; /** * Code generator for a literal String (X). @@ -7,12 +6,11 @@ import * as Blockly from 'blockly/core'; * @param {!Blockly.Block} block Block to generate the code from. * @return {array} Completed code with order of operation. */ -Blockly.Arduino['text'] = function (block) { - var code = Blockly.Arduino.quote_(block.getFieldValue('TEXT')); - return [code, Blockly.Arduino.ORDER_ATOMIC]; +Blockly.Arduino["text"] = function (block) { + var code = Blockly.Arduino.quote_(block.getFieldValue("TEXT")); + return [code, Blockly.Arduino.ORDER_ATOMIC]; }; - /** * Code generator for a String concatenation (X...Y). This string can be made * up of any number of elements of any type. @@ -22,30 +20,37 @@ Blockly.Arduino['text'] = function (block) { * @param {!Blockly.Block} block Block to generate the code from. * @return {array} Completed code with order of operation. */ -Blockly.Arduino['text_join'] = function (block) { - var code; - if (block.itemCount_ === 0) { - return ['""', Blockly.Arduino.ORDER_ATOMIC]; - } else if (block.itemCount_ === 1) { - var argument0 = Blockly.Arduino.valueToCode(block, 'ADD0', - Blockly.Arduino.ORDER_UNARY_POSTFIX) || '""'; - code = 'String(' + argument0 + ')'; - return [code, Blockly.Arduino.ORDER_UNARY_POSTFIX]; - } else { - var argument; - code = []; - for (var n = 0; n < block.itemCount_; n++) { - argument = Blockly.Arduino.valueToCode( - block, 'ADD' + n, Blockly.Arduino.ORDER_NONE); - if (argument === '') { - code[n] = '""'; - } else { - code[n] = 'String(' + argument + ')'; - } - } - code = code.join(' + '); - return [code, Blockly.Arduino.ORDER_UNARY_POSTFIX]; +Blockly.Arduino["text_join"] = function (block) { + var code; + if (block.itemCount_ === 0) { + return ['""', Blockly.Arduino.ORDER_ATOMIC]; + } else if (block.itemCount_ === 1) { + var argument0 = + Blockly.Arduino.valueToCode( + block, + "ADD0", + Blockly.Arduino.ORDER_UNARY_POSTFIX + ) || '""'; + code = "String(" + argument0 + ")"; + return [code, Blockly.Arduino.ORDER_UNARY_POSTFIX]; + } else { + var argument; + code = []; + for (var n = 0; n < block.itemCount_; n++) { + argument = Blockly.Arduino.valueToCode( + block, + "ADD" + n, + Blockly.Arduino.ORDER_NONE + ); + if (argument === "") { + code[n] = '""'; + } else { + code[n] = "String(" + argument + ")"; + } } + code = code.join(" + "); + return [code, Blockly.Arduino.ORDER_UNARY_POSTFIX]; + } }; /** @@ -55,18 +60,23 @@ Blockly.Arduino['text_join'] = function (block) { * @param {!Blockly.Block} block Block to generate the code from. * @return {string} Completed code. */ -Blockly.Arduino['text_append'] = function (block) { - // Append to a variable in place. - var varName = Blockly.Arduino.variableDB_.getName( - block.getFieldValue('VAR'), Blockly.Variables.NAME_TYPE); - var argument0 = Blockly.Arduino.valueToCode(block, 'TEXT', - Blockly.Arduino.ORDER_UNARY_POSTFIX); - if (argument0 === '') { - argument0 = '""'; - } else { - argument0 = 'String(' + argument0 + ')'; - } - return varName + ' += ' + argument0 + ';\n'; +Blockly.Arduino["text_append"] = function (block) { + // Append to a variable in place. + var varName = Blockly.Arduino.nameDB_.getName( + block.getFieldValue("VAR"), + Blockly.Variables.NAME_TYPE + ); + var argument0 = Blockly.Arduino.valueToCode( + block, + "TEXT", + Blockly.Arduino.ORDER_UNARY_POSTFIX + ); + if (argument0 === "") { + argument0 = '""'; + } else { + argument0 = "String(" + argument0 + ")"; + } + return varName + " += " + argument0 + ";\n"; }; /** @@ -76,10 +86,13 @@ Blockly.Arduino['text_append'] = function (block) { * @param {!Blockly.Block} block Block to generate the code from. * @return {array} Completed code with order of operation. */ -Blockly.Arduino['text_length'] = function (block) { - var argument0 = Blockly.Arduino.valueToCode(block, 'VALUE', - Blockly.Arduino.ORDER_UNARY_POSTFIX) || '""'; - var code = 'String(' + argument0 + ').length()'; - return [code, Blockly.Arduino.ORDER_UNARY_POSTFIX]; +Blockly.Arduino["text_length"] = function (block) { + var argument0 = + Blockly.Arduino.valueToCode( + block, + "VALUE", + Blockly.Arduino.ORDER_UNARY_POSTFIX + ) || '""'; + var code = "String(" + argument0 + ").length()"; + return [code, Blockly.Arduino.ORDER_UNARY_POSTFIX]; }; - diff --git a/src/components/Blockly/generator/variables.js b/src/components/Blockly/generator/variables.js index 50e971b..7ee7be9 100644 --- a/src/components/Blockly/generator/variables.js +++ b/src/components/Blockly/generator/variables.js @@ -2,7 +2,7 @@ import Blockly from "blockly"; const setVariableFunction = function (defaultValue) { return function (block) { - const variableName = Blockly["Arduino"].variableDB_.getName( + const variableName = Blockly["Arduino"].nameDB_.getName( block.getFieldValue("VAR"), Blockly.Variables.NAME_TYPE ); @@ -48,7 +48,7 @@ const setVariableFunction = function (defaultValue) { }; const getVariableFunction = function (block) { - const variableName = Blockly["Arduino"].variableDB_.getName( + const variableName = Blockly["Arduino"].nameDB_.getName( block.getFieldValue("VAR"), Blockly.Variables.NAME_TYPE );