In js shell, make dis() with no arguments disassemble the current script. No bug, rs=Waldo.

--HG--
extra : rebase_source : 9775e4b9da3ee38a346174c3987bd3f897798ff1
This commit is contained in:
Jason Orendorff 2010-12-03 16:39:58 -06:00
Родитель 6e5e9d7faf
Коммит bf77520c33
1 изменённых файлов: 15 добавлений и 3 удалений

Просмотреть файл

@ -2088,10 +2088,22 @@ Disassemble(JSContext *cx, uintN argc, jsval *vp)
argv++, argc--;
}
for (uintN i = 0; i < argc; i++) {
if (!DisassembleValue(cx, argv[i], lines, recursive))
return false;
if (argc == 0) {
/* Without arguments, disassemble the current script. */
if (JSStackFrame *frame = JS_GetScriptedCaller(cx, NULL)) {
JSScript *script = JS_GetFrameScript(cx, frame);
if (!js_Disassemble(cx, script, lines, stdout))
return false;
SrcNotes(cx, script);
TryNotes(cx, script);
}
} else {
for (uintN i = 0; i < argc; i++) {
if (!DisassembleValue(cx, argv[i], lines, recursive))
return false;
}
}
JS_SET_RVAL(cx, vp, JSVAL_VOID);
return true;
}