Skip to content

Commit 14afa46

Browse files
committed
Transform folded complex into binop if necessary.
They are sometimes parsed as binop, so we need to match it so it roundtrips
1 parent 3992a9c commit 14afa46

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

src/python_minifier/transforms/constant_folding.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,4 +56,11 @@ def visit_BinOp(self, node):
5656

5757
assert eval(folded_expression) == value
5858

59+
# Some complex number values are parsed as a BinOp
60+
# Make sure we represent our AST the same way so it roundtrips correctly
61+
parsed_folded_expression = ast.parse(folded_expression, 'folded expression', 'eval')
62+
assert isinstance(parsed_folded_expression, ast.Expression)
63+
if isinstance(parsed_folded_expression.body, ast.BinOp):
64+
new_node = parsed_folded_expression.body
65+
5966
return self.add_child(new_node, node.parent, node.namespace)

0 commit comments

Comments
 (0)