Mercurial > cpython-lru_cache-weakref
annotate Lib/lib2to3/fixes/fix_input.py @ 79675:c0a2294de787 2.7
Issue #16199: Backport 2to3 typo fix from 3.2.
| author | Chris Jerdonek <chris.jerdonek@gmail.com> |
|---|---|
| date | Thu, 11 Oct 2012 16:15:46 -0700 |
| parents | b36cb4602e21 |
| children |
| rev | line source |
|---|---|
|
58737
fab380674959
copy lib2to3 from the trunk
Benjamin Peterson <benjamin@python.org>
parents:
diff
changeset
|
1 """Fixer that changes input(...) into eval(input(...)).""" |
|
fab380674959
copy lib2to3 from the trunk
Benjamin Peterson <benjamin@python.org>
parents:
diff
changeset
|
2 # Author: Andre Roberge |
|
fab380674959
copy lib2to3 from the trunk
Benjamin Peterson <benjamin@python.org>
parents:
diff
changeset
|
3 |
|
fab380674959
copy lib2to3 from the trunk
Benjamin Peterson <benjamin@python.org>
parents:
diff
changeset
|
4 # Local imports |
|
fab380674959
copy lib2to3 from the trunk
Benjamin Peterson <benjamin@python.org>
parents:
diff
changeset
|
5 from .. import fixer_base |
|
fab380674959
copy lib2to3 from the trunk
Benjamin Peterson <benjamin@python.org>
parents:
diff
changeset
|
6 from ..fixer_util import Call, Name |
|
fab380674959
copy lib2to3 from the trunk
Benjamin Peterson <benjamin@python.org>
parents:
diff
changeset
|
7 from .. import patcomp |
|
fab380674959
copy lib2to3 from the trunk
Benjamin Peterson <benjamin@python.org>
parents:
diff
changeset
|
8 |
|
fab380674959
copy lib2to3 from the trunk
Benjamin Peterson <benjamin@python.org>
parents:
diff
changeset
|
9 |
|
fab380674959
copy lib2to3 from the trunk
Benjamin Peterson <benjamin@python.org>
parents:
diff
changeset
|
10 context = patcomp.compile_pattern("power< 'eval' trailer< '(' any ')' > >") |
|
fab380674959
copy lib2to3 from the trunk
Benjamin Peterson <benjamin@python.org>
parents:
diff
changeset
|
11 |
|
fab380674959
copy lib2to3 from the trunk
Benjamin Peterson <benjamin@python.org>
parents:
diff
changeset
|
12 |
|
fab380674959
copy lib2to3 from the trunk
Benjamin Peterson <benjamin@python.org>
parents:
diff
changeset
|
13 class FixInput(fixer_base.BaseFix): |
|
65340
7d1e453b120b
Merged revisions 83852-83853,83857,84042,84216,84274-84276,84375,85388,85478,85506-85508 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
54696
diff
changeset
|
14 BM_compatible = True |
|
58737
fab380674959
copy lib2to3 from the trunk
Benjamin Peterson <benjamin@python.org>
parents:
diff
changeset
|
15 PATTERN = """ |
|
fab380674959
copy lib2to3 from the trunk
Benjamin Peterson <benjamin@python.org>
parents:
diff
changeset
|
16 power< 'input' args=trailer< '(' [any] ')' > > |
|
fab380674959
copy lib2to3 from the trunk
Benjamin Peterson <benjamin@python.org>
parents:
diff
changeset
|
17 """ |
|
fab380674959
copy lib2to3 from the trunk
Benjamin Peterson <benjamin@python.org>
parents:
diff
changeset
|
18 |
|
fab380674959
copy lib2to3 from the trunk
Benjamin Peterson <benjamin@python.org>
parents:
diff
changeset
|
19 def transform(self, node, results): |
|
fab380674959
copy lib2to3 from the trunk
Benjamin Peterson <benjamin@python.org>
parents:
diff
changeset
|
20 # If we're already wrapped in a eval() call, we're done. |
|
fab380674959
copy lib2to3 from the trunk
Benjamin Peterson <benjamin@python.org>
parents:
diff
changeset
|
21 if context.match(node.parent.parent): |
|
fab380674959
copy lib2to3 from the trunk
Benjamin Peterson <benjamin@python.org>
parents:
diff
changeset
|
22 return |
|
fab380674959
copy lib2to3 from the trunk
Benjamin Peterson <benjamin@python.org>
parents:
diff
changeset
|
23 |
|
fab380674959
copy lib2to3 from the trunk
Benjamin Peterson <benjamin@python.org>
parents:
diff
changeset
|
24 new = node.clone() |
|
fab380674959
copy lib2to3 from the trunk
Benjamin Peterson <benjamin@python.org>
parents:
diff
changeset
|
25 new.prefix = u"" |
|
fab380674959
copy lib2to3 from the trunk
Benjamin Peterson <benjamin@python.org>
parents:
diff
changeset
|
26 return Call(Name(u"eval"), [new], prefix=node.prefix) |
