@@ -951,19 +951,23 @@ function optimizeShiftsAggressive(ast) {
951
951
// if (!(x < 5))
952
952
// or such. Simplifying these saves space and time.
953
953
function simplifyNotCompsDirect ( node ) {
954
- if ( node [ 0 ] == 'unary-prefix' && node [ 1 ] == '!' && node [ 2 ] [ 0 ] == 'binary' ) {
955
- if ( node [ 2 ] [ 1 ] == '<' ) {
956
- return [ 'binary' , '>=' , node [ 2 ] [ 2 ] , node [ 2 ] [ 3 ] ] ;
957
- } else if ( node [ 2 ] [ 1 ] == '>' ) {
958
- return [ 'binary' , '<=' , node [ 2 ] [ 2 ] , node [ 2 ] [ 3 ] ] ;
959
- } else if ( node [ 2 ] [ 1 ] == '==' ) {
960
- return [ 'binary' , '!=' , node [ 2 ] [ 2 ] , node [ 2 ] [ 3 ] ] ;
961
- } else if ( node [ 2 ] [ 1 ] == '!=' ) {
962
- return [ 'binary' , '==' , node [ 2 ] [ 2 ] , node [ 2 ] [ 3 ] ] ;
963
- } else if ( node [ 2 ] [ 1 ] == '===' ) {
964
- return [ 'binary' , '!==' , node [ 2 ] [ 2 ] , node [ 2 ] [ 3 ] ] ;
965
- } else if ( node [ 2 ] [ 1 ] == '!==' ) {
966
- return [ 'binary' , '===' , node [ 2 ] [ 2 ] , node [ 2 ] [ 3 ] ] ;
954
+ if ( node [ 0 ] == 'unary-prefix' && node [ 1 ] == '!' ) {
955
+ if ( node [ 2 ] [ 0 ] == 'binary' ) {
956
+ if ( node [ 2 ] [ 1 ] == '<' ) {
957
+ return [ 'binary' , '>=' , node [ 2 ] [ 2 ] , node [ 2 ] [ 3 ] ] ;
958
+ } else if ( node [ 2 ] [ 1 ] == '>' ) {
959
+ return [ 'binary' , '<=' , node [ 2 ] [ 2 ] , node [ 2 ] [ 3 ] ] ;
960
+ } else if ( node [ 2 ] [ 1 ] == '==' ) {
961
+ return [ 'binary' , '!=' , node [ 2 ] [ 2 ] , node [ 2 ] [ 3 ] ] ;
962
+ } else if ( node [ 2 ] [ 1 ] == '!=' ) {
963
+ return [ 'binary' , '==' , node [ 2 ] [ 2 ] , node [ 2 ] [ 3 ] ] ;
964
+ } else if ( node [ 2 ] [ 1 ] == '===' ) {
965
+ return [ 'binary' , '!==' , node [ 2 ] [ 2 ] , node [ 2 ] [ 3 ] ] ;
966
+ } else if ( node [ 2 ] [ 1 ] == '!==' ) {
967
+ return [ 'binary' , '===' , node [ 2 ] [ 2 ] , node [ 2 ] [ 3 ] ] ;
968
+ }
969
+ } else if ( node [ 2 ] [ 0 ] == 'unary-prefix' && node [ 2 ] [ 1 ] == '!' ) {
970
+ return node [ 2 ] [ 2 ] ;
967
971
}
968
972
}
969
973
return node ;
0 commit comments