Skip to content

Commit 9b3b055

Browse files
author
georg.brandl
committed
Make _fields attr for no fields consistent with _attributes attr.
git-svn-id: http://svn.python.org/projects/python/trunk@62051 6015fed2-1504-0410-9fe1-9d1591cc4771
1 parent 1369ddc commit 9b3b055

3 files changed

Lines changed: 9 additions & 16 deletions

File tree

Lib/test/test_ast.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,9 @@ def test_nodeclasses(self):
163163
self.assertEquals(x.right, 3)
164164
self.assertEquals(x.lineno, 0)
165165

166+
# this used to fail because Sub._fields was None
167+
x = _ast.Sub()
168+
166169

167170
def test_main():
168171
test_support.run_unittest(AST_Tests)

Parser/asdl_c.py

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -674,14 +674,9 @@ def visitModule(self, mod):
674674
{
675675
PyObject *fnames, *result;
676676
int i;
677-
if (num_fields) {
678-
fnames = PyTuple_New(num_fields);
679-
if (!fnames) return NULL;
680-
} else {
681-
fnames = Py_None;
682-
Py_INCREF(Py_None);
683-
}
684-
for(i=0; i < num_fields; i++) {
677+
fnames = PyTuple_New(num_fields);
678+
if (!fnames) return NULL;
679+
for (i = 0; i < num_fields; i++) {
685680
PyObject *field = PyString_FromString(fields[i]);
686681
if (!field) {
687682
Py_DECREF(fnames);

Python/Python-ast.c

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -465,14 +465,9 @@ static PyTypeObject* make_type(char *type, PyTypeObject* base, char**fields, int
465465
{
466466
PyObject *fnames, *result;
467467
int i;
468-
if (num_fields) {
469-
fnames = PyTuple_New(num_fields);
470-
if (!fnames) return NULL;
471-
} else {
472-
fnames = Py_None;
473-
Py_INCREF(Py_None);
474-
}
475-
for(i=0; i < num_fields; i++) {
468+
fnames = PyTuple_New(num_fields);
469+
if (!fnames) return NULL;
470+
for (i = 0; i < num_fields; i++) {
476471
PyObject *field = PyString_FromString(fields[i]);
477472
if (!field) {
478473
Py_DECREF(fnames);

0 commit comments

Comments
 (0)