def test_walk_field_transform():
@ast_transformer
def increment(node, walk_field, **kwds):
if isinstance(node, ast.Assign):
return replace_fields(node, targets=node.targets, value=walk_field(node.value))
elif isinstance(node, ast.Num):
return ast.Num(n=node.n + 1)
else:
return node
node = get_ast(dummy)
new_node = increment(node)
assert_ast_equal(new_node, get_ast(
"""
def dummy(x, y):
c = 5
a = 2
"""))
评论列表
文章目录