MCPcopy Index your code
hub / github.com/nodejs/node / generic_visit

Method generic_visit

tools/inspector_protocol/jinja2/visitor.py:58–78  ·  view source on GitHub ↗
(self, node, *args, **kwargs)

Source from the content-addressed store, hash-verified

56 """
57
58 def generic_visit(self, node, *args, **kwargs):
59 for field, old_value in node.iter_fields():
60 if isinstance(old_value, list):
61 new_values = []
62 for value in old_value:
63 if isinstance(value, Node):
64 value = self.visit(value, *args, **kwargs)
65 if value is None:
66 continue
67 elif not isinstance(value, Node):
68 new_values.extend(value)
69 continue
70 new_values.append(value)
71 old_value[:] = new_values
72 elif isinstance(old_value, Node):
73 new_node = self.visit(old_value, *args, **kwargs)
74 if new_node is None:
75 delattr(node, field)
76 else:
77 setattr(node, field, new_node)
78 return node
79
80 def visit_list(self, node, *args, **kwargs):
81 """As transformers may return lists in some places this method

Callers

nothing calls this directly

Calls 4

iter_fieldsMethod · 0.45
visitMethod · 0.45
extendMethod · 0.45
appendMethod · 0.45

Tested by

no test coverage detected