From f0b68fad6630d60d14e23ec06bbc774b43f99b30 Mon Sep 17 00:00:00 2001 From: jschanker Date: Wed, 24 Jan 2018 20:34:38 -0500 Subject: [PATCH] Fixed JS/PHP generators for math_number It was returning ORDER_ATOMIC for the block for any number; changed it so that it now returns ORDER_UNARY_NEGATION for negative numbers. --- generators/javascript/math.js | 4 +++- generators/php/math.js | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/generators/javascript/math.js b/generators/javascript/math.js index a31b94392..0bd265af2 100644 --- a/generators/javascript/math.js +++ b/generators/javascript/math.js @@ -32,7 +32,9 @@ goog.require('Blockly.JavaScript'); Blockly.JavaScript['math_number'] = function(block) { // Numeric value. var code = parseFloat(block.getFieldValue('NUM')); - return [code, Blockly.JavaScript.ORDER_ATOMIC]; + var order = code >= 0 ? Blockly.JavaScript.ORDER_ATOMIC : + Blockly.JavaScript.ORDER_UNARY_NEGATION; + return [code, order]; }; Blockly.JavaScript['math_arithmetic'] = function(block) { diff --git a/generators/php/math.js b/generators/php/math.js index 7789ba8fe..ef9419603 100644 --- a/generators/php/math.js +++ b/generators/php/math.js @@ -32,12 +32,14 @@ goog.require('Blockly.PHP'); Blockly.PHP['math_number'] = function(block) { // Numeric value. var code = parseFloat(block.getFieldValue('NUM')); + var order = code >= 0 ? Blockly.PHP.ORDER_ATOMIC : + Blockly.PHP.ORDER_UNARY_NEGATION; if (code == Infinity) { code = 'INF'; } else if (code == -Infinity) { code = '-INF'; } - return [code, Blockly.PHP.ORDER_ATOMIC]; + return [code, order]; }; Blockly.PHP['math_arithmetic'] = function(block) {