blob: 2d49df3b9fe6375218cfb39b6a321f9d7efd9fb6 [file] [log] [blame]
name = "up";
group = "stack";
shortDescription = "Select and print the stack frame above the current one";
longDescription = "";
seeAlso = [ "down", "frame" ];
function execute() {
scheduleGetContextCount();
state = 1;
}
function handleResponse(resp) {
if (state == 1) {
var count = resp.result;
var idx = getCurrentFrameIndex() + 1;
if (idx == count) {
warning("Already at top (outermost) frame.");
return;
}
setCurrentFrameIndex(idx);
scheduleGetContextInfo(idx);
state = 2;
} else if (state == 2) {
var info = resp.result;
setCurrentScriptId(info.scriptId);
setCurrentLineNumber(info.lineNumber);
scheduleGetBacktrace();
state = 3;
} else if (state == 3) {
var backtrace = resp.result;
message("#" + getCurrentFrameIndex() + " " + backtrace[getCurrentFrameIndex()]);
}
}