         computed: true
         object:
           type: 'Identifier'
-          name: '_$jscoverage'
+          name: coverageVar
         property:
           type: 'Literal'
           value: filename


    output = []
    output.push "/* automatically generated by jscov - do not edit */"
    output.push "if (typeof _$jscoverage === 'undefined') _$jscoverage = {};"
    output.push "if (! _$jscoverage['#{filename}']) {"
    output.push "  _$jscoverage['#{filename}'] = [];"
    trackedLines.forEach (line) ->
      output.push "  _$jscoverage['#{filename}'][#{line}] = 0;"
    output.push "}"
    output.push coveredCode
    output.push "_$jscoverage['#{filename}'].source = [" + originalSource.join(",") + "];"

    output.join('\n') # should maybe windows style line-endings be used here in some cases?


escodegen = require 'escodegen'
wrench = require 'wrench'
coffee = require 'coffee-script'


coverageVar = '_$jscoverage'


# Tempting to use eval here, but I went with a more verbose solution
