Index: src/mirror-debugger.js |
diff --git a/src/mirror-debugger.js b/src/mirror-debugger.js |
index e1fd872f3b980f0224bb3b1741989ea3dcea2718..a997fceed67522e6f100abdbbe4e31551590aeef 100644 |
--- a/src/mirror-debugger.js |
+++ b/src/mirror-debugger.js |
@@ -1509,6 +1509,11 @@ FrameDetails.prototype.scopeCount = function() { |
}; |
+FrameDetails.prototype.stepInPositionsImpl = function() { |
+ return %GetStepInPositions(this.break_id_, this.frameId()); |
+}; |
+ |
+ |
/** |
* Mirror object for stack frames. |
* @param {number} break_id The break id in the VM for which this frame is |
@@ -1669,6 +1674,29 @@ FrameMirror.prototype.scope = function(index) { |
}; |
+FrameMirror.prototype.stepInPositions = function() { |
+ var script = this.func().script(); |
+ var funcOffset = this.func().sourcePosition_(); |
+ |
+ var stepInRaw = this.details_.stepInPositionsImpl(); |
+ var result = []; |
+ if (stepInRaw) { |
+ for (var i = 0; i < stepInRaw.length; i++) { |
+ var posStruct = {}; |
+ var offset = script.locationFromPosition(funcOffset + stepInRaw[i], |
+ true); |
+ serializeLocationFields(offset, posStruct); |
+ var item = { |
+ position: posStruct |
+ }; |
+ result.push(item); |
+ } |
+ } |
+ |
+ return result; |
+}; |
+ |
+ |
FrameMirror.prototype.evaluate = function(source, disable_break, |
opt_context_object) { |
var result = %DebugEvaluate(this.break_id_, |