use :node;
var Node = module.require('../Node').Node;
fn NewExpression(callee, args)
extends Node { this.type = 'NewExpression'; this.callee = callee; this.callee.parent = this; ::Object.defineProperty(this, 'arguments', { value: args, enumerable: true }); for arg in args { arg.parent = this; }
}
NewExpression.prototype.codegen = () -> {
if !super.codegen() { return; } this.callee = this.callee.codegen(); var args = this.arguments; for arg, i in args { args[i] = arg.codegen(); } return this;
};
NewExpression.prototype.hasCallExpression = () -> true;
exports.NewExpression = NewExpression;