diff --git a/remix-solidity/src/decoder/internalCallTree.js b/remix-solidity/src/decoder/internalCallTree.js index 254affce07..5cc12a20c3 100644 --- a/remix-solidity/src/decoder/internalCallTree.js +++ b/remix-solidity/src/decoder/internalCallTree.js @@ -200,7 +200,7 @@ function includeVariableDeclaration (tree, step, sourceLocation, scopeId, newLoc }) } var functionDefinition = resolveFunctionDefinition(tree, step, previousSourceLocation) - if (functionDefinition && newLocation && traceHelper.isJumpDestInstruction(tree.traceManager.trace[step - 1])) { + if (functionDefinition && (newLocation && traceHelper.isJumpDestInstruction(tree.traceManager.trace[step - 1]) || functionDefinition.attributes.isConstructor)) { tree.functionCallStack.push(step) // means: the previous location was a function definition && JUMPDEST // => we are at the beginning of the function and input/output are setup