flag to track internal function calll

pull/5370/head
aniket-engg 6 years ago
parent 9e79040396
commit 80d01c9706
  1. 2
      remix-debug/src/debugger/stepManager.js
  2. 4
      remix-lib/src/trace/traceManager.js
  3. 6
      remix-lib/src/trace/traceStepManager.js

@ -122,7 +122,7 @@ class DebuggerStepManager {
stepOverForward (solidityMode) {
if (!this.traceManager.isLoaded()) return
var step = this.traceManager.findStepOverForward(this.currentStepIndex)
var step = this.traceManager.findStepOverForward(this.currentStepIndex, this.debugger.callTree.internalFunctionCalls.includes((this.currentStepIndex)))
if (solidityMode) {
step = this.resolveToReducedTrace(step, 1)
}

@ -239,8 +239,8 @@ TraceManager.prototype.findStepOverBack = function (currentStep) {
return this.traceStepManager.findStepOverBack(currentStep)
}
TraceManager.prototype.findStepOverForward = function (currentStep) {
return this.traceStepManager.findStepOverForward(currentStep)
TraceManager.prototype.findStepOverForward = function (currentStep, isInternalCall = false) {
return this.traceStepManager.findStepOverForward(currentStep, isInternalCall)
}
TraceManager.prototype.findNextCall = function (currentStep) {

@ -1,12 +1,10 @@
'use strict'
var traceHelper = require('../helpers/traceHelper')
var Debugger = require('../../../remix-debug').EthDebugger
var util = require('../util')
function TraceStepManager (_traceAnalyser, opts) {
this.traceAnalyser = _traceAnalyser
this.debugger = new Debugger({web3: opts.web3})
}
TraceStepManager.prototype.isCallInstruction = function (index) {
@ -28,8 +26,8 @@ TraceStepManager.prototype.findStepOverBack = function (currentStep) {
}
}
TraceStepManager.prototype.findStepOverForward = function (currentStep) {
if (this.isCallInstruction(currentStep) || this.debugger.callTree.internalFunctionCalls.includes(currentStep)) {
TraceStepManager.prototype.findStepOverForward = function (currentStep, isInternalCall) {
if (this.isCallInstruction(currentStep) || isInternalCall) {
var call = util.findCall(currentStep + 1, this.traceAnalyser.traceCache.callsTree.call)
return call.return + 1 < this.traceAnalyser.trace.length ? call.return + 1 : this.traceAnalyser.trace.length - 1
} else {

Loading…
Cancel
Save