whitespace adjustments

This commit is contained in:
Jeremy Ashkenas
2010-05-31 19:54:28 -04:00
parent 47fdcebb01
commit b8a4adbdc7
3 changed files with 14 additions and 13 deletions

View File

@@ -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;
})();

View File

@@ -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]]);
}

View File

@@ -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