source: python/trunk/Lib/lib2to3/fixes/fix_methodattrs.py

Last change on this file was 391, checked in by dmik, 11 years ago

python: Merge vendor 2.7.6 to trunk.

  • Property svn:eol-style set to native
File size: 615 bytes
Line 
1"""Fix bound method attributes (method.im_? -> method.__?__).
2"""
3# Author: Christian Heimes
4
5# Local imports
6from .. import fixer_base
7from ..fixer_util import Name
8
9MAP = {
10 "im_func" : "__func__",
11 "im_self" : "__self__",
12 "im_class" : "__self__.__class__"
13 }
14
15class FixMethodattrs(fixer_base.BaseFix):
16 BM_compatible = True
17 PATTERN = """
18 power< any+ trailer< '.' attr=('im_func' | 'im_self' | 'im_class') > any* >
19 """
20
21 def transform(self, node, results):
22 attr = results["attr"][0]
23 new = unicode(MAP[attr.value])
24 attr.replace(Name(new, prefix=attr.prefix))
Note: See TracBrowser for help on using the repository browser.