'use strict'; var Node = require('./Node'); var isCompoundExpression = require('../util/isCompoundExpression'); class NewExpression extends Node { constructor(def) { super('NewExpression'); this.callee = def.callee; this.args = def.args; } generateCode(codegen) { var callee = this.callee; var args = this.args; codegen.write('new '); var wrap = isCompoundExpression(callee); if (wrap) { codegen.write('('); } codegen.generateCode(callee); if (wrap) { codegen.write(')'); } codegen.write('('); if (args && args.length) { for (let i=0, argsLen = args.length; i