File: fix_repr.py

package info (click to toggle)
python3-stdlib-extensions 3.11.2-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 28,020 kB
  • sloc: python: 134,527; ansic: 24,386; sh: 213; makefile: 190
file content (23 lines) | stat: -rw-r--r-- 613 bytes parent folder | download | duplicates (35)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Copyright 2006 Google, Inc. All Rights Reserved.
# Licensed to PSF under a Contributor Agreement.

"""Fixer that transforms `xyzzy` into repr(xyzzy)."""

# Local imports
from .. import fixer_base
from ..fixer_util import Call, Name, parenthesize


class FixRepr(fixer_base.BaseFix):

    BM_compatible = True
    PATTERN = """
              atom < '`' expr=any '`' >
              """

    def transform(self, node, results):
        expr = results["expr"].clone()

        if expr.type == self.syms.testlist1:
            expr = parenthesize(expr)
        return Call(Name("repr"), [expr], prefix=node.prefix)