# HG changeset patch # User Mike Pavone # Date 1288924894 0 # Node ID 5eedee9063dc7bebcf9a88ff135e353d5fff4169 # Parent 50406500334d469ad1873ff43932461fa6e8297c Print type name in error message for a missing method diff -r 50406500334d -r 5eedee9063dc runtime/func.h --- a/runtime/func.h Fri Nov 05 02:40:51 2010 +0000 +++ b/runtime/func.h Fri Nov 05 02:41:34 2010 +0000 @@ -182,11 +182,13 @@ switch(get_blueprint(cdata->params[0])->type_id)\ { -#define EndMethod(name) \ +#define EndMethod(mname) \ default:\ - printf("Type %d does not implement method %s\n", get_blueprint(cdata->params[0])->type_id, #name);\ + printf("Type ");\ + fwrite( ((t_Array *)((t_String *)get_blueprint(cdata->params[0])->name)->payload.Buffer)+1, 1, ((t_Array *)((t_String *)get_blueprint(cdata->params[0])->name)->payload.Buffer)->payload.Length, stdout);\ + printf("(%d) does not implement method %s\n", get_blueprint(cdata->params[0])->type_id, #mname);\ cdata = alloc_cdata(ct, cdata, 0);\ - cdata->func = FUNC_ ## name;\ + cdata->func = FUNC_ ## mname;\ goto _exception;\ }