[pypy-svn] r66764 - in pypy/trunk/pypy/translator: . test

benjamin at codespeak.net benjamin at codespeak.net
Mon Aug 10 18:17:48 CEST 2009


Author: benjamin
Date: Mon Aug 10 18:17:45 2009
New Revision: 66764

Modified:
   pypy/trunk/pypy/translator/geninterplevel.py
   pypy/trunk/pypy/translator/test/snippet.py
   pypy/trunk/pypy/translator/test/test_geninterp.py
Log:
fix using properties with geninterp

Modified: pypy/trunk/pypy/translator/geninterplevel.py
==============================================================================
--- pypy/trunk/pypy/translator/geninterplevel.py	(original)
+++ pypy/trunk/pypy/translator/geninterplevel.py	Mon Aug 10 18:17:45 2009
@@ -982,7 +982,7 @@
         globname = self.nameof(self.moddict)
         self.initcode.append('space.setitem(%s, space.new_interned_str("__builtins__"), '
                              'space.builtin.w_dict)' % globname)
-        self.initcode.append('%s = space.eval("property(%s)", %s, %s. hidden_applevel=True)' %(
+        self.initcode.append('%s = space.eval("property(%s)", %s, %s, hidden_applevel=True)' %(
             name, origin, globname, globname) )
         self.initcode.append('space.delitem(%s, space.new_interned_str("__builtins__"))'
                              % globname)

Modified: pypy/trunk/pypy/translator/test/snippet.py
==============================================================================
--- pypy/trunk/pypy/translator/test/snippet.py	(original)
+++ pypy/trunk/pypy/translator/test/snippet.py	Mon Aug 10 18:17:45 2009
@@ -675,7 +675,21 @@
         raise Exc(x)
     except Exception, e:
         return e.args[0]
-    
+
+
+class HaveProp(object):
+
+    def __init__(self, v):
+        self.v = v
+
+    def _hi(self):
+        "HaveProp._hi"
+        return self.v
+    hi = property(_hi)
+
+
+def run_prop(v):
+    return HaveProp(v).hi
 
 # --------------------(Currently) Non runnable Functions ---------------------
 

Modified: pypy/trunk/pypy/translator/test/test_geninterp.py
==============================================================================
--- pypy/trunk/pypy/translator/test/test_geninterp.py	(original)
+++ pypy/trunk/pypy/translator/test/test_geninterp.py	Mon Aug 10 18:17:45 2009
@@ -304,3 +304,7 @@
         fn = self.build_interpfunc(snippet.exception_subclass_sanity)
         result = fn(7)
         assert result == 7
+
+    def test_property(self):
+        fn = self.build_interpfunc(snippet.run_prop)
+        assert fn(23) == 23



More information about the Pypy-commit mailing list