Ejemplo n.º 1
0
void CmdPrint::setClientOutput(DebuggerClient &client) {
  client.setOutputType(DebuggerClient::OTValues);
  Array values;
  if (m_isForWatch) {
    // Manipulating the watch list, output the current list
    DebuggerClient::WatchPtrVec &watches = client.getWatches();
    for (int i = 0; i < (int)watches.size(); i++) {
      ArrayInit watch(2);
      watch.set(s_format, watches[i]->first);
      watch.set(s_php, watches[i]->second);
      values.append(watch.create());
    }
  } else {
    // Just print an expression, do similar output as eval
    values.set(s_body, m_body);
    if (client.getDebuggerClientApiModeSerialize()) {
      values.set(s_value_serialize,
                 DebuggerClient::FormatVariable(m_ret, 200));
    } else {
      values.set(s_value, m_ret);
    }
  }
  client.setOTValues(values);
}