diff --git a/src/compiler/utils/error.js b/src/compiler/utils/error.js index 89b24ac6b2..f4925e781a 100644 --- a/src/compiler/utils/error.js +++ b/src/compiler/utils/error.js @@ -2,42 +2,41 @@ import { locate } from 'locate-character'; import get_code_frame from './get_code_frame.js'; /** -* @extends Error + * @extends Error */ class CompileError extends Error { + /** + * @type {string} + */ + code = undefined; - /** - * @type {string} - */ - code = undefined; - - /** - * @type {{ line: number; column: number }} - */ - start = undefined; + /** + * @type {{ line: number; column: number }} + */ + start = undefined; - /** - * @type {{ line: number; column: number }} - */ - end = undefined; + /** + * @type {{ line: number; column: number }} + */ + end = undefined; - /** - * @type {number} - */ - pos = undefined; + /** + * @type {number} + */ + pos = undefined; - /** - * @type {string} - */ - filename = undefined; + /** + * @type {string} + */ + filename = undefined; - /** - * @type {string} - */ - frame = undefined; - toString() { - return `${this.message} (${this.start.line}:${this.start.column})\n${this.frame}`; - } + /** + * @type {string} + */ + frame = undefined; + toString() { + return `${this.message} (${this.start.line}:${this.start.column})\n${this.frame}`; + } } /** @@ -53,19 +52,15 @@ class CompileError extends Error { * @returns {never} */ export default function error(message, props) { - const error = new CompileError(message); - error.name = props.name; - const start = locate(props.source, props.start, { offsetLine: 1 }); - const end = locate(props.source, props.end || props.start, { offsetLine: 1 }); - error.code = props.code; - error.start = start; - error.end = end; - error.pos = props.start; - error.filename = props.filename; - error.frame = get_code_frame(props.source, start.line - 1, start.column); - throw error; + const error = new CompileError(message); + error.name = props.name; + const start = locate(props.source, props.start, { offsetLine: 1 }); + const end = locate(props.source, props.end || props.start, { offsetLine: 1 }); + error.code = props.code; + error.start = start; + error.end = end; + error.pos = props.start; + error.filename = props.filename; + error.frame = get_code_frame(props.source, start.line - 1, start.column); + throw error; } - - - -