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
|
---|
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 | 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.