use :node;
var Node = module.require('../Node').Node;
fn SplatExpression(expression)
extends Node { this.type = 'SplatExpression'; this.expression = expression; this.expression.parent = this;
}
SplatExpression.prototype.codegen = () -> {
if !super.codegen() { return; } this.expression = this.expression.codegen(); return { "type": "CallExpression", "callee": { "type": "MemberExpression", "computed": false, "object": { "type": "MemberExpression", "computed": false, "object": { "type": "ArrayExpression", "elements": [] }, "property": { "type": "Identifier", "name": "slice" } }, "property": { "type": "Identifier", "name": "call" } }, "arguments": [this.expression] };
};
SplatExpression.prototype.hasCallExpression = () -> true;
exports.SplatExpression = SplatExpression;