Commit 3b6666c9 authored by aniket-engg's avatar aniket-engg

using scope

parent 35dd0a1a
......@@ -122,7 +122,10 @@ class DebuggerStepManager {
stepOverForward (solidityMode) {
if (!this.traceManager.isLoaded()) return
var step = this.traceManager.findStepOverForward(this.currentStepIndex, this.debugger.callTree.internalFunctionCalls.includes((this.currentStepIndex)))
let scope = this.debugger.callTree.findScope(this.currentStepIndex)
if (scope && scope.firstStep === this.currentStepIndex) {
var step = scope.lastStep
}
if (solidityMode) {
step = this.resolveToReducedTrace(step, 1)
}
......
......@@ -29,7 +29,6 @@ class InternalCallTree {
this.solidityProxy = solidityProxy
this.traceManager = traceManager
this.sourceLocationTracker = new SourceLocationTracker(codeManager)
this.internalFunctionCalls = []
debuggerEvent.register('newTraceLoaded', (trace) => {
this.reset()
if (!this.solidityProxy.loaded()) {
......@@ -158,9 +157,6 @@ async function buildTree (tree, step, scopeId, isExternalCall) {
// we are checking if we are jumping in a new CALL or in an internal function
if (isCallInstruction || sourceLocation.jump === 'i') {
try {
if (sourceLocation.jump === 'i') {
this.internalFunctionCalls.push(step)
}
var externalCallResult = await buildTree(tree, step + 1, scopeId === '' ? subScope.toString() : scopeId + '.' + subScope, isCallInstruction)
if (externalCallResult.error) {
return { outStep: step, error: 'InternalCallTree - ' + externalCallResult.error }
......
......@@ -239,8 +239,8 @@ TraceManager.prototype.findStepOverBack = function (currentStep) {
return this.traceStepManager.findStepOverBack(currentStep)
}
TraceManager.prototype.findStepOverForward = function (currentStep, isInternalCall = false) {
return this.traceStepManager.findStepOverForward(currentStep, isInternalCall)
TraceManager.prototype.findStepOverForward = function (currentStep) {
return this.traceStepManager.findStepOverForward(currentStep)
}
TraceManager.prototype.findNextCall = function (currentStep) {
......
......@@ -26,8 +26,8 @@ TraceStepManager.prototype.findStepOverBack = function (currentStep) {
}
}
TraceStepManager.prototype.findStepOverForward = function (currentStep, isInternalCall) {
if (this.isCallInstruction(currentStep) || isInternalCall) {
TraceStepManager.prototype.findStepOverForward = function (currentStep) {
if (this.isCallInstruction(currentStep)) {
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 {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment