symbian-qemu-0.9.1-12/python-win32-2.6.1/lib/lib2to3/fixes/fix_methodattrs.py
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     1 """Fix bound method attributes (method.im_? -> method.__?__).
       
     2 """
       
     3 # Author: Christian Heimes
       
     4 
       
     5 # Local imports
       
     6 from .. import fixer_base
       
     7 from ..fixer_util import Name
       
     8 
       
     9 MAP = {
       
    10     "im_func" : "__func__",
       
    11     "im_self" : "__self__",
       
    12     "im_class" : "__self__.__class__"
       
    13     }
       
    14 
       
    15 class FixMethodattrs(fixer_base.BaseFix):
       
    16     PATTERN = """
       
    17     power< any+ trailer< '.' attr=('im_func' | 'im_self' | 'im_class') > any* >
       
    18     """
       
    19 
       
    20     def transform(self, node, results):
       
    21         attr = results["attr"][0]
       
    22         new = MAP[attr.value]
       
    23         attr.replace(Name(new, prefix=attr.get_prefix()))