diff --git a/lib/coffee-script/nodes.js b/lib/coffee-script/nodes.js index bcdef0f5..9b363403 100644 --- a/lib/coffee-script/nodes.js +++ b/lib/coffee-script/nodes.js @@ -122,16 +122,19 @@ }; Base.prototype.toString = function(idt, name) { - var firstLine, lastLine, location, tree, _ref2, _ref3; + var firstLine, lastLine, location, tree; if (idt == null) { idt = ''; } if (name == null) { name = this.constructor.name; } - firstLine = ((_ref2 = this.locationData) != null ? _ref2.first_line : void 0) || "unknown"; - lastLine = ((_ref3 = this.locationData) != null ? _ref3.last_line : void 0) || "unknown"; - location = firstLine + (lastLine !== firstLine ? "-" + lastLine : "") + ": "; + location = ""; + if (this.locationData) { + firstLine = this.locationData.first_line + 1; + lastLine = this.locationData.last_line + 1; + location = firstLine + (lastLine !== firstLine ? "-" + lastLine : "") + ": "; + } tree = '\n' + idt + location + name; if (this.soak) { tree += '?'; diff --git a/src/nodes.coffee b/src/nodes.coffee index cb93be07..ba0eb5ce 100644 --- a/src/nodes.coffee +++ b/src/nodes.coffee @@ -108,9 +108,11 @@ exports.Base = class Base # `toString` representation of the node, for inspecting the parse tree. # This is what `coffee --nodes` prints out. toString: (idt = '', name = @constructor.name) -> - firstLine = @locationData?.first_line || "unknown" - lastLine = @locationData?.last_line || "unknown" - location = firstLine + (if lastLine != firstLine then "-" + lastLine else "") + ": " + location = "" + if @locationData + firstLine = @locationData.first_line + 1 + lastLine = @locationData.last_line + 1 + location = firstLine + (if lastLine != firstLine then "-" + lastLine else "") + ": " tree = '\n' + idt + location + name tree += '?' if @soak @eachChild (node) -> tree += node.toString idt + TAB