aboutsummaryrefslogtreecommitdiffstats
path: root/packages/sol-cov/src/source_maps.ts
diff options
context:
space:
mode:
authorBrandon Millman <brandon.millman@gmail.com>2018-03-20 00:56:46 +0800
committerBrandon Millman <brandon.millman@gmail.com>2018-03-20 00:56:46 +0800
commit11bac66046e10cd152d328f03f97e04c10d9a40c (patch)
tree926741e9383264f5c121dc8f046adfabde699eec /packages/sol-cov/src/source_maps.ts
parente4ea6e1ec3693b2106b1ba28869277488ebca6d3 (diff)
parent2a438419ab3bc32dba43918cf2eb480439ef81de (diff)
downloaddexon-sol-tools-11bac66046e10cd152d328f03f97e04c10d9a40c.tar
dexon-sol-tools-11bac66046e10cd152d328f03f97e04c10d9a40c.tar.gz
dexon-sol-tools-11bac66046e10cd152d328f03f97e04c10d9a40c.tar.bz2
dexon-sol-tools-11bac66046e10cd152d328f03f97e04c10d9a40c.tar.lz
dexon-sol-tools-11bac66046e10cd152d328f03f97e04c10d9a40c.tar.xz
dexon-sol-tools-11bac66046e10cd152d328f03f97e04c10d9a40c.tar.zst
dexon-sol-tools-11bac66046e10cd152d328f03f97e04c10d9a40c.zip
Merge branch 'development' into feature/sra-report/collection-tests
* development: (26 commits) Change title Add Blake and Zach to About page Re-size Jacob and Tom's images Manually publish 0x.js back to a working state Publish Publish Fix 0x.js assets Remove assets from connect and _bundles from packages that don't generate the folder Publish Fix packages that aren't working as expected Make new packages default to public on publish Add new public packages to top-level README Update top-level package.json Fix incorrect new versions Fix path to assets Publish Updated CHANGELOGS Fix quotation marks Add a complex test for ast visitor Move opcodes to constants ...
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],
};