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;
};
IfNode.prototype.ensureExpressions = function(node) {
if (!(node instanceof Expressions)) {
node = new Expressions([node]);
if (node instanceof Expressions) {
return node;
} else {
return new Expressions([node]);
}
return node;
};
// Compile the **IfNode** as a regular *if-else* statement. Flattened chains
// force inner *else* bodies into statement form.

View File

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