11py_object = object
22import pixie .vm .object as object
3- from pixie .vm .object import affirm
3+ from pixie .vm .object import affirm , runtime_error
44from pixie .vm .primitives import nil , true , false
55from pixie .vm .numbers import Integer
66import pixie .vm .stdlib as proto
@@ -56,15 +56,17 @@ def array_for(self, i):
5656 assert isinstance (node , Node )
5757 return node ._array
5858
59- affirm (False , u"Index out of Range" )
59+ runtime_error (u"Index out of range" ,
60+ u"pixie.stdlib/OutOfRangeException" )
6061
6162 def nth (self , i , not_found = None ):
6263 if 0 <= i < self ._cnt :
6364 node = self .array_for (r_uint (i ))
6465 return node [i & 0x01f ]
6566
6667 if not_found is None :
67- affirm (False , u"Index out of Range" )
68+ runtime_error (u"Index out of range" ,
69+ u"pixie.stdlib/OutOfRangeException" )
6870 else :
6971 return not_found
7072
@@ -176,8 +178,8 @@ def assoc_at(self, idx, val):
176178 if idx == self ._cnt :
177179 return self .conj (val )
178180 else :
179- object . runtime_error (u"index out of range" ,
180- u"pixie.stdlib/OutOfRangeException" )
181+ runtime_error (u"Index out of range" ,
182+ u"pixie.stdlib/OutOfRangeException" )
181183
182184
183185def do_assoc (lvl , node , idx , val ):
@@ -319,7 +321,8 @@ def array_for(self, i):
319321 level -= 5
320322 return node ._array
321323
322- affirm (False , u"Index out of Range" )
324+ runtime_error (u"Index out of range" ,
325+ u"pixie.stdlib/OutOfRangeException" )
323326
324327 def editable_array_for (self , i ):
325328 if i >= 0 and i < self ._cnt :
@@ -333,7 +336,8 @@ def editable_array_for(self, i):
333336 level -= 5
334337 return node ._array
335338
336- affirm (False , u"Index out of bounds" )
339+ runtime_error (u"Index out of range" ,
340+ u"pixie.stdlib/OutOfRangeException" )
337341
338342 def nth (self , i , not_found = nil ):
339343 self .ensure_editable ()
0 commit comments