def find_parent_field(parent, node):
"""
assume parent is the ancestor of node, return the field that derives to node in parent
"""
current = node
while current.parent != parent:
current = current.parent
for field, value in ast.iter_fields(parent):
if isinstance(value, list):
if current in value:
return field
elif current == value:
return field
return None
评论列表
文章目录