diff options
Diffstat (limited to 'Lib/compiler/pycodegen.py')
-rw-r--r-- | Lib/compiler/pycodegen.py | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/Lib/compiler/pycodegen.py b/Lib/compiler/pycodegen.py index dc2be32..9f58067 100644 --- a/Lib/compiler/pycodegen.py +++ b/Lib/compiler/pycodegen.py @@ -326,7 +326,7 @@ class CodeGenerator: self.nextBlock(loop) self.loops.push(loop) - self.set_lineno(node) + self.set_lineno(node, force=1) self.visit(node.test) self.emit('JUMP_IF_FALSE', else_ or after) @@ -338,9 +338,9 @@ class CodeGenerator: self.startBlock(else_) # or just the POPs if not else clause self.emit('POP_TOP') self.emit('POP_BLOCK') + self.loops.pop() if node.else_: self.visit(node.else_) - self.loops.pop() self.nextBlock(after) def visitFor(self, node): @@ -354,7 +354,7 @@ class CodeGenerator: self.visit(node.list) self.visit(ast.Const(0)) self.nextBlock(start) - self.set_lineno(node) + self.set_lineno(node, force=1) self.emit('FOR_LOOP', anchor) self.nextBlock() self.visit(node.assign) @@ -362,9 +362,9 @@ class CodeGenerator: self.emit('JUMP_ABSOLUTE', start) self.startBlock(anchor) self.emit('POP_BLOCK') + self.loops.pop() if node.else_: self.visit(node.else_) - self.loops.pop() self.nextBlock(after) def visitBreak(self, node): |