| Index: runtime/vm/debugger.cc
|
| ===================================================================
|
| --- runtime/vm/debugger.cc (revision 32126)
|
| +++ runtime/vm/debugger.cc (working copy)
|
| @@ -696,6 +696,36 @@
|
| }
|
|
|
|
|
| +void ActivationFrame::PrintToJSONObject(JSONObject* jsobj) {
|
| + intptr_t line = LineNumber();
|
| + const Script& script = Script::Handle(SourceScript());
|
| +
|
| + jsobj->AddProperty("script", script);
|
| + jsobj->AddProperty("line", line);
|
| + jsobj->AddProperty("col", ColumnNumber());
|
| + jsobj->AddProperty("function", function());
|
| + jsobj->AddProperty("code", code());
|
| +
|
| + // TODO(turnidge): Consider dropping lineString from the frame.
|
| + String& line_string = String::Handle(script.GetLine(line));
|
| + jsobj->AddProperty("lineString", line_string.ToCString());
|
| + {
|
| + JSONArray jsvars(jsobj, "vars");
|
| + const int num_vars = NumLocalVariables();
|
| + for (intptr_t v = 0; v < num_vars; v++) {
|
| + JSONObject jsvar(&jsvars);
|
| + String& var_name = String::Handle();
|
| + Instance& var_value = Instance::Handle();
|
| + intptr_t unused;
|
| + VariableAt(v, &var_name, &unused, &unused, &var_value);
|
| + jsvar.AddProperty("name", var_name.ToCString());
|
| + jsvar.AddProperty("value", var_value);
|
| + }
|
| + }
|
| +}
|
| +
|
| +
|
| +
|
| void DebuggerStackTrace::AddActivation(ActivationFrame* frame) {
|
| if (frame->function().is_visible()) {
|
| trace_.Add(frame);
|
|
|