Constellation / ibrik

CoffeeScript meets Istanbul - code coverage tool for CoffeeScript
BSD 2-Clause "Simplified" License
79 stars 32 forks source link

ibrik fails with class without constructor #21

Closed tardyp closed 9 years ago

tardyp commented 9 years ago

testcase:

# cat test.coffee
class Foo
    bar: 1

Foo()
# ibrik cover test.coffee
Transformation error; return original code
TypeError: Cannot read property 'loc' of undefined
    at Controller.<anonymous> (/usr/local/lib/node_modules/ibrik/lib/instrumenter.js:88:38)
    at Controller.estraverse.traverse.leave (/usr/local/lib/node_modules/ibrik/lib/instrumenter.js:125:15)
    at Controller.__execute (/usr/local/lib/node_modules/ibrik/node_modules/estraverse/estraverse.js:318:31)
    at Controller.traverse (/usr/local/lib/node_modules/ibrik/node_modules/estraverse/estraverse.js:384:28)
    at Object.traverse (/usr/local/lib/node_modules/ibrik/node_modules/estraverse/estraverse.js:556:27)
    at Instrumenter.fixupLoc (/usr/local/lib/node_modules/ibrik/lib/instrumenter.js:69:25)
    at Instrumenter.instrumentSync (/usr/local/lib/node_modules/ibrik/lib/instrumenter.js:63:12)
    at /usr/local/lib/node_modules/ibrik/lib/hook.js:20:25
    at Object.require.extensions..coffee (/usr/local/lib/node_modules/ibrik/lib/hook.js:48:13)
    at Module.load (module.js:356:32)
[TypeError: Cannot read property 'loc' of undefined]
No coverage information was collected, exit without writing coverage information

rootcause: such class generates empty BlockStatement (node.body = [])