| 515 | |
| 516 | |
| 517 | class _File(_Node): |
| 518 | def __init__(self, template: Template, body: "_ChunkList") -> None: |
| 519 | self.template = template |
| 520 | self.body = body |
| 521 | self.line = 0 |
| 522 | |
| 523 | def generate(self, writer: "_CodeWriter") -> None: |
| 524 | writer.write_line("def _tt_execute():", self.line) |
| 525 | with writer.indent(): |
| 526 | writer.write_line("_tt_buffer = []", self.line) |
| 527 | writer.write_line("_tt_append = _tt_buffer.append", self.line) |
| 528 | self.body.generate(writer) |
| 529 | writer.write_line("return _tt_utf8('').join(_tt_buffer)", self.line) |
| 530 | |
| 531 | def each_child(self) -> Iterable["_Node"]: |
| 532 | return (self.body,) |
| 533 | |
| 534 | |
| 535 | class _ChunkList(_Node): |