]> git.proxmox.com Git - mirror_edk2.git/blobdiff - AppPkg/Applications/Python/Python-2.7.2/Lib/lib2to3/fixes/fix_xrange.py
edk2: Remove AppPkg, StdLib, StdLibPrivateInternalFiles
[mirror_edk2.git] / AppPkg / Applications / Python / Python-2.7.2 / Lib / lib2to3 / fixes / fix_xrange.py
diff --git a/AppPkg/Applications/Python/Python-2.7.2/Lib/lib2to3/fixes/fix_xrange.py b/AppPkg/Applications/Python/Python-2.7.2/Lib/lib2to3/fixes/fix_xrange.py
deleted file mode 100644 (file)
index 109c5ca..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 2007 Google, Inc. All Rights Reserved.\r
-# Licensed to PSF under a Contributor Agreement.\r
-\r
-"""Fixer that changes xrange(...) into range(...)."""\r
-\r
-# Local imports\r
-from .. import fixer_base\r
-from ..fixer_util import Name, Call, consuming_calls\r
-from .. import patcomp\r
-\r
-\r
-class FixXrange(fixer_base.BaseFix):\r
-    BM_compatible = True\r
-    PATTERN = """\r
-              power<\r
-                 (name='range'|name='xrange') trailer< '(' args=any ')' >\r
-              rest=any* >\r
-              """\r
-\r
-    def start_tree(self, tree, filename):\r
-        super(FixXrange, self).start_tree(tree, filename)\r
-        self.transformed_xranges = set()\r
-\r
-    def finish_tree(self, tree, filename):\r
-        self.transformed_xranges = None\r
-\r
-    def transform(self, node, results):\r
-        name = results["name"]\r
-        if name.value == u"xrange":\r
-            return self.transform_xrange(node, results)\r
-        elif name.value == u"range":\r
-            return self.transform_range(node, results)\r
-        else:\r
-            raise ValueError(repr(name))\r
-\r
-    def transform_xrange(self, node, results):\r
-        name = results["name"]\r
-        name.replace(Name(u"range", prefix=name.prefix))\r
-        # This prevents the new range call from being wrapped in a list later.\r
-        self.transformed_xranges.add(id(node))\r
-\r
-    def transform_range(self, node, results):\r
-        if (id(node) not in self.transformed_xranges and\r
-            not self.in_special_context(node)):\r
-            range_call = Call(Name(u"range"), [results["args"].clone()])\r
-            # Encase the range call in list().\r
-            list_call = Call(Name(u"list"), [range_call],\r
-                             prefix=node.prefix)\r
-            # Put things that were after the range() call after the list call.\r
-            for n in results["rest"]:\r
-                list_call.append_child(n)\r
-            return list_call\r
-\r
-    P1 = "power< func=NAME trailer< '(' node=any ')' > any* >"\r
-    p1 = patcomp.compile_pattern(P1)\r
-\r
-    P2 = """for_stmt< 'for' any 'in' node=any ':' any* >\r
-            | comp_for< 'for' any 'in' node=any any* >\r
-            | comparison< any 'in' node=any any*>\r
-         """\r
-    p2 = patcomp.compile_pattern(P2)\r
-\r
-    def in_special_context(self, node):\r
-        if node.parent is None:\r
-            return False\r
-        results = {}\r
-        if (node.parent.parent is not None and\r
-               self.p1.match(node.parent.parent, results) and\r
-               results["node"] is node):\r
-            # list(d.keys()) -> list(d.keys()), etc.\r
-            return results["func"].value in consuming_calls\r
-        # for ... in d.iterkeys() -> for ... in d.keys(), etc.\r
-        return self.p2.match(node.parent, results) and results["node"] is node\r