var utils = require("./utils"); var LessError = module.exports = function LessError(e, importManager, currentFilename) { Error.call(this); var filename = e.filename || currentFilename; if (importManager && filename) { var input = importManager.contents[filename], loc = utils.getLocation(e.index, input), line = loc.line, col = loc.column, callLine = e.call && utils.getLocation(e.call, input).line, lines = input.split('\n'); this.type = e.type || 'Syntax'; this.filename = filename; this.index = e.index; this.line = typeof(line) === 'number' ? line + 1 : null; this.callLine = callLine + 1; this.callExtract = lines[callLine]; this.column = col; this.extract = [ lines[line - 1], lines[line], lines[line + 1] ]; } this.message = e.message; this.stack = e.stack; }; if (typeof Object.create === 'undefined') { var F = function () {}; F.prototype = Error.prototype; LessError.prototype = new F(); } else { LessError.prototype = Object.create(Error.prototype); } LessError.prototype.constructor = LessError;