Jython

Issue1048

classification
Title: List Comprehension in finally throws NPE
Type: Severity: major
Components: Core Versions: 2.2.2
Milestone:
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: fwierzbicki Nosy List: fwierzbicki
Priority: Keywords:

Created on 2008年06月06日.16:34:36 by fwierzbicki, last changed 2008年06月06日.18:42:03 by fwierzbicki.

Messages
msg3231 (view) Author: Frank Wierzbicki (fwierzbicki) Date: 2008年06月06日.16:34:35
So the following fails in all versions of Jython 2.2 and on:
def foo():
 try:
 pass
 finally:
 [f for f in (1,2)]
The reason this fails, is that ListComps are assigned a name in
ScopesCompiler and CodeCompiler based on a counter. The reason this
fails is that finally blocks are inlined, and can thus be repeated
within the bytecodes. This repetition causes the counter to increment
too many times in CodeCompiler, causing mismatches between the names
in ScopesCompiler and CodeCompiler. What I think is necessary here is
to come up with a naming convention that doesn't involve a counter. I
propose we use the line and column info for the ListComp node, so we
make the following change
msg3232 (view) Author: Frank Wierzbicki (fwierzbicki) Date: 2008年06月06日.18:41:57
Fixed in 2.2 maint branch, trunk, and asm branch.
History
Date User Action Args
2008年06月06日 18:42:03fwierzbickisetstatus: open -> closed
resolution: fixed
messages: + msg3232
2008年06月06日 16:34:54fwierzbickisetassignee: fwierzbicki
2008年06月06日 16:34:36fwierzbickicreate

Supported by Python Software Foundation,
Powered by Roundup

AltStyle によって変換されたページ (->オリジナル) /