[Python-checkins] commit of r41571 - in python/branches/ast-objects: Parser Python
martin.v.loewis
python-checkins at python.org
Wed Nov 30 23:57:11 CET 2005
Author: martin.v.loewis
Date: Wed Nov 30 23:57:06 2005
New Revision: 41571
Modified:
python/branches/ast-objects/Parser/asdl_c.py
python/branches/ast-objects/Python/Python-ast.c
Log:
add missing INCREFs in ctor.
Modified: python/branches/ast-objects/Parser/asdl_c.py
==============================================================================
--- python/branches/ast-objects/Parser/asdl_c.py (original)
+++ python/branches/ast-objects/Parser/asdl_c.py Wed Nov 30 23:57:06 2005
@@ -213,8 +213,12 @@
emit("if (result == NULL)", 1)
emit("return NULL;", 2)
for argtype, argname, opt in args:
+ if argtype == "PyObject*":
+ emit("Py_INCREF(%s);" % argname, 1)
emit("result->%s = %s;" % (argname, argname), 1)
for argtype, argname, opt in attrs:
+ if argtype == "PyObject*":
+ emit("Py_INCREF(%s);" % argname, 1)
emit("result->_base.%s = %s;" % (argname, argname), 1)
emit("return (PyObject*)result;", 1)
emit("}")
Modified: python/branches/ast-objects/Python/Python-ast.c
==============================================================================
--- python/branches/ast-objects/Python/Python-ast.c (original)
+++ python/branches/ast-objects/Python/Python-ast.c Wed Nov 30 23:57:06 2005
@@ -54,6 +54,7 @@
struct _Module *result = PyObject_New(struct _Module, &Py_Module_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(body);
result->body = body;
return (PyObject*)result;
}
@@ -116,6 +117,7 @@
struct _Interactive *result = PyObject_New(struct _Interactive, &Py_Interactive_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(body);
result->body = body;
return (PyObject*)result;
}
@@ -178,6 +180,7 @@
struct _Expression *result = PyObject_New(struct _Expression, &Py_Expression_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(body);
result->body = body;
return (PyObject*)result;
}
@@ -240,6 +243,7 @@
struct _Suite *result = PyObject_New(struct _Suite, &Py_Suite_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(body);
result->body = body;
return (PyObject*)result;
}
@@ -348,9 +352,13 @@
struct _FunctionDef *result = PyObject_New(struct _FunctionDef, &Py_FunctionDef_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(name);
result->name = name;
+ Py_INCREF(args);
result->args = args;
+ Py_INCREF(body);
result->body = body;
+ Py_INCREF(decorators);
result->decorators = decorators;
result->_base.lineno = lineno;
return (PyObject*)result;
@@ -417,8 +425,11 @@
struct _ClassDef *result = PyObject_New(struct _ClassDef, &Py_ClassDef_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(name);
result->name = name;
+ Py_INCREF(bases);
result->bases = bases;
+ Py_INCREF(body);
result->body = body;
result->_base.lineno = lineno;
return (PyObject*)result;
@@ -484,6 +495,7 @@
struct _Return *result = PyObject_New(struct _Return, &Py_Return_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(value);
result->value = value;
result->_base.lineno = lineno;
return (PyObject*)result;
@@ -547,6 +559,7 @@
struct _Delete *result = PyObject_New(struct _Delete, &Py_Delete_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(targets);
result->targets = targets;
result->_base.lineno = lineno;
return (PyObject*)result;
@@ -610,7 +623,9 @@
struct _Assign *result = PyObject_New(struct _Assign, &Py_Assign_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(targets);
result->targets = targets;
+ Py_INCREF(value);
result->value = value;
result->_base.lineno = lineno;
return (PyObject*)result;
@@ -675,8 +690,11 @@
struct _AugAssign *result = PyObject_New(struct _AugAssign, &Py_AugAssign_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(target);
result->target = target;
+ Py_INCREF(op);
result->op = op;
+ Py_INCREF(value);
result->value = value;
result->_base.lineno = lineno;
return (PyObject*)result;
@@ -742,8 +760,11 @@
struct _Print *result = PyObject_New(struct _Print, &Py_Print_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(dest);
result->dest = dest;
+ Py_INCREF(values);
result->values = values;
+ Py_INCREF(nl);
result->nl = nl;
result->_base.lineno = lineno;
return (PyObject*)result;
@@ -810,9 +831,13 @@
struct _For *result = PyObject_New(struct _For, &Py_For_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(target);
result->target = target;
+ Py_INCREF(iter);
result->iter = iter;
+ Py_INCREF(body);
result->body = body;
+ Py_INCREF(orelse);
result->orelse = orelse;
result->_base.lineno = lineno;
return (PyObject*)result;
@@ -879,8 +904,11 @@
struct _While *result = PyObject_New(struct _While, &Py_While_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(test);
result->test = test;
+ Py_INCREF(body);
result->body = body;
+ Py_INCREF(orelse);
result->orelse = orelse;
result->_base.lineno = lineno;
return (PyObject*)result;
@@ -946,8 +974,11 @@
struct _If *result = PyObject_New(struct _If, &Py_If_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(test);
result->test = test;
+ Py_INCREF(body);
result->body = body;
+ Py_INCREF(orelse);
result->orelse = orelse;
result->_base.lineno = lineno;
return (PyObject*)result;
@@ -1013,8 +1044,11 @@
struct _Raise *result = PyObject_New(struct _Raise, &Py_Raise_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(type);
result->type = type;
+ Py_INCREF(inst);
result->inst = inst;
+ Py_INCREF(tback);
result->tback = tback;
result->_base.lineno = lineno;
return (PyObject*)result;
@@ -1081,8 +1115,11 @@
struct _TryExcept *result = PyObject_New(struct _TryExcept, &Py_TryExcept_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(body);
result->body = body;
+ Py_INCREF(handlers);
result->handlers = handlers;
+ Py_INCREF(orelse);
result->orelse = orelse;
result->_base.lineno = lineno;
return (PyObject*)result;
@@ -1148,7 +1185,9 @@
struct _TryFinally *result = PyObject_New(struct _TryFinally, &Py_TryFinally_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(body);
result->body = body;
+ Py_INCREF(finalbody);
result->finalbody = finalbody;
result->_base.lineno = lineno;
return (PyObject*)result;
@@ -1213,7 +1252,9 @@
struct _Assert *result = PyObject_New(struct _Assert, &Py_Assert_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(test);
result->test = test;
+ Py_INCREF(msg);
result->msg = msg;
result->_base.lineno = lineno;
return (PyObject*)result;
@@ -1278,6 +1319,7 @@
struct _Import *result = PyObject_New(struct _Import, &Py_Import_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(names);
result->names = names;
result->_base.lineno = lineno;
return (PyObject*)result;
@@ -1341,7 +1383,9 @@
struct _ImportFrom *result = PyObject_New(struct _ImportFrom, &Py_ImportFrom_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(module);
result->module = module;
+ Py_INCREF(names);
result->names = names;
result->_base.lineno = lineno;
return (PyObject*)result;
@@ -1406,8 +1450,11 @@
struct _Exec *result = PyObject_New(struct _Exec, &Py_Exec_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(body);
result->body = body;
+ Py_INCREF(globals);
result->globals = globals;
+ Py_INCREF(locals);
result->locals = locals;
result->_base.lineno = lineno;
return (PyObject*)result;
@@ -1473,6 +1520,7 @@
struct _Global *result = PyObject_New(struct _Global, &Py_Global_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(names);
result->names = names;
result->_base.lineno = lineno;
return (PyObject*)result;
@@ -1536,6 +1584,7 @@
struct _Expr *result = PyObject_New(struct _Expr, &Py_Expr_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(value);
result->value = value;
result->_base.lineno = lineno;
return (PyObject*)result;
@@ -1827,7 +1876,9 @@
struct _BoolOp *result = PyObject_New(struct _BoolOp, &Py_BoolOp_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(op);
result->op = op;
+ Py_INCREF(values);
result->values = values;
result->_base.lineno = lineno;
return (PyObject*)result;
@@ -1892,8 +1943,11 @@
struct _BinOp *result = PyObject_New(struct _BinOp, &Py_BinOp_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(left);
result->left = left;
+ Py_INCREF(op);
result->op = op;
+ Py_INCREF(right);
result->right = right;
result->_base.lineno = lineno;
return (PyObject*)result;
@@ -1959,7 +2013,9 @@
struct _UnaryOp *result = PyObject_New(struct _UnaryOp, &Py_UnaryOp_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(op);
result->op = op;
+ Py_INCREF(operand);
result->operand = operand;
result->_base.lineno = lineno;
return (PyObject*)result;
@@ -2024,7 +2080,9 @@
struct _Lambda *result = PyObject_New(struct _Lambda, &Py_Lambda_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(args);
result->args = args;
+ Py_INCREF(body);
result->body = body;
result->_base.lineno = lineno;
return (PyObject*)result;
@@ -2089,7 +2147,9 @@
struct _Dict *result = PyObject_New(struct _Dict, &Py_Dict_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(keys);
result->keys = keys;
+ Py_INCREF(values);
result->values = values;
result->_base.lineno = lineno;
return (PyObject*)result;
@@ -2154,7 +2214,9 @@
struct _ListComp *result = PyObject_New(struct _ListComp, &Py_ListComp_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(elt);
result->elt = elt;
+ Py_INCREF(generators);
result->generators = generators;
result->_base.lineno = lineno;
return (PyObject*)result;
@@ -2219,7 +2281,9 @@
struct _GeneratorExp *result = PyObject_New(struct _GeneratorExp, &Py_GeneratorExp_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(elt);
result->elt = elt;
+ Py_INCREF(generators);
result->generators = generators;
result->_base.lineno = lineno;
return (PyObject*)result;
@@ -2284,6 +2348,7 @@
struct _Yield *result = PyObject_New(struct _Yield, &Py_Yield_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(value);
result->value = value;
result->_base.lineno = lineno;
return (PyObject*)result;
@@ -2347,8 +2412,11 @@
struct _Compare *result = PyObject_New(struct _Compare, &Py_Compare_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(left);
result->left = left;
+ Py_INCREF(ops);
result->ops = ops;
+ Py_INCREF(comparators);
result->comparators = comparators;
result->_base.lineno = lineno;
return (PyObject*)result;
@@ -2415,10 +2483,15 @@
struct _Call *result = PyObject_New(struct _Call, &Py_Call_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(func);
result->func = func;
+ Py_INCREF(args);
result->args = args;
+ Py_INCREF(keywords);
result->keywords = keywords;
+ Py_INCREF(starargs);
result->starargs = starargs;
+ Py_INCREF(kwargs);
result->kwargs = kwargs;
result->_base.lineno = lineno;
return (PyObject*)result;
@@ -2486,6 +2559,7 @@
struct _Repr *result = PyObject_New(struct _Repr, &Py_Repr_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(value);
result->value = value;
result->_base.lineno = lineno;
return (PyObject*)result;
@@ -2549,6 +2623,7 @@
struct _Num *result = PyObject_New(struct _Num, &Py_Num_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(n);
result->n = n;
result->_base.lineno = lineno;
return (PyObject*)result;
@@ -2612,6 +2687,7 @@
struct _Str *result = PyObject_New(struct _Str, &Py_Str_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(s);
result->s = s;
result->_base.lineno = lineno;
return (PyObject*)result;
@@ -2675,8 +2751,11 @@
struct _Attribute *result = PyObject_New(struct _Attribute, &Py_Attribute_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(value);
result->value = value;
+ Py_INCREF(attr);
result->attr = attr;
+ Py_INCREF(ctx);
result->ctx = ctx;
result->_base.lineno = lineno;
return (PyObject*)result;
@@ -2742,8 +2821,11 @@
struct _Subscript *result = PyObject_New(struct _Subscript, &Py_Subscript_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(value);
result->value = value;
+ Py_INCREF(slice);
result->slice = slice;
+ Py_INCREF(ctx);
result->ctx = ctx;
result->_base.lineno = lineno;
return (PyObject*)result;
@@ -2809,7 +2891,9 @@
struct _Name *result = PyObject_New(struct _Name, &Py_Name_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(id);
result->id = id;
+ Py_INCREF(ctx);
result->ctx = ctx;
result->_base.lineno = lineno;
return (PyObject*)result;
@@ -2874,7 +2958,9 @@
struct _List *result = PyObject_New(struct _List, &Py_List_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(elts);
result->elts = elts;
+ Py_INCREF(ctx);
result->ctx = ctx;
result->_base.lineno = lineno;
return (PyObject*)result;
@@ -2939,7 +3025,9 @@
struct _Tuple *result = PyObject_New(struct _Tuple, &Py_Tuple_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(elts);
result->elts = elts;
+ Py_INCREF(ctx);
result->ctx = ctx;
result->_base.lineno = lineno;
return (PyObject*)result;
@@ -3109,8 +3197,11 @@
struct _Slice *result = PyObject_New(struct _Slice, &Py_Slice_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(lower);
result->lower = lower;
+ Py_INCREF(upper);
result->upper = upper;
+ Py_INCREF(step);
result->step = step;
return (PyObject*)result;
}
@@ -3175,6 +3266,7 @@
struct _ExtSlice *result = PyObject_New(struct _ExtSlice, &Py_ExtSlice_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(dims);
result->dims = dims;
return (PyObject*)result;
}
@@ -3237,6 +3329,7 @@
struct _Index *result = PyObject_New(struct _Index, &Py_Index_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(value);
result->value = value;
return (PyObject*)result;
}
@@ -3299,8 +3392,11 @@
struct _comprehension *result = PyObject_New(struct _comprehension, &Py_comprehension_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(target);
result->target = target;
+ Py_INCREF(iter);
result->iter = iter;
+ Py_INCREF(ifs);
result->ifs = ifs;
return (PyObject*)result;
}
@@ -3365,8 +3461,11 @@
struct _excepthandler *result = PyObject_New(struct _excepthandler, &Py_excepthandler_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(type);
result->type = type;
+ Py_INCREF(name);
result->name = name;
+ Py_INCREF(body);
result->body = body;
return (PyObject*)result;
}
@@ -3432,9 +3531,13 @@
struct _arguments *result = PyObject_New(struct _arguments, &Py_arguments_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(args);
result->args = args;
+ Py_INCREF(vararg);
result->vararg = vararg;
+ Py_INCREF(kwarg);
result->kwarg = kwarg;
+ Py_INCREF(defaults);
result->defaults = defaults;
return (PyObject*)result;
}
@@ -3500,7 +3603,9 @@
struct _keyword *result = PyObject_New(struct _keyword, &Py_keyword_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(arg);
result->arg = arg;
+ Py_INCREF(value);
result->value = value;
return (PyObject*)result;
}
@@ -3564,7 +3669,9 @@
struct _alias *result = PyObject_New(struct _alias, &Py_alias_Type);
if (result == NULL)
return NULL;
+ Py_INCREF(name);
result->name = name;
+ Py_INCREF(asname);
result->asname = asname;
return (PyObject*)result;
}
More information about the Python-checkins
mailing list