Array CmdWhere::fetchStackTrace(DebuggerClient &client) { Array st = client.getStackTrace(); if (st.isNull()) { m_stackArgs = client.getDebuggerStackArgs(); CmdWherePtr cmd = client.xend<CmdWhere>(this); st = cmd->m_stacktrace; client.setStackTrace(st); } return st; }
Array CmdWhere::fetchStackTrace(DebuggerClient &client) { Array st = client.getStackTrace(); // Only grab a new stack trace if we don't have one cached, or if // the one cached does not match the type of stack trace being // requested. bool isAsync = m_type == KindOfWhereAsync; if (st.isNull() || (isAsync != client.isStackTraceAsync())) { m_stackArgs = client.getDebuggerClientStackArgs(); auto cmd = client.xend<CmdWhere>(this); st = cmd->m_stacktrace; client.setStackTrace(st, isAsync); } return st; }