File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -221,6 +221,10 @@ def visit_ADDRESS(self, node):
221221
222222 def visit_BINARY (self , node : symbols .BINARY ):
223223 if self .O_LEVEL > 1 and node .operator in ("PLUS" , "MUL" ):
224+ if chk .is_number (node .left ) and not chk .is_number (node .right ):
225+ node .left , node .right = node .right , node .left
226+ node = yield self .generic_visit (node )
227+
224228 if node .left .token == "BINARY" and node .left .operator == node .operator and chk .is_number (node .right ):
225229 left = ll = None
226230 if chk .is_number (node .left .right ):
@@ -240,25 +244,6 @@ def visit_BINARY(self, node: symbols.BINARY):
240244 )
241245 node .left = left
242246 node .right = right
243- elif node .right .token == "BINARY" and node .right .operator == node .operator and chk .is_number (node .left ):
244- right = rr = None
245- if chk .is_number (node .right .left ):
246- right = node .right .right
247- rr = node .right .left
248- elif chk .is_number (node .right .right ):
249- right = node .right .left
250- rr = node .right .right
251-
252- if right is not None :
253- left = yield symbols .BINARY .make_node (
254- operator = node .operator ,
255- left = node .left ,
256- right = rr ,
257- lineno = node .lineno ,
258- func = node .func ,
259- )
260- node .left = left
261- node .right = right
262247
263248 node = yield self .generic_visit (node ) # This might convert consts to numbers if possible
264249 # Retry folding
You can’t perform that action at this time.
0 commit comments