[Python-checkins] r73312 - in python/trunk: Lib/test/test_generators.py Lib/test/test_genexps.py Lib/test/test_syntax.py Python/ast.c

benjamin.peterson python-checkins at python.org
Tue Jun 9 01:44:14 CEST 2009


Author: benjamin.peterson
Date: Tue Jun  9 01:44:13 2009
New Revision: 73312

Log:
remove error checks already done in set_context()

Modified:
   python/trunk/Lib/test/test_generators.py
   python/trunk/Lib/test/test_genexps.py
   python/trunk/Lib/test/test_syntax.py
   python/trunk/Python/ast.c

Modified: python/trunk/Lib/test/test_generators.py
==============================================================================
--- python/trunk/Lib/test/test_generators.py	(original)
+++ python/trunk/Lib/test/test_generators.py	Tue Jun  9 01:44:13 2009
@@ -1588,7 +1588,7 @@
 Traceback (most recent call last):
   ...
   File "<doctest test.test_generators.__test__.coroutine[25]>", line 1
-SyntaxError: augmented assignment to yield expression not possible
+SyntaxError: can't assign to yield expression
 
 
 Now check some throw() conditions:

Modified: python/trunk/Lib/test/test_genexps.py
==============================================================================
--- python/trunk/Lib/test/test_genexps.py	(original)
+++ python/trunk/Lib/test/test_genexps.py	Tue Jun  9 01:44:13 2009
@@ -144,7 +144,7 @@
     Traceback (most recent call last):
        ...
       File "<doctest test.test_genexps.__test__.doctests[41]>", line 1
-    SyntaxError: augmented assignment to generator expression not possible
+    SyntaxError: can't assign to generator expression
 
 
 ########### Tests borrowed from or inspired by test_generators.py ############

Modified: python/trunk/Lib/test/test_syntax.py
==============================================================================
--- python/trunk/Lib/test/test_syntax.py	(original)
+++ python/trunk/Lib/test/test_syntax.py	Tue Jun  9 01:44:13 2009
@@ -248,12 +248,12 @@
 SyntaxError: keyword can't be an expression
 
 
-From ast_for_expr_stmt():
+More set_context():
 
 >>> (x for x in x) += 1
 Traceback (most recent call last):
   File "<doctest test.test_syntax[31]>", line 1
-SyntaxError: augmented assignment to generator expression not possible
+SyntaxError: can't assign to generator expression
 >>> None += 1
 Traceback (most recent call last):
   File "<doctest test.test_syntax[32]>", line 1
@@ -261,7 +261,7 @@
 >>> f() += 1
 Traceback (most recent call last):
   File "<doctest test.test_syntax[33]>", line 1
-SyntaxError: illegal expression for augmented assignment
+SyntaxError: can't assign to function call
 
 
 Test continue in finally in weird combinations.

Modified: python/trunk/Python/ast.c
==============================================================================
--- python/trunk/Python/ast.c	(original)
+++ python/trunk/Python/ast.c	Tue Jun  9 01:44:13 2009
@@ -2088,31 +2088,6 @@
         expr1 = ast_for_testlist(c, ch);
         if (!expr1)
             return NULL;
-        /* TODO(nas): Remove duplicated error checks (set_context does it) */
-        switch (expr1->kind) {
-            case GeneratorExp_kind:
-                ast_error(ch, "augmented assignment to generator "
-                          "expression not possible");
-                return NULL;
-            case Yield_kind:
-                ast_error(ch, "augmented assignment to yield "
-                          "expression not possible");
-                return NULL;
-            case Name_kind: {
-                const char *var_name = PyBytes_AS_STRING(expr1->v.Name.id);
-                if ((var_name[0] == 'N' || var_name[0] == 'T' || var_name[0] == 'F') &&
-                    !forbidden_check(c, ch, var_name))
-                    return NULL;
-                break;
-            }
-            case Attribute_kind:
-            case Subscript_kind:
-                break;
-            default:
-                ast_error(ch, "illegal expression for augmented "
-                          "assignment");
-                return NULL;
-        }
         if(!set_context(c, expr1, Store, ch))
             return NULL;
 


More information about the Python-checkins mailing list