Update internalCallTree.js

pull/7/head
Aniket 5 years ago committed by GitHub
parent f83b451f7e
commit dffab68e18
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      remix-debug/src/solidity-decoder/internalCallTree.js

@ -154,7 +154,7 @@ async function buildTree (tree, step, scopeId, isExternalCall) {
return { outStep: step, error: 'InternalCallTree - No source Location. ' + step } return { outStep: step, error: 'InternalCallTree - No source Location. ' + step }
} }
var isCallInstruction = traceHelper.isCallInstruction(tree.traceManager.trace[step]) var isCallInstruction = traceHelper.isCallInstruction(tree.traceManager.trace[step])
// we are checking if we jumping in a new CALL or in an internal function // we are checking if we are jumping in a new CALL or in an internal function
if (isCallInstruction || sourceLocation.jump === 'i') { if (isCallInstruction || sourceLocation.jump === 'i') {
try { try {
var externalCallResult = await buildTree(tree, step + 1, scopeId === '' ? subScope.toString() : scopeId + '.' + subScope, isCallInstruction) var externalCallResult = await buildTree(tree, step + 1, scopeId === '' ? subScope.toString() : scopeId + '.' + subScope, isCallInstruction)
@ -196,7 +196,7 @@ function includeVariableDeclaration (tree, step, sourceLocation, scopeId, newLoc
// that way we know that there is a new local variable from here. // that way we know that there is a new local variable from here.
if (variableDeclaration && !tree.scopes[scopeId].locals[variableDeclaration.attributes.name]) { if (variableDeclaration && !tree.scopes[scopeId].locals[variableDeclaration.attributes.name]) {
tree.traceManager.getStackAt(step, (error, stack) => { tree.traceManager.getStackAt(step, (error, stack) => {
// the stack length at this point is where the value of the new local will be stored. // the stack length at this point is where the value of the new local variable will be stored.
// so, either this is the direct value, or the offset in memory. That depends on the type. // so, either this is the direct value, or the offset in memory. That depends on the type.
if (!error) { if (!error) {
tree.solidityProxy.contractNameAt(step, (error, contractName) => { // cached tree.solidityProxy.contractNameAt(step, (error, contractName) => { // cached

Loading…
Cancel
Save