diff Lib/compiler/pycodegen.py @ 21563:fcb649b1004d 2.2

This commit was manufactured by cvs2svn to create branch 'release22-maint'.
author cvs2svn <tools@python.org>
date Fri, 28 Dec 2001 04:27:46 +0000
parents e76306eea370
children 42139abfdbe5 5ed782bdbb2a
line wrap: on
line diff
--- a/Lib/compiler/pycodegen.py	Fri Dec 21 04:39:11 2001 +0000
+++ b/Lib/compiler/pycodegen.py	Fri Dec 28 04:27:46 2001 +0000
@@ -34,6 +34,7 @@
 TRY_FINALLY = 3
 END_FINALLY = 4
 
+# XXX this doesn't seem to be used
 class BlockStack(misc.Stack):
     __super_init = misc.Stack.__init__
 
@@ -351,6 +352,13 @@
         self.emit('LOAD_CONST', None)
         self.emit('RETURN_VALUE')
 
+    def visitExpression(self, node):
+        self.set_lineno(node)
+        self.scopes = self.parseSymbols(node)
+        self.scope = self.scopes[node]
+        self.visit(node.node)
+        self.emit('RETURN_VALUE')
+
     def visitFunction(self, node):
         self._visitFuncOrLambda(node, isLambda=0)
         if node.doc:
@@ -1158,9 +1166,7 @@
     def __init__(self, tree):
         self.graph = pyassem.PyFlowGraph("<expression>", tree.filename)
         self.__super_init()
-        self.set_lineno(tree)
         walk(tree, self)
-        self.emit('RETURN_VALUE')
 
     def get_module(self):
         return self
@@ -1181,6 +1187,7 @@
 
     def get_module(self):
         return self
+    
     def visitDiscard(self, node):
         # XXX Discard means it's an expression.  Perhaps this is a bad
         # name.
@@ -1299,7 +1306,6 @@
         self.__super_init(klass, scopes, module)
         self.graph.setFreeVars(self.scope.get_free_vars())
         self.graph.setCellVars(self.scope.get_cell_vars())
-##        self.graph.setFlag(CO_NESTED)
 
 def generateArgList(arglist):
     """Generate an arg list marking TupleArgs"""