slight refactor to IfNode::ensureExpressions

This commit is contained in:
Jeremy Ashkenas 2010-06-13 18:04:09 -04:00
parent 4ecb1bb2ed
commit 6f91331626
2 changed files with 6 additions and 6 deletions

View File

@ -1763,10 +1763,11 @@
return this; return this;
}; };
IfNode.prototype.ensureExpressions = function(node) { IfNode.prototype.ensureExpressions = function(node) {
if (!(node instanceof Expressions)) { if (node instanceof Expressions) {
node = new Expressions([node]); return node;
} else {
return new Expressions([node]);
} }
return node;
}; };
// Compile the **IfNode** as a regular *if-else* statement. Flattened chains // Compile the **IfNode** as a regular *if-else* statement. Flattened chains
// force inner *else* bodies into statement form. // force inner *else* bodies into statement form.

View File

@ -1301,12 +1301,11 @@ exports.IfNode: class IfNode extends BaseNode
makeReturn: -> makeReturn: ->
@body: and @ensureExpressions(@body.makeReturn()) @body: and @ensureExpressions(@body.makeReturn())
@elseBody: and @ensureExpressions(@elseBody.makeReturn()) @elseBody: and @ensureExpressions(@elseBody.makeReturn())
this this
ensureExpressions: (node) -> ensureExpressions: (node) ->
node: new Expressions([node]) unless node instanceof Expressions if node instanceof Expressions then node else new Expressions [node]
node
# Compile the **IfNode** as a regular *if-else* statement. Flattened chains # Compile the **IfNode** as a regular *if-else* statement. Flattened chains
# force inner *else* bodies into statement form. # force inner *else* bodies into statement form.