From 9ce870cd38caea5f3b0b307b46b0bec8fd13e57f Mon Sep 17 00:00:00 2001 From: Stefan Behnel Date: Sat, 26 Jan 2013 13:55:16 +0100 Subject: [PATCH] remove some code redundancy --- Cython/Compiler/Nodes.py | 30 +++++++++++------------------- 1 file changed, 11 insertions(+), 19 deletions(-) diff --git a/Cython/Compiler/Nodes.py b/Cython/Compiler/Nodes.py index 7cad886..a88cc6d 100644 --- a/Cython/Compiler/Nodes.py +++ b/Cython/Compiler/Nodes.py @@ -6146,26 +6146,18 @@ class ExceptClauseNode(Node): self.target.generate_deletion_code(code) code.put_goto(end_label) - if code.label_used(code.break_label): - code.put_label(code.break_label) - if self.excinfo_target is not None: - self.excinfo_tuple.generate_disposal_code(code) - for var in exc_vars: - code.put_decref_clear(var, py_object_type) - if self.is_except_as and self.target: - self.target.generate_deletion_code(code) - code.put_goto(old_break_label) + for new_label, old_label in [(code.break_label, old_break_label), + (code.continue_label, old_continue_label)]: + if code.label_used(new_label): + code.put_label(new_label) + if self.excinfo_target is not None: + self.excinfo_tuple.generate_disposal_code(code) + for var in exc_vars: + code.put_decref_clear(var, py_object_type) + if self.is_except_as and self.target: + self.target.generate_deletion_code(code) + code.put_goto(old_label) code.break_label = old_break_label - - if code.label_used(code.continue_label): - code.put_label(code.continue_label) - if self.excinfo_target is not None: - self.excinfo_tuple.generate_disposal_code(code) - for var in exc_vars: - code.put_decref_clear(var, py_object_type) - if self.is_except_as and self.target: - self.target.generate_deletion_code(code) - code.put_goto(old_continue_label) code.continue_label = old_continue_label if self.excinfo_target is not None: -- 2.7.4