Merge pull request #658 from ethereum/retrieveCompilationResult

retrieve compilation result from remix GUI
pull/7/head
yann300 7 years ago committed by GitHub
commit 00629a0b4e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 8
      remix-debugger/src/ui/Ethdebugger.js
  2. 2
      remix-solidity/src/decoder/internalCallTree.js

@ -25,7 +25,11 @@ var css = csjs`
margin-left: 10px;
}
`
function Ethdebugger () {
function Ethdebugger (opts) {
this.opts = opts || {}
if (!this.opts.compilationResult) this.opts.compilationResult = () => { return null }
var self = this
this.event = new EventManager()
@ -107,6 +111,7 @@ Ethdebugger.prototype.setCompilationResult = function (compilationResult) {
}
Ethdebugger.prototype.debug = function (tx) {
this.setCompilationResult(this.opts.compilationResult())
if (tx instanceof Object) {
this.txBrowser.load(tx.hash)
} else if (tx instanceof String) {
@ -145,6 +150,7 @@ Ethdebugger.prototype.startDebugging = function (blockNumber, txIndex, tx) {
if (this.traceManager.isLoading) {
return
}
this.setCompilationResult(this.opts.compilationResult())
this.statusMessage = 'Loading trace...'
yo.update(this.view, this.render())
console.log('loading trace...')

@ -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

Loading…
Cancel
Save