[pypy-svn] r66363 - pypy/branch/parser-compiler/pypy/interpreter/astcompiler

benjamin at codespeak.net benjamin at codespeak.net
Sat Jul 18 16:03:59 CEST 2009


Author: benjamin
Date: Sat Jul 18 16:03:58 2009
New Revision: 66363

Modified:
   pypy/branch/parser-compiler/pypy/interpreter/astcompiler/codegen.py
Log:
pass lineno directly

Modified: pypy/branch/parser-compiler/pypy/interpreter/astcompiler/codegen.py
==============================================================================
--- pypy/branch/parser-compiler/pypy/interpreter/astcompiler/codegen.py	(original)
+++ pypy/branch/parser-compiler/pypy/interpreter/astcompiler/codegen.py	Sat Jul 18 16:03:58 2009
@@ -131,8 +131,8 @@
         assert self.scope.lookup(name) != symtable.SCOPE_UNKNOWN
         return name
 
-    def sub_scope(self, kind, name, node):
-        generator = kind(self.space, name, node, node.lineno, self.symbols,
+    def sub_scope(self, kind, name, node, lineno):
+        generator = kind(self.space, name, node, lineno, self.symbols,
                          self.compile_info)
         return generator.assemble()
 
@@ -234,7 +234,8 @@
             num_defaults = len(func.args.defaults)
         else:
             num_defaults = 0
-        code = self.sub_scope(FunctionCodeGenerator, func.name, func)
+        code = self.sub_scope(FunctionCodeGenerator, func.name, func,
+                              func.lineno)
         self.update_position(func.lineno)
         self._make_function(code, num_defaults)
         self.name_op(func.name, ast.Store)
@@ -245,7 +246,7 @@
             default_count = len(lam.args.defaults)
         else:
             default_count = 0
-        code = self.sub_scope(LambdaCodeGenerator, "<lambda>", lam)
+        code = self.sub_scope(LambdaCodeGenerator, "<lambda>", lam, lam.lineno)
         self.update_position(lam.lineno)
         self._make_function(code, default_count)
 
@@ -258,7 +259,7 @@
         else:
             bases_count = 0
         self.emit_op_arg(ops.BUILD_TUPLE, bases_count)
-        code = self.sub_scope(ClassCodeGenerator, cls.name, cls)
+        code = self.sub_scope(ClassCodeGenerator, cls.name, cls, cls.lineno)
         self.update_position(cls.lineno)
         self._make_function(code, 0)
         self.emit_op_arg(ops.CALL_FUNCTION, 0)
@@ -971,7 +972,8 @@
         self.use_next_block(end)
 
     def visit_GeneratorExp(self, genexp):
-        code = self.sub_scope(GenExpCodeGenerator, "<genexp>", genexp)
+        code = self.sub_scope(GenExpCodeGenerator, "<genexp>", genexp,
+                              genexp.lineno)
         self.update_position(genexp.lineno)
         self._make_function(code)
         genexp.generators[0].iter.walkabout(self)



More information about the Pypy-commit mailing list