summaryrefslogtreecommitdiff
path: root/Python/symtable.c
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2007-03-18 15:41:51 +0000
committerGuido van Rossum <guido@python.org>2007-03-18 15:41:51 +0000
commit35e0295e5cf79db1fe5c3926064690b181f902f3 (patch)
tree64129082762a7f5e9ff17d310f7c617598de7c29 /Python/symtable.c
parent73c6e4eda41ad862c6ee5fae3b3f0bd58d789900 (diff)
downloadcpython-35e0295e5cf79db1fe5c3926064690b181f902f3.tar.gz
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.
Diffstat (limited to 'Python/symtable.c')
-rw-r--r--Python/symtable.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/Python/symtable.c b/Python/symtable.c
index 5bac2a2c9e..e9c9391580 100644
--- a/Python/symtable.c
+++ b/Python/symtable.c
@@ -983,6 +983,11 @@ symtable_visit_stmt(struct symtable *st, stmt_ty s)
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;