diff --git a/src/compiler/compile/Component.ts b/src/compiler/compile/Component.ts index ee24fc700c..58d7db39ba 100644 --- a/src/compiler/compile/Component.ts +++ b/src/compiler/compile/Component.ts @@ -90,15 +90,6 @@ export default class Component { file: string; locate: (c: number) => { line: number; column: number }; - // TODO this does the same as component.locate! remove one or the other - locator: ( - search: number, - startIndex?: number - ) => { - line: number; - column: number; - }; - stylesheet: Stylesheet; aliases: Map = new Map(); @@ -140,7 +131,7 @@ export default class Component { .replace(process.cwd(), '') .replace(/^[/\\]/, '') : compile_options.filename); - this.locate = getLocator(this.source); + this.locate = getLocator(this.source, { offsetLine: 1 }); // styles this.stylesheet = new Stylesheet( @@ -438,12 +429,8 @@ export default class Component { return; } - if (!this.locator) { - this.locator = getLocator(this.source, { offsetLine: 1 }); - } - - const start = this.locator(pos.start); - const end = this.locator(pos.end); + const start = this.locate(pos.start); + const end = this.locate(pos.end); const frame = get_code_frame(this.source, start.line - 1, start.column); @@ -456,7 +443,7 @@ export default class Component { pos: pos.start, filename: this.compile_options.filename, toString: () => - `${warning.message} (${start.line + 1}:${start.column})\n${frame}`, + `${warning.message} (${start.line}:${start.column})\n${frame}`, }); } diff --git a/src/compiler/compile/render_dom/wrappers/DebugTag.ts b/src/compiler/compile/render_dom/wrappers/DebugTag.ts index 87e186f3b4..dc3a2f2857 100644 --- a/src/compiler/compile/render_dom/wrappers/DebugTag.ts +++ b/src/compiler/compile/render_dom/wrappers/DebugTag.ts @@ -30,7 +30,6 @@ export default class DebugTagWrapper extends Wrapper { const { var_lookup } = component; const start = component.locate(this.node.start + 1); - start.line += 1; const end = { line: start.line, column: start.column + 6 }; const loc = { start, end }; diff --git a/src/compiler/compile/render_dom/wrappers/EachBlock.ts b/src/compiler/compile/render_dom/wrappers/EachBlock.ts index 5c8d193f56..922679c39f 100644 --- a/src/compiler/compile/render_dom/wrappers/EachBlock.ts +++ b/src/compiler/compile/render_dom/wrappers/EachBlock.ts @@ -108,7 +108,6 @@ export default class EachBlockWrapper extends Wrapper { let c = this.node.start + 2; while (renderer.component.source[c] !== 'e') c += 1; const start = renderer.component.locate(c); - start.line += 1; const end = { line: start.line, column: start.column + 4 }; const length = { type: 'Identifier', diff --git a/src/compiler/compile/render_dom/wrappers/Element/index.ts b/src/compiler/compile/render_dom/wrappers/Element/index.ts index 3f1b411966..d7c1c7686b 100644 --- a/src/compiler/compile/render_dom/wrappers/Element/index.ts +++ b/src/compiler/compile/render_dom/wrappers/Element/index.ts @@ -354,7 +354,7 @@ export default class ElementWrapper extends Wrapper { if (renderer.options.dev) { const loc = renderer.locate(this.node.start); block.chunks.hydrate.push( - b`@add_location(${this.var}, ${renderer.file_var}, ${loc.line}, ${loc.column}, ${this.node.start});` + b`@add_location(${this.var}, ${renderer.file_var}, ${loc.line - 1}, ${loc.column}, ${this.node.start});` ); } } diff --git a/src/compiler/compile/render_dom/wrappers/shared/create_debugging_comment.ts b/src/compiler/compile/render_dom/wrappers/shared/create_debugging_comment.ts index df1ae9ff8e..e2aa0c0b41 100644 --- a/src/compiler/compile/render_dom/wrappers/shared/create_debugging_comment.ts +++ b/src/compiler/compile/render_dom/wrappers/shared/create_debugging_comment.ts @@ -26,7 +26,7 @@ export default function create_debugging_comment( } const start = locate(c); - const loc = `(${start.line + 1}:${start.column})`; + const loc = `(${start.line}:${start.column})`; return `${loc} ${source.slice(c, d)}`.replace(/\s/g, ' '); } diff --git a/src/compiler/compile/render_ssr/handlers/DebugTag.ts b/src/compiler/compile/render_ssr/handlers/DebugTag.ts index 6955d1d1e6..99323a9c4d 100644 --- a/src/compiler/compile/render_ssr/handlers/DebugTag.ts +++ b/src/compiler/compile/render_ssr/handlers/DebugTag.ts @@ -12,5 +12,5 @@ export default function(node: DebugTag, renderer: Renderer, options: RenderOptio ${node.expressions.map(e => p`${e.node.name}`)} }`; - renderer.add_expression(x`@debug(${filename ? x`"${filename}"` : x`null`}, ${line}, ${column}, ${obj})`); + renderer.add_expression(x`@debug(${filename ? x`"${filename}"` : x`null`}, ${line - 1}, ${column}, ${obj})`); }