JS_ReportError(cx, "usage: line2pc [fun] line");
JS_ReportErrorNumber(cx, NULL, JSMSG_LINE2PC_USAGE);
LineToPC(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval){    JSScript *script;    int32 i;    uintN lineno;    jsbytecode *pc;    if (argc == 0) {	JS_ReportError(cx, "usage: line2pc [fun] line");	return JS_FALSE;    }    script = cx->fp->down->script;    if (!GetTrapArgs(cx, argc, argv, &script, &i))	return JS_FALSE;    lineno = (i == 0) ? script->lineno : (uintN)i;    pc = JS_LineNumberToPC(cx, script, lineno);    if (!pc)	return JS_FALSE;    *rval = INT_TO_JSVAL(pc - script->code);    return JS_TRUE;}