mirror of
https://github.com/python/cpython.git
synced 2025-10-24 02:13:49 +00:00
svn+ssh://pythondev@svn.python.org/python/trunk
................
r72494 | benjamin.peterson | 2009-05-08 20:01:14 -0500 (Fri, 08 May 2009) | 21 lines
Merged revisions 72491-72493 via svnmerge from
svn+ssh://pythondev@svn.python.org/sandbox/trunk/2to3/lib2to3
........
r72491 | benjamin.peterson | 2009-05-08 19:33:27 -0500 (Fri, 08 May 2009) | 7 lines
make 2to3 use unicode internally on 2.x
This started out as a fix for #2660, but became this large refactoring
when I realized the dire state this was in. 2to3 now uses
tokenize.detect_encoding to decode the files correctly into unicode.
........
r72492 | benjamin.peterson | 2009-05-08 19:35:38 -0500 (Fri, 08 May 2009) | 1 line
remove compat code
........
r72493 | benjamin.peterson | 2009-05-08 19:54:15 -0500 (Fri, 08 May 2009) | 1 line
add a test for \r\n newlines
........
................
23 lines
592 B
Python
23 lines
592 B
Python
"""Fix bound method attributes (method.im_? -> method.__?__).
|
|
"""
|
|
# Author: Christian Heimes
|
|
|
|
# Local imports
|
|
from .. import fixer_base
|
|
from ..fixer_util import Name
|
|
|
|
MAP = {
|
|
"im_func" : "__func__",
|
|
"im_self" : "__self__",
|
|
"im_class" : "__self__.__class__"
|
|
}
|
|
|
|
class FixMethodattrs(fixer_base.BaseFix):
|
|
PATTERN = """
|
|
power< any+ trailer< '.' attr=('im_func' | 'im_self' | 'im_class') > any* >
|
|
"""
|
|
|
|
def transform(self, node, results):
|
|
attr = results["attr"][0]
|
|
new = str(MAP[attr.value])
|
|
attr.replace(Name(new, prefix=attr.get_prefix()))
|