MCPcopy
hub / github.com/rocky/python-uncompyle6 / traverse

Method traverse

uncompyle6/semantics/fragments.py:1307–1330  ·  view source on GitHub ↗

Builds up fragment which can be used inside a larger block of code

(self, node, indent=None, is_lambda=False)

Source from the content-addressed store, hash-verified

1305
1306 # FIXME: duplicated from pysource, since we don't find self.params
1307 def traverse(self, node, indent=None, is_lambda=False):
1308 """Builds up fragment which can be used inside a larger
1309 block of code"""
1310 self.param_stack.append(self.params)
1311 if indent is None:
1312 indent = self.indent
1313 p = self.pending_newlines
1314 self.pending_newlines = 0
1315 self.params = {
1316 "_globals": {},
1317 "f": StringIO(),
1318 "indent": indent,
1319 "is_lambda": is_lambda,
1320 }
1321 self.preorder(node)
1322 self.f.write("\n" * self.pending_newlines)
1323
1324 text = self.f.getvalue()
1325 self.last_finish = len(text)
1326
1327 self.params = self.param_stack.pop()
1328 self.pending_newlines = p
1329
1330 return text
1331
1332 def extract_node_info(self, nodeInfo):
1333 # XXX debug

Callers 5

gen_sourceMethod · 0.95
print_super_classesMethod · 0.95
print_super_classes3Method · 0.95
n_dictMethod · 0.95
n_listMethod · 0.95

Calls 4

preorderMethod · 0.95
StringIOClass · 0.85
appendMethod · 0.45
writeMethod · 0.45

Tested by

no test coverage detected