[pypy-svn] r37676 - in pypy/dist/pypy/translator/cli: . test
antocuni at codespeak.net
antocuni at codespeak.net
Wed Jan 31 17:00:19 CET 2007
Author: antocuni
Date: Wed Jan 31 17:00:18 2007
New Revision: 37676
Modified:
pypy/dist/pypy/translator/cli/ilgenerator.py
pypy/dist/pypy/translator/cli/test/test_dotnet.py
Log:
Make unbox returning None instead of throwing an exception when it
fails.
Modified: pypy/dist/pypy/translator/cli/ilgenerator.py
==============================================================================
--- pypy/dist/pypy/translator/cli/ilgenerator.py (original)
+++ pypy/dist/pypy/translator/cli/ilgenerator.py Wed Jan 31 17:00:18 2007
@@ -337,7 +337,7 @@
def downcast(self, TYPE):
type = self.cts.lltype_to_cts(TYPE)
- return self.ilasm.opcode('castclass', type)
+ return self.ilasm.opcode('isinst', type)
def instantiate(self):
self.call_signature('object [pypylib]pypy.runtime.Utils::RuntimeNew(class [mscorlib]System.Type)')
Modified: pypy/dist/pypy/translator/cli/test/test_dotnet.py
==============================================================================
--- pypy/dist/pypy/translator/cli/test/test_dotnet.py (original)
+++ pypy/dist/pypy/translator/cli/test/test_dotnet.py Wed Jan 31 17:00:18 2007
@@ -346,6 +346,15 @@
res = self.interpret(fn, [])
assert res is True
+ def test_unbox_instance_fail(self):
+ class Foo:
+ pass
+ def fn():
+ b_obj = box(42)
+ return unbox(b_obj, Foo)
+ res = self.interpret(fn, [])
+ assert res is None
+
def test_instance_wrapping(self):
class Foo:
pass
More information about the Pypy-commit
mailing list