Revert "js: Optimize op.less when right side is always a number"

This reverts commit 36ee6f65de.
This commit is contained in:
Thomas Weber committed 2020-09-10 11:09:17 -05:00
1 parent e8d1e449a9
commit 5a2b3e115d
1 file changed
+3 -4
+3 -4
View File
@@ -324,10 +324,9 @@ class JSGenerator {
if (left.isNeverNumber() || right.isNeverNumber()) {
return new TypedInput(`(${left.asString()}.toLowerCase() < ${right.asString()}.toLowerCase())`, TYPE_BOOLEAN);
}
// When the right hand side is known to be a number, we can use >
// NaN always returns false in JS's < when compared against a number, just like Scratch.
if (right.isAlwaysNumber()) {
return new TypedInput(`(${left.asNumberOrNaN()} < ${right.asNumber()})`, TYPE_BOOLEAN);
// When both operands are known to be numbers, we can use >
if (left.isAlwaysNumber() && right.isAlwaysNumber()) {
return new TypedInput(`(${left.asNumber()} < ${right.asNumber()})`, TYPE_BOOLEAN);
}
// No compile-time optimizations possible - use fallback method.
return new TypedInput(`compareLessThan(${left.asUnknown()}, ${right.asUnknown()})`, TYPE_BOOLEAN);