mirror of
https://github.com/jashkenas/coffeescript.git
synced 2026-05-03 03:00:14 -04:00
whitespace adjustments
This commit is contained in:
16
lib/nodes.js
16
lib/nodes.js
@@ -733,7 +733,7 @@
|
||||
// Compiles the range's source variables -- where it starts and where it ends.
|
||||
// But only if they need to be cached to avoid double evaluation.
|
||||
RangeNode.prototype.compile_variables = function(o) {
|
||||
var _b, _c, parts, tail;
|
||||
var _b, _c, parts;
|
||||
_b = this.from.compile_reference(o, true);
|
||||
this.from = _b[0];
|
||||
this.from_var = _b[1];
|
||||
@@ -747,11 +747,10 @@
|
||||
if (this.to !== this.to_var) {
|
||||
parts.push(this.to.compile(o));
|
||||
}
|
||||
tail = ("\n" + o.indent);
|
||||
if (parts.length) {
|
||||
return "" + (parts.join('; ')) + ";" + tail;
|
||||
return "" + (parts.join('; ')) + ";\n" + o.indent;
|
||||
} else {
|
||||
return tail;
|
||||
return '';
|
||||
}
|
||||
};
|
||||
// When compiled normally, the range returns the contents of the *for loop*
|
||||
@@ -1621,7 +1620,7 @@
|
||||
// comprehensions. Some of the generated code can be shared in common, and
|
||||
// some cannot.
|
||||
ForNode.prototype.compile_node = function(o) {
|
||||
var body, body_dent, close, for_part, index, ivar, lvar, name, range, return_result, rvar, scope, set_result, source, source_part, step_part, svar, top_level, var_part, vars;
|
||||
var body, body_dent, close, for_part, index, ivar, lvar, name, range, return_result, rvar, scope, source, source_part, step_part, svar, top_level, var_part, vars;
|
||||
top_level = del(o, 'top') && !this.returns;
|
||||
range = this.source instanceof ValueNode && this.source.base instanceof RangeNode && !this.source.properties.length;
|
||||
source = range ? this.source.base : this.source;
|
||||
@@ -1649,7 +1648,7 @@
|
||||
}));
|
||||
} else {
|
||||
svar = scope.free_variable();
|
||||
source_part = ("" + svar + " = " + (this.source.compile(o)) + ";\n" + this.tab);
|
||||
source_part = ("" + svar + " = " + (this.source.compile(o)) + ";");
|
||||
if (this.pattern) {
|
||||
var_part = new AssignNode(this.name, literal(("" + svar + "[" + ivar + "]"))).compile(merge(o, {
|
||||
indent: this.idt(1),
|
||||
@@ -1666,7 +1665,8 @@
|
||||
for_part = ("" + ivar + " = 0, " + lvar + " = " + (svar) + ".length; " + ivar + " < " + lvar + "; " + step_part);
|
||||
}
|
||||
}
|
||||
set_result = rvar ? this.idt() + rvar + ' = []; ' : this.idt();
|
||||
source_part = (rvar ? ("" + rvar + " = []; ") : '') + source_part;
|
||||
source_part = source_part ? ("" + this.tab + source_part + "\n" + this.tab) : this.tab;
|
||||
return_result = this.compile_return_value(rvar, o);
|
||||
if (top_level && body.contains(function(n) {
|
||||
return n instanceof CodeNode;
|
||||
@@ -1684,7 +1684,7 @@
|
||||
}));
|
||||
vars = range ? name : ("" + name + ", " + ivar);
|
||||
close = this.object ? '}}' : '}';
|
||||
return "" + set_result + (source_part) + "for (" + for_part + ") {\n" + var_part + body + "\n" + this.tab + close + return_result;
|
||||
return "" + (source_part) + "for (" + for_part + ") {\n" + var_part + body + "\n" + this.tab + close + return_result;
|
||||
};
|
||||
return ForNode;
|
||||
})();
|
||||
|
||||
@@ -148,6 +148,7 @@
|
||||
close_calls = __bind(function(i) {
|
||||
var _c, size, tmp;
|
||||
(_c = stack[stack.length - 1]);
|
||||
|
||||
for (tmp = 0; tmp < _c; tmp += 1) {
|
||||
this.tokens.splice(i, 0, ['CALL_END', ')', this.tokens[i][2]]);
|
||||
}
|
||||
|
||||
@@ -541,8 +541,7 @@ exports.RangeNode: class RangeNode extends BaseNode
|
||||
parts: []
|
||||
parts.push @from.compile o if @from isnt @from_var
|
||||
parts.push @to.compile o if @to isnt @to_var
|
||||
tail: "\n$o.indent"
|
||||
if parts.length then "${parts.join('; ')};$tail" else tail
|
||||
if parts.length then "${parts.join('; ')};\n$o.indent" else ''
|
||||
|
||||
# When compiled normally, the range returns the contents of the *for loop*
|
||||
# needed to iterate over the values in the range. Used by comprehensions.
|
||||
@@ -1226,7 +1225,7 @@ exports.ForNode: class ForNode extends BaseNode
|
||||
for_part: source.compile merge o, {index: ivar, step: @step}
|
||||
else
|
||||
svar: scope.free_variable()
|
||||
source_part: "$svar = ${ @source.compile(o) };\n$@tab"
|
||||
source_part: "$svar = ${ @source.compile(o) };"
|
||||
if @pattern
|
||||
var_part: new AssignNode(@name, literal("$svar[$ivar]")).compile(merge o, {indent: @idt(1), top: true}) + "\n"
|
||||
else
|
||||
@@ -1235,7 +1234,8 @@ exports.ForNode: class ForNode extends BaseNode
|
||||
lvar: scope.free_variable()
|
||||
step_part: if @step then "$ivar += ${ @step.compile(o) }" else "$ivar++"
|
||||
for_part: "$ivar = 0, $lvar = ${svar}.length; $ivar < $lvar; $step_part"
|
||||
set_result: if rvar then @idt() + rvar + ' = []; ' else @idt()
|
||||
source_part: (if rvar then "$rvar = []; " else '') + source_part
|
||||
source_part: if source_part then "$@tab$source_part\n$@tab" else @tab
|
||||
return_result: @compile_return_value(rvar, o)
|
||||
|
||||
body: ClosureNode.wrap(body, true) if top_level and body.contains (n) -> n instanceof CodeNode
|
||||
@@ -1247,7 +1247,7 @@ exports.ForNode: class ForNode extends BaseNode
|
||||
body: body.compile(merge(o, {indent: body_dent, top: true}))
|
||||
vars: if range then name else "$name, $ivar"
|
||||
close: if @object then '}}' else '}'
|
||||
"$set_result${source_part}for ($for_part) {\n$var_part$body\n$@tab$close$return_result"
|
||||
"${source_part}for ($for_part) {\n$var_part$body\n$@tab$close$return_result"
|
||||
|
||||
#### IfNode
|
||||
|
||||
|
||||
Reference in New Issue
Block a user