|
|
@ -9,14 +9,17 @@ var Slider = require('./Slider') |
|
|
|
|
|
|
|
|
|
|
|
function StepManager (_parent, _traceManager) { |
|
|
|
function StepManager (_parent, _traceManager) { |
|
|
|
this.event = new EventManager() |
|
|
|
this.event = new EventManager() |
|
|
|
|
|
|
|
this._parent = _parent |
|
|
|
this.parent = _parent.debugger |
|
|
|
this.parent = _parent.debugger |
|
|
|
this.traceManager = _traceManager |
|
|
|
this.traceManager = _traceManager |
|
|
|
this.sourceMapByAddress = {} |
|
|
|
|
|
|
|
this.solidityMode = false |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
this.revertionPoint = null |
|
|
|
this.revertionPoint = null |
|
|
|
|
|
|
|
|
|
|
|
var self = this |
|
|
|
this.startSlider() |
|
|
|
|
|
|
|
this.startButtonNavigator() |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
StepManager.prototype.startSlider = function () { |
|
|
|
|
|
|
|
const self = this |
|
|
|
this.parent.event.register('newTraceLoaded', this, function () { |
|
|
|
this.parent.event.register('newTraceLoaded', this, function () { |
|
|
|
if (!this.slider) return |
|
|
|
if (!this.slider) return |
|
|
|
self.traceManager.getLength(function (error, length) { |
|
|
|
self.traceManager.getLength(function (error, length) { |
|
|
@ -39,13 +42,16 @@ function StepManager (_parent, _traceManager) { |
|
|
|
this.jumpTo(this.parent.callTree.functionCallStack[0]) |
|
|
|
this.jumpTo(this.parent.callTree.functionCallStack[0]) |
|
|
|
} |
|
|
|
} |
|
|
|
}) |
|
|
|
}) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
StepManager.prototype.startButtonNavigator = function () { |
|
|
|
|
|
|
|
const self = this |
|
|
|
this.buttonNavigator = new ButtonNavigator() |
|
|
|
this.buttonNavigator = new ButtonNavigator() |
|
|
|
|
|
|
|
|
|
|
|
_parent.event.register('indexChanged', this, (index) => { |
|
|
|
self._parent.event.register('indexChanged', this, (index) => { |
|
|
|
// if (!this.view) return
|
|
|
|
// if (!this.view) return
|
|
|
|
if (index < 0) return |
|
|
|
if (index < 0) return |
|
|
|
if (_parent.currentStepIndex !== index) return |
|
|
|
if (self._parent.currentStepIndex !== index) return |
|
|
|
|
|
|
|
|
|
|
|
self.traceManager.buildCallPath(index, (error, callsPath) => { |
|
|
|
self.traceManager.buildCallPath(index, (error, callsPath) => { |
|
|
|
if (error) { |
|
|
|
if (error) { |
|
|
@ -97,10 +103,10 @@ function StepManager (_parent, _traceManager) { |
|
|
|
self.jumpTo(self.revertionPoint) |
|
|
|
self.jumpTo(self.revertionPoint) |
|
|
|
}) |
|
|
|
}) |
|
|
|
this.buttonNavigator.event.register('jumpNextBreakpoint', (exceptionIndex) => { |
|
|
|
this.buttonNavigator.event.register('jumpNextBreakpoint', (exceptionIndex) => { |
|
|
|
self.parent.breakpointManager.jumpNextBreakpoint(_parent.currentStepIndex, true) |
|
|
|
self.parent.breakpointManager.jumpNextBreakpoint(self._parent.currentStepIndex, true) |
|
|
|
}) |
|
|
|
}) |
|
|
|
this.buttonNavigator.event.register('jumpPreviousBreakpoint', (exceptionIndex) => { |
|
|
|
this.buttonNavigator.event.register('jumpPreviousBreakpoint', (exceptionIndex) => { |
|
|
|
self.parent.breakpointManager.jumpPreviousBreakpoint(_parent.currentStepIndex, true) |
|
|
|
self.parent.breakpointManager.jumpPreviousBreakpoint(self._parent.currentStepIndex, true) |
|
|
|
}) |
|
|
|
}) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|