1.1 --- a/micropython/trans.py Sat May 23 01:46:46 2009 +0200
1.2 +++ b/micropython/trans.py Sat May 23 02:46:04 2009 +0200
1.3 @@ -44,6 +44,14 @@
1.4
1.5 self.new_op(MakeObject(n + 1))
1.6
1.7 + def make_exception(self, name, node):
1.8 +
1.9 + "Make an exception of the given 'name' using 'node'."
1.10 +
1.11 + # NOTE: Reserving only one attribute.
1.12 +
1.13 + self.make_object(self.get_builtin_class(name, node), 1)
1.14 +
1.15 # Name-related methods.
1.16
1.17 def get_scope(self, name):
1.18 @@ -676,7 +684,7 @@
1.19 self.new_op(DropFrame())
1.20 self.new_op(LoadResult())
1.21
1.22 - self.load_builtin("TypeError", node)
1.23 + self.make_exception("TypeError", node)
1.24 self.new_op(StoreException())
1.25 self.new_op(RaiseException())
1.26
1.27 @@ -933,7 +941,7 @@
1.28 # Raise a TypeError.
1.29
1.30 self.set_block(type_error_block)
1.31 - self.load_builtin("TypeError", node)
1.32 + self.make_exception("TypeError", node)
1.33 self.new_op(StoreException())
1.34 self.new_op(RaiseException())
1.35
1.36 @@ -1018,7 +1026,7 @@
1.37 # Raise a TypeError.
1.38
1.39 self.set_block(type_error_block)
1.40 - self.load_builtin("TypeError", node)
1.41 + self.make_exception("TypeError", node)
1.42 self.new_op(StoreException())
1.43 self.new_op(RaiseException())
1.44