Revert "js: Optimize op.less when right side is always a number"
This reverts commit 36ee6f65de.
This commit is contained in:
1 file changed
+3
-4
@@ -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);
|
||||
|
||||
Reference in new issue
Block a user