UNPKG

685 Btext/coffeescriptView Raw
1
2StackTrace = require './StackTrace'
3File = require './File'
4CompiledCoffee = require './CompiledCoffee'
5TokenMatcher = require './TokenMatcher'
6
7class Trace
8
9 constructor: (err) ->
10
11 @error = err
12 @stack = new StackTrace err.stack
13 @message = err.message
14
15 for line in @stack.lines
16
17 try
18 file = new File line.filename
19 catch e
20 file = {}
21
22 if /\.js$/.test file.filename
23
24 line.file = file
25
26 else if /\.coffee$/.test file.filename
27
28 line.file = file
29 line.row = Number TokenMatcher.match file,
30 ( new CompiledCoffee file.filename ).tokens[ line.row - 1 ]
31 line.column = null
32
33module.exports = Trace
\No newline at end of file