mirror of
https://github.com/jashkenas/coffeescript.git
synced 2026-01-14 09:17:55 -05:00
fixed a bug where multiple trailing comments prevented returnification
This commit is contained in:
@@ -197,11 +197,11 @@
|
||||
};
|
||||
Expressions.prototype.makeReturn = function() {
|
||||
var end, idx;
|
||||
end = this.expressions[idx = this.expressions.length - 1];
|
||||
if (end instanceof Comment) {
|
||||
end = this.expressions[idx -= 1];
|
||||
idx = this.expressions.length;
|
||||
while ((end = this.expressions[--idx]) instanceof Comment) {
|
||||
|
||||
}
|
||||
if (end && !(end instanceof Return)) {
|
||||
if (end) {
|
||||
this.expressions[idx] = end.makeReturn();
|
||||
}
|
||||
return this;
|
||||
|
||||
@@ -195,10 +195,9 @@ exports.Expressions = class Expressions extends Base
|
||||
# An Expressions node does not return its entire body, rather it
|
||||
# ensures that the final expression is returned.
|
||||
makeReturn: ->
|
||||
end = @expressions[idx = @expressions.length - 1]
|
||||
end = @expressions[idx -= 1] if end instanceof Comment
|
||||
if end and end not instanceof Return
|
||||
@expressions[idx] = end.makeReturn()
|
||||
idx = @expressions.length
|
||||
while (end = @expressions[--idx]) instanceof Comment then
|
||||
@expressions[idx] = end.makeReturn() if end
|
||||
this
|
||||
|
||||
# An **Expressions** is the only node that can serve as the root.
|
||||
|
||||
Reference in New Issue
Block a user