1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
define.class(function(require, exports){
this.atConstructor = function(message, path, line, col){
this.message = message
if(arguments.length == 2){
this.where = path
return
}
this.path = path
this.line = line
this.col = col
}
this.expand = function(path, source){
if(this.where !== undefined){
var col = 0
var line = 0
for(var i = 0; i < source.length && i < this.where; i++, col++){
if(source.charCodeAt(i) == 10) line++, col = 0
}
this.line = line + 1
this.col = col + 1
this.path = path
this.where = undefined
}
}
this.toString = function(){
return 'Dreem Error: '+this.path+(this.line!==undefined?":"+this.line+(this.col?":"+this.col:""):"")+"- " + this.message
}
}) |