# HG changeset patch # User Paul Boddie # Date 1304199369 -7200 # Node ID ef635f7f79eaf65fa2382fbe9ad34e89dd4275a9 # Parent fa58e72b573abdc52c22e6c59700296673803f53 Added support for "raise" without arguments. diff -r fa58e72b573a -r ef635f7f79ea micropython/ast.py --- a/micropython/ast.py Tue Apr 26 19:34:07 2011 +0200 +++ b/micropython/ast.py Sat Apr 30 23:36:09 2011 +0200 @@ -827,20 +827,25 @@ self._visitPrint(node, "_printnl") def visitRaise(self, node): - # NOTE: expr1 only => instance provided - self.dispatch(node.expr1) + + if node.expr1 is not None: + + # NOTE: expr1 only => instance provided - if node.expr2 is not None: - temp = self.optimiser.optimise_temp_storage() + self.dispatch(node.expr1) + + if node.expr2 is not None: + temp = self.optimiser.optimise_temp_storage() - self.dispatch(node.expr2) - temp_arg = self.optimiser.optimise_temp_storage() + self.dispatch(node.expr2) + temp_arg = self.optimiser.optimise_temp_storage() + + self._generateInvocation(temp, (temp_arg,)) - self._generateInvocation(temp, (temp_arg,)) + self.discard_temp(temp_arg) - self.discard_temp(temp_arg) + self.new_op(StoreException()) - self.new_op(StoreException()) self.new_op(RaiseException()) def visitReturn(self, node):