[Python-checkins] r61599 - sandbox/trunk/2to3/lib2to3/fixes/fix_filter.py

david.wolever python-checkins at python.org
Wed Mar 19 06:04:26 CET 2008


Author: david.wolever
Date: Wed Mar 19 06:04:26 2008
New Revision: 61599

Modified:
   sandbox/trunk/2to3/lib2to3/fixes/fix_filter.py
Log:
Removed a bunch of duplicate code -- it's in util now.



Modified: sandbox/trunk/2to3/lib2to3/fixes/fix_filter.py
==============================================================================
--- sandbox/trunk/2to3/lib2to3/fixes/fix_filter.py	(original)
+++ sandbox/trunk/2to3/lib2to3/fixes/fix_filter.py	Wed Mar 19 06:04:26 2008
@@ -14,11 +14,9 @@
 """
 
 # Local imports
-from .. import pytree
-from .. import patcomp
 from ..pgen2 import token
 from . import basefix
-from .util import Name, Call, ListComp, attr_chain, does_tree_import
+from .util import Name, Call, ListComp, does_tree_import, in_special_context
 
 class FixFilter(basefix.BaseFix):
 
@@ -85,35 +83,3 @@
             new = Call(Name("list"), [new])
         new.set_prefix(node.get_prefix())
         return new
-
-P0 = """for_stmt< 'for' any 'in' node=any ':' any* >
-        | comp_for< 'for' any 'in' node=any any* >
-     """
-p0 = patcomp.compile_pattern(P0)
-
-P1 = """
-power<
-    ( 'iter' | 'list' | 'tuple' | 'sorted' | 'set' | 'sum' |
-      'any' | 'all' | (any* trailer< '.' 'join' >) )
-    trailer< '(' node=any ')' >
-    any*
->
-"""
-p1 = patcomp.compile_pattern(P1)
-
-P2 = """
-power<
-    'sorted'
-    trailer< '(' arglist<node=any any*> ')' >
-    any*
->
-"""
-p2 = patcomp.compile_pattern(P2)
-
-def in_special_context(node):
-    patterns = [p0, p1, p2]
-    for pattern, parent in zip(patterns, attr_chain(node, "parent")):
-        results = {}
-        if pattern.match(parent, results) and results["node"] is node:
-            return True
-    return False


More information about the Python-checkins mailing list