From 80d01c97065673bd070a13c1c79388d4b13556d7 Mon Sep 17 00:00:00 2001 From: aniket-engg Date: Fri, 13 Sep 2019 15:59:24 +0530 Subject: [PATCH] flag to track internal function calll --- remix-debug/src/debugger/stepManager.js | 2 +- remix-lib/src/trace/traceManager.js | 4 ++-- remix-lib/src/trace/traceStepManager.js | 6 ++---- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/remix-debug/src/debugger/stepManager.js b/remix-debug/src/debugger/stepManager.js index 2e39115cab..909bc12e20 100644 --- a/remix-debug/src/debugger/stepManager.js +++ b/remix-debug/src/debugger/stepManager.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) } diff --git a/remix-lib/src/trace/traceManager.js b/remix-lib/src/trace/traceManager.js index e4af6d2945..5366a6c798 100644 --- a/remix-lib/src/trace/traceManager.js +++ b/remix-lib/src/trace/traceManager.js @@ -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) { diff --git a/remix-lib/src/trace/traceStepManager.js b/remix-lib/src/trace/traceStepManager.js index 9a3c8a5b3d..b65fec1b26 100644 --- a/remix-lib/src/trace/traceStepManager.js +++ b/remix-lib/src/trace/traceStepManager.js @@ -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 {