rem: { 
add: { 
context: function debugTrap (frame, type, rv){        var tn = "";    var retcode = jsdIExecutionHook.RETURN_CONTINUE;    $ = new Array();        switch (type)    {        case jsdIExecutionHook.TYPE_BREAKPOINT:            var bpResult = testBreakpoint(frame, rv);            if (bpResult != -1)                return bpResult;            tn = MSG_VAL_BREAKPOINT;            break;        case jsdIExecutionHook.TYPE_DEBUG_REQUESTED:            tn = MSG_VAL_DEBUG;            break;        case jsdIExecutionHook.TYPE_DEBUGGER_KEYWORD:            tn = MSG_VAL_DEBUGGER;            break;        case jsdIExecutionHook.TYPE_THROW:            dd (dumpObjectTree(rv));            display (getMsg(MSN_EXCEPTION_TRACE,                            [rv.value.stringValue, formatFrame(frame)]),                     MT_ETRACE);            if (rv.value.jsClassName == "Error")                display (formatProperty(rv.value.getProperty("message")));            if (console.throwMode != TMODE_BREAK)                return jsdIExecutionHook.RETURN_CONTINUE_THROW;            console.currentException = rv.value;            retcode = jsdIExecutionHook.RETURN_CONTINUE_THROW;                        tn = MSG_VAL_THROW;            break;        case jsdIExecutionHook.TYPE_INTERRUPTED:            if (!frame.script.functionName &&                 isURLFiltered(frame.script.fileName))            {                dd ("filtered url: " + frame.script.fileName);                frame.script.flags |= SCRIPT_NOPROFILE | SCRIPT_NODEBUG;                return retcode;            }                        var line;            if (console.prefs["prettyprint"])                line = frame.script.pcToLine (frame.pc, PCMAP_PRETTYPRINT);            else                line = frame.line;            if (console._stepPast == frame.script.fileName + line)                return retcode;            delete console._stepPast;            setStopState(false);            break;        default:            /* don't print stop/cont messages for other types */    }    console.jsds.functionHook = null;    /* set our default return value */    console._continueCodeStack.push (retcode);    if (tn)        display (getMsg(MSN_STOP, tn), MT_STOP);        /* build an array of frames */    console.frames = new Array(frame);        while ((frame = frame.callingFrame))        console.frames.push(frame);        console.trapType = type;        try    {            console.jsds.enterNestedEventLoop({onNest: eventLoopNested});     }    catch (ex)    {        dd ("caught " + ex + " while nested");    }        /* execution pauses here until someone calls exitNestedEventLoop() */    clearCurrentFrame();    rv.value = ("currentException" in console) ? console.currentException : null;    delete console.frames;    delete console.trapType;    delete console.currentException;    $ = new Array();        dispatch ("hook-debug-continue");    if (tn)        display (getMsg(MSN_CONT, tn), MT_CONT);    return console._continueCodeStack.pop();}
meta: 8395	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/8395/171d43ee25fb94ca659d1f263eb012f84471dd4a/venkman-debugger.js/clean/extensions/venkman/resources/content/venkman-debugger.js