diff Python/symtable.c @ 41226:19f7ff443718

Implement PEP 3115 -- new metaclass syntax and semantics. The compiler package hasn't been updated yet; test_compiler.py fails. Otherwise all tests seem to be passing now. There are no occurrences of __metaclass__ left in the standard library. Docs have not been updated.
author Guido van Rossum <guido@python.org>
date Sun, 18 Mar 2007 15:41:51 +0000
parents 30e5cb3a55ac
children 060c79f6d919
line wrap: on
line diff
--- a/Python/symtable.c	Sun Mar 18 03:42:15 2007 +0000
+++ b/Python/symtable.c	Sun Mar 18 15:41:51 2007 +0000
@@ -983,6 +983,11 @@
 		if (!symtable_add_def(st, s->v.ClassDef.name, DEF_LOCAL))
 			return 0;
 		VISIT_SEQ(st, expr, s->v.ClassDef.bases);
+		VISIT_SEQ(st, keyword, s->v.ClassDef.keywords);
+		if (s->v.ClassDef.starargs)
+			VISIT(st, expr, s->v.ClassDef.starargs);
+		if (s->v.ClassDef.kwargs)
+			VISIT(st, expr, s->v.ClassDef.kwargs);
 		if (!symtable_enter_block(st, s->v.ClassDef.name, ClassBlock, 
 					  (void *)s, s->lineno))
 			return 0;