JSStackFrame *fp; JSObjectMap *map;
js_NewPrinter(JSContext *cx, const char *name, uintN indent, JSBool pretty){    JSPrinter *jp;    JSStackFrame *fp;    JSObjectMap *map;    jp = (JSPrinter *) JS_malloc(cx, sizeof(JSPrinter));    if (!jp)        return NULL;    INIT_SPRINTER(cx, &jp->sprinter, &jp->pool, 0);    JS_InitArenaPool(&jp->pool, name, 256, 1);    jp->indent = indent;    jp->pretty = pretty;    jp->script = NULL;    jp->scope = NULL;    fp = cx->fp;    if (fp && fp->fun && fp->fun->object) {        map = fp->fun->object->map;        if (MAP_IS_NATIVE(map))            jp->scope = (JSScope *)map;    }    return jp;}