refactor: move file to token property

This commit is contained in:
harttle
2016-11-16 01:06:37 +08:00
parent 03b7ee95ed
commit 40bdd7e94a
4 changed files with 26 additions and 17 deletions
+17 -3
View File
@@ -8,9 +8,10 @@ function TokenizationError(message, token) {
this.input = token.input;
this.line = token.line;
this.file = token.file;
var context = mkContext(token.input, token.line);
this.message = message + ', line:' + token.line;
this.message = mkMessage(message, token);
this.stack = context + '\n' + (this.stack || '');
}
TokenizationError.prototype = Object.create(Error.prototype);
@@ -22,9 +23,10 @@ function ParseError(e, token) {
this.input = token.input;
this.line = token.line;
this.file = token.file;
var context = mkContext(token.input, token.line);
this.message = e.message + ', line:' + token.line;
this.message = mkMessage(e.message, token);
this.stack = context + '\n' + (this.stack || '');
}
ParseError.prototype = Object.create(Error.prototype);
@@ -40,9 +42,10 @@ function RenderError(e, tpl) {
this.input = tpl.token.input;
this.line = tpl.token.line;
this.file = tpl.token.file;
var context = mkContext(tpl.token.input, tpl.token.line);
this.message = e.message + ', line:' + tpl.token.line;
this.message = mkMessage(e.message, tpl.token);
this.stack = context + '\n' + (e.stack || '');
}
RenderError.prototype = Object.create(Error.prototype);
@@ -93,6 +96,17 @@ function align(n, max) {
return blank + str;
}
function mkMessage(msg, token){
msg = msg || '';
if(token.file){
msg += ', file:' + token.file;
}
if(token.line){
msg += ', line:' + token.line;
}
return msg;
}
module.exports = {
TokenizationError,
ParseError,