Emit and release temporary variables in global namespace
authorThomas Hunger <none@none>
Wed, 19 Sep 2007 10:47:06 +0000 (12:47 +0200)
committerThomas Hunger <none@none>
Wed, 19 Sep 2007 10:47:06 +0000 (12:47 +0200)
because the class-body code is exectuted at module-init time.

Cython/Compiler/ModuleNode.py
Cython/Compiler/Symtab.py

index c52bede43ec2de68efcda72f64c62c9d756b3be1..428110c3acd8074ce2a0de563f8293740a92ecf4 100644 (file)
@@ -995,7 +995,7 @@ class ModuleNode(Nodes.Node, Nodes.BlockNode):
             "static struct PyMethodDef %s[] = {" % 
                 env.method_table_cname)
         for entry in env.pyfunc_entries:
-                code.put_pymethoddef(entry, ",")
+            code.put_pymethoddef(entry, ",")
         code.putln(
                 "{0, 0, 0, 0}")
         code.putln(
index b25b9154e76fc019bab56e48f9e5f89215cd3f81..2f0c0c3ea476539ad85428f1609229c98cacdac4 100644 (file)
@@ -1186,7 +1186,13 @@ class CClassScope(ClassScope):
                 adapt(base_entry.cname), base_entry.visibility)
             entry.is_inherited = 1
             
+    def allocate_temp(self, type):
+        return Scope.allocate_temp(self.global_scope(), type)
 
+    def release_temp(self, cname):
+        return Scope.release_temp(self.global_scope(), cname)
+        
+        
 class PropertyScope(Scope):
     #  Scope holding the __get__, __set__ and __del__ methods for
     #  a property of an extension type.