docs: function parseNewExpression() {
          var callee, args, node = new Node();
  
          expectKeyword('new');
  
          if (match('.')) {
              lex();
              if (lookahead.type === Token.Identifier && lookahead.value === 'target') {
                  if (state.inFunctionBody) {
                      lex();
                      return node.finishMetaProperty('new', 'target');
                  }
              }
              throwUnexpectedToken(lookahead);
          }
  
          callee = isolateCoverGrammar(parseLeftHandSideExpression);
          args = match('(') ? parseArguments() : [];
  
          isAssignmentTarget = isBindingElement = false;
  
          return node.finishNewExpression(callee, args);
      }