completly remove debuggerUI reference dependency

pull/1/head
Iuri Matias 6 years ago committed by yann300
parent cdbd71143f
commit 54dd28df04
  1. 15
      src/app/debugger/debugger/VmDebugger.js
  2. 19
      src/app/debugger/debugger/debugger.js
  3. 5
      src/app/debugger/debuggerUI.js

@ -10,10 +10,9 @@ var DebuggerSolidityLocals = require('./solidityLocals')
class VmDebuggerLogic {
constructor (_parentUI, tx, _stepManager, _traceManager, _codeManager, _solidityProxy, _callTree) {
constructor (_debugger, tx, _stepManager, _traceManager, _codeManager, _solidityProxy, _callTree) {
this.event = new EventManager()
this._parentUI = _parentUI
this.debugger = this._parentUI.debugger
this.debugger = _debugger
this.stepManager = _stepManager
this._traceManager = _traceManager
this._codeManager = _codeManager
@ -63,7 +62,7 @@ class VmDebuggerLogic {
listenToTraceManagerEvents () {
const self = this
this._parentUI.event.register('indexChanged', this, function (index) {
this.event.register('indexChanged', this, function (index) {
if (index < 0) return
if (self.stepManager.currentStepIndex !== index) return
@ -217,7 +216,7 @@ class VmDebuggerLogic {
listenToSolidityStateEvents () {
const self = this
this._parentUI.event.register('indexChanged', this.debuggerSolidityState.init.bind(this.debuggerSolidityState))
this.event.register('indexChanged', this.debuggerSolidityState.init.bind(this.debuggerSolidityState))
this.debuggerSolidityState.event.register('solidityState', function (state) {
self.event.trigger('solidityState', [state])
})
@ -227,13 +226,13 @@ class VmDebuggerLogic {
this.debuggerSolidityState.event.register('solidityStateUpdating', function () {
self.event.trigger('solidityStateUpdating', [])
})
this._parentUI.event.register('traceUnloaded', this.debuggerSolidityState.reset.bind(this.debuggerSolidityState))
this._parentUI.event.register('newTraceLoaded', this.debuggerSolidityState.reset.bind(this.debuggerSolidityState))
this.event.register('traceUnloaded', this.debuggerSolidityState.reset.bind(this.debuggerSolidityState))
this.event.register('newTraceLoaded', this.debuggerSolidityState.reset.bind(this.debuggerSolidityState))
}
listenToSolidityLocalsEvents () {
const self = this
this._parentUI.event.register('sourceLocationChanged', this.debuggerSolidityLocals.init.bind(this.debuggerSolidityLocals))
this.event.register('sourceLocationChanged', this.debuggerSolidityLocals.init.bind(this.debuggerSolidityLocals))
this.debuggerSolidityLocals.event.register('solidityLocals', function (state) {
self.event.trigger('solidityLocals', [state])
})

@ -76,22 +76,29 @@ Debugger.prototype.registerAndHighlightCodeItem = function (index) {
})
}
Debugger.prototype.debug = function (parent, tx, loadingCb) {
Debugger.prototype.debug = function (tx, loadingCb) {
const self = this
this.step_manager = new StepManager(this.debugger, this.debugger.traceManager)
parent.event.register('indexChanged', this, (index) => {
self.step_manager.event.trigger('indexChanged', [index])
})
this.debugger.codeManager.event.register('changed', this, (code, address, instIndex) => {
self.debugger.callTree.sourceLocationTracker.getSourceLocationFromVMTraceIndex(address, this.step_manager.currentStepIndex, this.debugger.solidityProxy.contracts, (error, sourceLocation) => {
if (!error) {
parent.event.trigger('sourceLocationChanged', [sourceLocation])
self.vmDebuggerLogic.event.trigger('sourceLocationChanged', [sourceLocation])
}
})
})
this.vmDebuggerLogic = new VmDebuggerLogic(parent, tx, this.step_manager, this.debugger.traceManager, this.debugger.codeManager, this.debugger.solidityProxy, this.debugger.callTree)
this.vmDebuggerLogic = new VmDebuggerLogic(this.debugger, tx, this.step_manager, this.debugger.traceManager, this.debugger.codeManager, this.debugger.solidityProxy, this.debugger.callTree)
this.debugger.event.register('traceUnloaded', function () {
console.dir('---> traceUnloaded on debugger')
self.vmDebuggerLogic.event.trigger('traceUnloaded')
})
// TODO: doesn't seem to be triggered; parent=debuggerUI
// parent.event.register('newTraceLoaded', function () {
// self.vmDebuggerLogic.event.trigger('newTraceLoaded')
// })
loadingCb()
this.debugger.debug(tx)

@ -46,7 +46,6 @@ class DebuggerUI {
this.sourceHighlighter = new SourceHighlighter()
this.startTxBrowser()
// this.startStepManager()
this.stepManager = null
this.tx
@ -56,6 +55,8 @@ class DebuggerUI {
this.event.register('indexChanged', this, function (index) {
self.debugger.codeManager.resolveStep(index, self.tx)
self.transactionDebugger.step_manager.event.trigger('indexChanged', [index])
self.transactionDebugger.vmDebuggerLogic.event.trigger('indexChanged', [index])
})
container.appendChild(this.render())
@ -163,7 +164,7 @@ class DebuggerUI {
// still here because tx is being reffered in children
this.tx = tx
this.transactionDebugger.debug(this, tx, () => {
this.transactionDebugger.debug(tx, () => {
self.stepManager = new StepManagerUI(this.transactionDebugger.step_manager)
self.stepManager.event.register('stepChanged', this, function (stepIndex) {
self.stepManager.currentStepIndex = stepIndex

Loading…
Cancel
Save