def add_after_node(ast_root, after_node, node_to_add):
"""Same idea as add_before_node, but in this case add it after after_node
"""
node, parent = find_node_recursive(ast_root, after_node)
if node is None:
raise ValueError("Node %s not found in ast: %s" % (
str(after_node),
dump_ast(after_node)))
for field, value in ast.iter_fields(parent):
if isinstance(value, list):
for i in range(len(value)):
if isinstance(value[i], ast.AST) and \
nodes_are_equal(value[i], node):
value.insert(i + 1, node_to_add)
return
评论列表
文章目录