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

Method n_elifelsestmtr

uncompyle6/semantics/fragments.py:543–572  ·  view source on GitHub ↗
(self, node)

Source from the content-addressed store, hash-verified

541 self.prune()
542
543 def n_elifelsestmtr(self, node):
544 if len(node[2]) != 2:
545 self.default(node)
546
547 for n in node[2][0]:
548 if not (n[0] == "ifstmt" and n[0][1][0] == "return_if_stmts"):
549 self.default(node)
550 return
551
552 start = len(self.f.getvalue() + self.indent)
553 self.write(self.indent, "elif ")
554 node[0].parent = node
555 self.preorder(node[0])
556 self.println(":")
557 self.indent_more()
558 node[1].parent = node
559 self.preorder(node[1])
560 self.indent_less()
561
562 for n in node[2][0]:
563 n[0].kind = "elifstmt"
564 n.parent = node
565 self.preorder(n)
566 self.println(self.indent, "else:")
567 self.indent_more()
568 node[2][1].parent = node
569 self.preorder(node[2][1])
570 self.indent_less()
571 self.set_pos_info(node, start, len(self.f.getvalue()))
572 self.prune()
573
574 def n_alias(self, node):
575 start = len(self.f.getvalue())

Callers

nothing calls this directly

Calls 7

preorderMethod · 0.95
set_pos_infoMethod · 0.95
indent_moreMethod · 0.80
indent_lessMethod · 0.80
defaultMethod · 0.45
writeMethod · 0.45
printlnMethod · 0.45

Tested by

no test coverage detected