]> granicus.if.org Git - python/commitdiff
Generate SET_LINENO for list and tuple literals when the open paren
authorJeremy Hylton <jeremy@alum.mit.edu>
Wed, 29 Aug 2001 20:57:43 +0000 (20:57 +0000)
committerJeremy Hylton <jeremy@alum.mit.edu>
Wed, 29 Aug 2001 20:57:43 +0000 (20:57 +0000)
starts a new line.

Also fix undetected typo in visitDict() -- uncovered by recent change
to add lineno attrs to atoms.

Lib/compiler/pycodegen.py
Tools/compiler/compiler/pycodegen.py

index b0bddb71a84b9d9eaa67a090b6315b540f16ff39..07c82f7f382145f13586d6eeffd1d4aa5e359d16 100644 (file)
@@ -953,11 +953,13 @@ class CodeGenerator:
         self.emit('LOAD_CONST', Ellipsis)
 
     def visitTuple(self, node):
+        self.set_lineno(node)
         for elt in node.nodes:
             self.visit(elt)
         self.emit('BUILD_TUPLE', len(node.nodes))
 
     def visitList(self, node):
+        self.set_lineno(node)
         for elt in node.nodes:
             self.visit(elt)
         self.emit('BUILD_LIST', len(node.nodes))
@@ -970,7 +972,7 @@ class CodeGenerator:
     def visitDict(self, node):
         lineno = getattr(node, 'lineno', None)
         if lineno:
-            set.emit('SET_LINENO', lineno)
+            self.emit('SET_LINENO', lineno)
         self.emit('BUILD_MAP', 0)
         for k, v in node.items:
             lineno2 = getattr(node, 'lineno', None)
index b0bddb71a84b9d9eaa67a090b6315b540f16ff39..07c82f7f382145f13586d6eeffd1d4aa5e359d16 100644 (file)
@@ -953,11 +953,13 @@ class CodeGenerator:
         self.emit('LOAD_CONST', Ellipsis)
 
     def visitTuple(self, node):
+        self.set_lineno(node)
         for elt in node.nodes:
             self.visit(elt)
         self.emit('BUILD_TUPLE', len(node.nodes))
 
     def visitList(self, node):
+        self.set_lineno(node)
         for elt in node.nodes:
             self.visit(elt)
         self.emit('BUILD_LIST', len(node.nodes))
@@ -970,7 +972,7 @@ class CodeGenerator:
     def visitDict(self, node):
         lineno = getattr(node, 'lineno', None)
         if lineno:
-            set.emit('SET_LINENO', lineno)
+            self.emit('SET_LINENO', lineno)
         self.emit('BUILD_MAP', 0)
         for k, v in node.items:
             lineno2 = getattr(node, 'lineno', None)