]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
#4578: fix has_key() usage in compiler package.
authorGeorg Brandl <georg@python.org>
Mon, 15 Dec 2008 08:58:59 +0000 (08:58 +0000)
committerGeorg Brandl <georg@python.org>
Mon, 15 Dec 2008 08:58:59 +0000 (08:58 +0000)
Lib/compiler/misc.py
Lib/compiler/pyassem.py
Lib/compiler/symbols.py
Lib/compiler/transformer.py
Lib/compiler/visitor.py

index 8d9177092744d100c523c4ff71a03e7b87593481..588c7fbd5aed9ed0bce255c07c5ff8ac8436187b 100644 (file)
@@ -14,13 +14,13 @@ class Set:
     def __len__(self):
         return len(self.elts)
     def __contains__(self, elt):
-        return self.elts.has_key(elt)
+        return elt in self.elts
     def add(self, elt):
         self.elts[elt] = elt
     def elements(self):
         return self.elts.keys()
     def has_elt(self, elt):
-        return self.elts.has_key(elt)
+        return elt in self.elts
     def remove(self, elt):
         del self.elts[elt]
     def copy(self):
index 893fa6403a1abc360a393c8a80f48583ac19a9e3..6efec28094573aaa2523ca409549a298854b8b07 100644 (file)
@@ -210,7 +210,7 @@ def dfs_postorder(b, seen):
     order = []
     seen[b] = b
     for c in b.get_children():
-        if seen.has_key(c):
+        if c in seen:
             continue
         order = order + dfs_postorder(c, seen)
     order.append(b)
@@ -406,7 +406,7 @@ class PyFlowGraph(FlowGraph):
         seen = {}
 
         def max_depth(b, d):
-            if seen.has_key(b):
+            if b in seen:
                 return d
             seen[b] = 1
             d = d + depth[b]
@@ -482,7 +482,7 @@ class PyFlowGraph(FlowGraph):
         for name in self.cellvars:
             cells[name] = 1
         self.cellvars = [name for name in self.varnames
-                         if cells.has_key(name)]
+                         if name in cells]
         for name in self.cellvars:
             del cells[name]
         self.cellvars = self.cellvars + cells.keys()
index 8f6298060d825808bb66ef1dcd99485232f3616f..0e660ae7da1250f7800322e90de0a4ea65281adb 100644 (file)
@@ -49,9 +49,9 @@ class Scope:
 
     def add_global(self, name):
         name = self.mangle(name)
-        if self.uses.has_key(name) or self.defs.has_key(name):
+        if name in self.uses or name in self.defs:
             pass # XXX warn about global following def/use
-        if self.params.has_key(name):
+        if name in self.params:
             raise SyntaxError, "%s in %s is global and parameter" % \
                   (name, self.name)
         self.globals[name] = 1
@@ -88,14 +88,13 @@ class Scope:
 
         The scope of a name could be LOCAL, GLOBAL, FREE, or CELL.
         """
-        if self.globals.has_key(name):
+        if name in self.globals:
             return SC_GLOBAL
-        if self.cells.has_key(name):
+        if name in self.cells:
             return SC_CELL
-        if self.defs.has_key(name):
+        if name in self.defs:
             return SC_LOCAL
-        if self.nested and (self.frees.has_key(name) or
-                            self.uses.has_key(name)):
+        if self.nested and (name in self.frees or name in self.uses):
             return SC_FREE
         if self.nested:
             return SC_UNKNOWN
@@ -108,8 +107,7 @@ class Scope:
         free = {}
         free.update(self.frees)
         for name in self.uses.keys():
-            if not (self.defs.has_key(name) or
-                    self.globals.has_key(name)):
+            if name not in self.defs and name not in self.globals:
                 free[name] = 1
         return free.keys()
 
@@ -134,7 +132,7 @@ class Scope:
         free.
         """
         self.globals[name] = 1
-        if self.frees.has_key(name):
+        if name in self.frees:
             del self.frees[name]
         for child in self.children:
             if child.check_name(name) == SC_FREE:
index eccade3fd5b423d48a5a4ff4d804627fda2dfcb8..f5fe582bc95c9c052cd42dc987e020b0d3774b9e 100644 (file)
@@ -81,7 +81,7 @@ def extractLineNo(ast):
 
 def Node(*args):
     kind = args[0]
-    if nodes.has_key(kind):
+    if kind in nodes:
         try:
             return nodes[kind](*args[1:])
         except TypeError:
@@ -120,7 +120,7 @@ class Transformer:
     def transform(self, tree):
         """Transform an AST into a modified parse tree."""
         if not (isinstance(tree, tuple) or isinstance(tree, list)):
-            tree = parser.ast2tuple(tree, line_info=1)
+            tree = parser.st2tuple(tree, line_info=1)
         return self.compile_node(tree)
 
     def parsesuite(self, text):
index 9e39d3664937fbb3227e78deff752f3017be4fd1..f10f56011a3ec629c1b8cdb695b4ffbbbfefce35 100644 (file)
@@ -84,7 +84,7 @@ class ExampleASTVisitor(ASTVisitor):
             meth(node, *args)
         elif self.VERBOSE > 0:
             klass = node.__class__
-            if not self.examples.has_key(klass):
+            if klass not in self.examples:
                 self.examples[klass] = klass
                 print
                 print self.visitor