// Copyright (C) 2018 Leo Balter. All rights reserved. // This code is governed by the BSD license found in the LICENSE file. /*--- description: > ImportCall is a CallExpression and Expression, so it can be wrapped for new expressions, while the same production is not possible without the parentheses wrapping. esid: prod-ImportCall info: | CallExpression: ImportCall ImportCall : import( AssignmentExpression[+In, ?Yield] ) NewExpression : MemberExpression new NewExpression MemberExpression : PrimaryExpression PrimaryExpression : CoverParenthesizedExpressionAndArrowParameterList features: [dynamic-import] ---*/ assert.throws(TypeError, () => { new (import('')) }); assert.throws(TypeError, () => { new (function() {}, import('')) }); assert.sameValue( typeof new (import(''), function() {}), 'object', );