Negates all number literals in an AST.
| 617 | tt.ipexec_validate(self.fname, out) |
| 618 | |
| 619 | class Negator(ast.NodeTransformer): |
| 620 | """Negates all number literals in an AST.""" |
| 621 | |
| 622 | # for python 3.7 and earlier |
| 623 | def visit_Num(self, node): |
| 624 | node.n = -node.n |
| 625 | return node |
| 626 | |
| 627 | # for python 3.8+ |
| 628 | def visit_Constant(self, node): |
| 629 | if isinstance(node.value, int): |
| 630 | return self.visit_Num(node) |
| 631 | return node |
| 632 | |
| 633 | class TestAstTransform(unittest.TestCase): |
| 634 | def setUp(self): |