diff options
author | Leonid Logvinov <logvinov.leon@gmail.com> | 2019-01-14 19:02:32 +0800 |
---|---|---|
committer | Leonid Logvinov <logvinov.leon@gmail.com> | 2019-01-14 19:04:08 +0800 |
commit | 2581bc93e5893d43642b240d290c141f0d9419bf (patch) | |
tree | 2fa713969c802d0c8c7f6290a789267ca7404d10 /packages/sol-tracing-utils/src/trace_collector.ts | |
parent | 8b62783f4876594ad350175b12a85321e9d1a3fc (diff) | |
download | dexon-sol-tools-2581bc93e5893d43642b240d290c141f0d9419bf.tar dexon-sol-tools-2581bc93e5893d43642b240d290c141f0d9419bf.tar.gz dexon-sol-tools-2581bc93e5893d43642b240d290c141f0d9419bf.tar.bz2 dexon-sol-tools-2581bc93e5893d43642b240d290c141f0d9419bf.tar.lz dexon-sol-tools-2581bc93e5893d43642b240d290c141f0d9419bf.tar.xz dexon-sol-tools-2581bc93e5893d43642b240d290c141f0d9419bf.tar.zst dexon-sol-tools-2581bc93e5893d43642b240d290c141f0d9419bf.zip |
Fix the bug with incorrect source maps parsing by changing contract data from an array to a mapping
Diffstat (limited to 'packages/sol-tracing-utils/src/trace_collector.ts')
-rw-r--r-- | packages/sol-tracing-utils/src/trace_collector.ts | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/packages/sol-tracing-utils/src/trace_collector.ts b/packages/sol-tracing-utils/src/trace_collector.ts index 943e208cf..f5dde8762 100644 --- a/packages/sol-tracing-utils/src/trace_collector.ts +++ b/packages/sol-tracing-utils/src/trace_collector.ts @@ -56,7 +56,7 @@ export class TraceCollector { this._singleFileSubtraceHandler = singleFileSubtraceHandler; } public async writeOutputAsync(): Promise<void> { - const finalCoverage = this._collector.getFinalCoverage(); + const finalCoverage: Coverage = this._collector.getFinalCoverage(); const stringifiedCoverage = JSON.stringify(finalCoverage, null, '\t'); await mkdirpAsync('coverage'); fs.writeFileSync('coverage/coverage.json', stringifiedCoverage); @@ -80,14 +80,14 @@ export class TraceCollector { const bytecodeHex = stripHexPrefix(bytecode); const sourceMap = isContractCreation ? contractData.sourceMap : contractData.sourceMapRuntime; const pcToSourceRange = parseSourceMap(contractData.sourceCodes, sourceMap, bytecodeHex, contractData.sources); - for (let fileIndex = 0; fileIndex < contractData.sources.length; fileIndex++) { + _.map(contractData.sources, (_sourcePath: string, fileIndex: string) => { const singleFileCoverageForTrace = this._singleFileSubtraceHandler( contractData, traceInfo.subtrace, pcToSourceRange, - fileIndex, + _.parseInt(fileIndex), ); this._collector.add(singleFileCoverageForTrace); - } + }); } } |