From: <fwi...@us...> - 2008-08-09 17:07:23
|
Revision: 5123 http://jython.svn.sourceforge.net/jython/?rev=5123&view=rev Author: fwierzbicki Date: 2008-08-09 17:07:19 +0000 (Sat, 09 Aug 2008) Log Message: ----------- Don't allow generator expressions on left side of assignment. Modified Paths: -------------- branches/asm/grammar/PythonWalker.g branches/asm/src/org/python/antlr/GrammarActions.java Modified: branches/asm/grammar/PythonWalker.g =================================================================== --- branches/asm/grammar/PythonWalker.g 2008-08-09 16:27:42 UTC (rev 5122) +++ branches/asm/grammar/PythonWalker.g 2008-08-09 17:07:19 UTC (rev 5123) @@ -328,6 +328,7 @@ $stmts::statements.add(new Expr($test.marker, $test.etype)); } | ^(augassign targ=test[expr_contextType.AugStore] value=test[expr_contextType.Load]) { + actions.checkAssign($targ.etype); AugAssign a = new AugAssign($targ.marker, $targ.etype, $augassign.op, $value.etype); $stmts::statements.add(a); } Modified: branches/asm/src/org/python/antlr/GrammarActions.java =================================================================== --- branches/asm/src/org/python/antlr/GrammarActions.java 2008-08-09 16:27:42 UTC (rev 5122) +++ branches/asm/src/org/python/antlr/GrammarActions.java 2008-08-09 17:07:19 UTC (rev 5123) @@ -456,6 +456,8 @@ void checkAssign(exprType e) { if (e instanceof Name && ((Name)e).id.equals("None")) { throw new ParseException("assignment to None", e); + } else if (e instanceof GeneratorExp) { + throw new ParseException("can't assign to generator expression", e); } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |