bool is no longer required, it was only used for the print statement

This commit is contained in:
Neal Norwitz 2007-02-26 19:04:49 +00:00
parent a44f3a3e0b
commit 3591bbe453
2 changed files with 3 additions and 8 deletions

View File

@ -1,4 +1,4 @@
-- ASDL's five builtin types are identifier, int, string, object, bool -- ASDL's five builtin types are identifier, int, string, object
module Python version "$Revision$" module Python version "$Revision$"
{ {

View File

@ -15,7 +15,7 @@ def get_c_type(name):
"""Return a string for the C name of the type. """Return a string for the C name of the type.
This function special cases the default types provided by asdl: This function special cases the default types provided by asdl:
identifier, string, int, bool. identifier, string, int.
""" """
# XXX ack! need to figure out where Id is useful and where string # XXX ack! need to figure out where Id is useful and where string
if isinstance(name, asdl.Id): if isinstance(name, asdl.Id):
@ -288,8 +288,7 @@ class FunctionVisitor(PrototypeVisitor):
emit("{") emit("{")
emit("%s p;" % ctype, 1) emit("%s p;" % ctype, 1)
for argtype, argname, opt in args: for argtype, argname, opt in args:
# XXX hack alert: false is allowed for a bool if not opt and argtype != "int":
if not opt and not (argtype == "bool" or argtype == "int"):
emit("if (!%s) {" % argname, 1) emit("if (!%s) {" % argname, 1)
emit("PyErr_SetString(PyExc_ValueError,", 2) emit("PyErr_SetString(PyExc_ValueError,", 2)
msg = "field %s is required for %s" % (argname, name) msg = "field %s is required for %s" % (argname, name)
@ -467,10 +466,6 @@ static PyObject* ast2obj_object(void *o)
} }
#define ast2obj_identifier ast2obj_object #define ast2obj_identifier ast2obj_object
#define ast2obj_string ast2obj_object #define ast2obj_string ast2obj_object
static PyObject* ast2obj_bool(bool b)
{
return PyBool_FromLong(b);
}
static PyObject* ast2obj_int(long b) static PyObject* ast2obj_int(long b)
{ {