Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
baas-ide
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
guxukai
baas-ide
Commits
6f411db3
Commit
6f411db3
authored
Jul 17, 2020
by
Iuri Matias
Committed by
aniket-engg
Aug 25, 2020
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
refactor extractSourceMap
parent
826855f3
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
9 additions
and
11 deletions
+9
-11
sourceLocationTracker.js
libs/remix-lib/src/sourceLocationTracker.js
+9
-11
No files found.
libs/remix-lib/src/sourceLocationTracker.js
View file @
6f411db3
...
...
@@ -40,8 +40,7 @@ SourceLocationTracker.prototype.getSourceLocationFromInstructionIndex = function
*/
SourceLocationTracker
.
prototype
.
getSourceLocationFromVMTraceIndex
=
function
(
address
,
vmtraceStepIndex
,
contracts
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
extractSourceMap
(
this
,
this
.
codeManager
,
address
,
contracts
,
(
error
,
sourceMap
)
=>
{
if
(
!
error
)
{
extractSourceMap
(
this
,
this
.
codeManager
,
address
,
contracts
).
then
((
sourceMap
)
=>
{
this
.
codeManager
.
getInstructionIndex
(
address
,
vmtraceStepIndex
,
(
error
,
index
)
=>
{
if
(
error
)
{
reject
(
error
)
...
...
@@ -49,10 +48,7 @@ SourceLocationTracker.prototype.getSourceLocationFromVMTraceIndex = function (ad
resolve
(
this
.
sourceMappingDecoder
.
atIndex
(
index
,
sourceMap
))
}
})
}
else
{
reject
(
error
)
}
})
}).
catch
(
reject
)
})
}
...
...
@@ -78,22 +74,24 @@ function getSourceMap (address, code, contracts) {
return
null
}
function
extractSourceMap
(
self
,
codeManager
,
address
,
contracts
,
cb
)
{
if
(
self
.
sourceMapByAddress
[
address
])
return
cb
(
null
,
self
.
sourceMapByAddress
[
address
])
function
extractSourceMap
(
self
,
codeManager
,
address
,
contracts
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
if
(
self
.
sourceMapByAddress
[
address
])
return
resolve
(
self
.
sourceMapByAddress
[
address
])
codeManager
.
getCode
(
address
,
(
error
,
result
)
=>
{
if
(
!
error
)
{
const
sourceMap
=
getSourceMap
(
address
,
result
.
bytecode
,
contracts
)
if
(
sourceMap
)
{
if
(
!
helper
.
isContractCreation
(
address
))
self
.
sourceMapByAddress
[
address
]
=
sourceMap
cb
(
null
,
sourceMap
)
resolve
(
sourceMap
)
}
else
{
cb
(
'no sourcemap associated with the code '
+
address
)
reject
(
'no sourcemap associated with the code '
+
address
)
}
}
else
{
cb
(
error
)
reject
(
error
)
}
})
})
}
module
.
exports
=
SourceLocationTracker
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment