aboutsummaryrefslogtreecommitdiffstats
path: root/packages/sol-cov/src/source_maps.ts
diff options
context:
space:
mode:
authorLeonid Logvinov <logvinov.leon@gmail.com>2018-03-15 22:42:48 +0800
committerLeonid Logvinov <logvinov.leon@gmail.com>2018-03-15 23:19:01 +0800
commitf6c01520ae75d173937f0847ac45e636b06f4146 (patch)
tree6c16d0a8050bf470fd9a7e93c88b8f840b35b604 /packages/sol-cov/src/source_maps.ts
parent40ebb533b324bf7dd454243fcb1ee092ab85f7eb (diff)
downloaddexon-sol-tools-f6c01520ae75d173937f0847ac45e636b06f4146.tar
dexon-sol-tools-f6c01520ae75d173937f0847ac45e636b06f4146.tar.gz
dexon-sol-tools-f6c01520ae75d173937f0847ac45e636b06f4146.tar.bz2
dexon-sol-tools-f6c01520ae75d173937f0847ac45e636b06f4146.tar.lz
dexon-sol-tools-f6c01520ae75d173937f0847ac45e636b06f4146.tar.xz
dexon-sol-tools-f6c01520ae75d173937f0847ac45e636b06f4146.tar.zst
dexon-sol-tools-f6c01520ae75d173937f0847ac45e636b06f4146.zip
Add tests for sol-cov
Diffstat (limited to 'packages/sol-cov/src/source_maps.ts')
-rw-r--r--packages/sol-cov/src/source_maps.ts11
1 files changed, 5 insertions, 6 deletions
diff --git a/packages/sol-cov/src/source_maps.ts b/packages/sol-cov/src/source_maps.ts
index 9b3ea9e24..694171442 100644
--- a/packages/sol-cov/src/source_maps.ts
+++ b/packages/sol-cov/src/source_maps.ts
@@ -12,12 +12,12 @@ export interface SourceLocation {
}
export function getLocationByOffset(str: string): LocationByOffset {
- const locationByOffset: LocationByOffset = {};
+ const locationByOffset: LocationByOffset = { 0: { line: 1, column: 0 } };
let currentOffset = 0;
for (const char of str.split('')) {
- const location = locationByOffset[currentOffset - 1] || { line: 1, column: 0 };
+ const location = locationByOffset[currentOffset];
const isNewline = char === '\n';
- locationByOffset[currentOffset] = {
+ locationByOffset[currentOffset + 1] = {
line: location.line + (isNewline ? 1 : 0),
column: isNewline ? 0 : location.column + 1,
};
@@ -59,9 +59,8 @@ export function parseSourceMap(
if (parsedEntry.fileIndex !== -1) {
const sourceRange = {
location: {
- start: locationByOffsetByFileIndex[parsedEntry.fileIndex][parsedEntry.offset - 1],
- end:
- locationByOffsetByFileIndex[parsedEntry.fileIndex][parsedEntry.offset + parsedEntry.length - 1],
+ start: locationByOffsetByFileIndex[parsedEntry.fileIndex][parsedEntry.offset],
+ end: locationByOffsetByFileIndex[parsedEntry.fileIndex][parsedEntry.offset + parsedEntry.length],
},
fileName: sources[parsedEntry.fileIndex],
};