summaryrefslogtreecommitdiffstats
path: root/Lib/lib2to3/fixes/fix_repr.py
blob: 62491dff899621d775b0143136772deaf0bbc26c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 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 basefix
from .util import Call, Name


class FixRepr(basefix.BaseFix):

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

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

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