Update PyNode_CompileSymtable() to understand future statements

This commit is contained in:
Jeremy Hylton 2001-03-21 19:01:33 +00:00
parent 823649d544
commit ded4bd776f
1 changed files with 15 additions and 9 deletions

View File

@ -3780,22 +3780,28 @@ struct symtable *
PyNode_CompileSymtable(node *n, char *filename)
{
struct symtable *st;
PyFutureFeatures *ff;
ff = PyNode_Future(n, filename);
if (ff == NULL)
return NULL;
st = symtable_init();
if (st == NULL)
return NULL;
assert(st->st_symbols != NULL);
st->st_future = ff;
symtable_enter_scope(st, TOP, TYPE(n), n->n_lineno);
if (st->st_errors > 0) {
PySymtable_Free(st);
return NULL;
}
if (st->st_errors > 0)
goto fail;
symtable_node(st, n);
if (st->st_errors > 0) {
PySymtable_Free(st);
return NULL;
}
if (st->st_errors > 0)
goto fail;
return st;
fail:
PyMem_Free((void *)ff);
st->st_future = NULL;
PySymtable_Free(st);
return NULL;
}
static PyCodeObject *