Author: Ronan Lamy <ronan.l...@gmail.com> Branch: Changeset: r69068:372d7cd3d6b7 Date: 2014-02-04 01:03 +0000 http://bitbucket.org/pypy/pypy/changeset/372d7cd3d6b7/
Log: better error messages for newlist_hint() and resizelist_hint() diff --git a/rpython/rlib/objectmodel.py b/rpython/rlib/objectmodel.py --- a/rpython/rlib/objectmodel.py +++ b/rpython/rlib/objectmodel.py @@ -338,9 +338,10 @@ _about_ = newlist_hint def compute_result_annotation(self, s_sizehint): - from rpython.annotator.model import SomeInteger + from rpython.annotator.model import SomeInteger, AnnotatorError - assert isinstance(s_sizehint, SomeInteger) + if not isinstance(s_sizehint, SomeInteger): + raise AnnotatorError("newlist_hint() argument must be an int") s_l = self.bookkeeper.newlist() s_l.listdef.listitem.resize() return s_l @@ -365,8 +366,10 @@ def compute_result_annotation(self, s_l, s_sizehint): from rpython.annotator import model as annmodel - assert isinstance(s_l, annmodel.SomeList) - assert isinstance(s_sizehint, annmodel.SomeInteger) + if not isinstance(s_l, annmodel.SomeList): + raise annmodel.AnnotatorError("First argument must be a list") + if not isinstance(s_sizehint, annmodel.SomeInteger): + raise annmodel.AnnotatorError("Second argument must be an integer") s_l.listdef.listitem.resize() def specialize_call(self, hop): _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit