Kaydet (Commit) 24c4d855 authored tarafından Benjamin Peterson's avatar Benjamin Peterson

Merged revisions 65703 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/trunk

................
  r65703 | benjamin.peterson | 2008-08-15 18:51:24 -0500 (Fri, 15 Aug 2008) | 11 lines

  Merged revisions 65397 via svnmerge from
  svn+ssh://pythondev@svn.python.org/sandbox/trunk/2to3/lib2to3

  ........
    r65397 | collin.winter | 2008-08-01 22:39:06 -0500 (Fri, 01 Aug 2008) | 5 lines

    Patch #3480 by Nick Edds.

    Dramatically simplifies the fix_imports pattern, resulting in a reduction of the test_all_fixers runtime from 122+ secs to 59 secs (a good predictor of 2to3 performance).
  ........
................
üst deb75f57
...@@ -61,24 +61,23 @@ def alternates(members): ...@@ -61,24 +61,23 @@ def alternates(members):
def build_pattern(mapping=MAPPING): def build_pattern(mapping=MAPPING):
bare = set() mod_list = ' | '.join(["module='" + key + "'" for key in mapping.keys()])
for old_module, new_module in mapping.items(): mod_name_list = ' | '.join(["module_name='" + key + "'" for key in mapping.keys()])
bare.add(old_module) yield """import_name< 'import' ((%s)
yield """import_name< 'import' (module=%r | dotted_as_names< any* (%s) any* >) >
| dotted_as_names< any* module=%r any* >) > """ % (mod_list, mod_list)
""" % (old_module, old_module) yield """import_from< 'from' (%s) 'import'
yield """import_from< 'from' module_name=%r 'import' ( any | import_as_name< any 'as' any > |
( any | import_as_name< any 'as' any > | import_as_names< any* >) >
import_as_names< any* >) > """ % mod_name_list
""" % old_module yield """import_name< 'import'
yield """import_name< 'import' dotted_as_name< (%s) 'as' any > >
dotted_as_name< module_name=%r 'as' any > > """ % mod_name_list
""" % old_module # Find usages of module members in code e.g. urllib.foo(bar)
# Find usages of module members in code e.g. urllib.foo(bar) yield """power< (%s)
yield """power< module_name=%r trailer<'.' any > any* >
trailer<'.' any > any* > """ % mod_name_list
""" % old_module yield """bare_name=%s""" % alternates(mapping.keys())
yield """bare_name=%s""" % alternates(bare)
class FixImports(fixer_base.BaseFix): class FixImports(fixer_base.BaseFix):
PATTERN = "|".join(build_pattern()) PATTERN = "|".join(build_pattern())
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment