  2720→    case Token.FunctionKeyword:
  2721→      declaration = parseFunctionDeclaration(
  2722→        parser,
  2723→        context,
  2724→        scope,
  2725→        undefined,
  2726→        Origin.TopLevel,
  2727→        1,
  2728→        HoistedFunctionFlags.Export,
  2729→        0,
  2730→        parser.tokenStart,
  2731→      );
  2732→      break;
  2733→
  2734→    case Token.LetKeyword:
  2735→      declaration = parseLexicalDeclaration(parser, context, scope, undefined, BindingKind.Let, Origin.Export);
  2736→      break;
  2737→    case Token.ConstKeyword:
  2738→      declaration = parseLexicalDeclaration(parser, context, scope, undefined, BindingKind.Const, Origin.Export);
  2739→      break;
  2740→    case Token.VarKeyword:
  2741→      declaration = parseVariableStatement(parser, context, scope, undefined, Origin.Export);
  2742→      break;
  2743→    case Token.AsyncKeyword: {
  2744→      const { tokenStart } = parser;
  2745→
  2746→      nextToken(parser, context);
  2747→
  2748→      if ((parser.flags & Flags.NewLine) === 0 && parser.getToken() === Token.FunctionKeyword) {
  2749→        declaration = parseFunctionDeclaration(
  2750→          parser,
  2751→          context,
  2752→          scope,
  2753→          undefined,
  2754→          Origin.TopLevel,
  2755→          1,
  2756→          HoistedFunctionFlags.Export,
  2757→          1,
  2758→          tokenStart,
  2759→        );
  2760→        break;
  2761→      }
  2762→    }
  2763→    // falls through
  2764→    default:
  2765→      parser.report(Errors.UnexpectedToken, KeywordDescTable[parser.getToken() & Token.Type]);
  2766→  }
  2767→
  2768→  const node: ESTree.ExportNamedDeclaration = {
  2769→    type: 'ExportNamedDeclaration',
  2770→    declaration,
  2771→    specifiers,
  2772→    source,
  2773→    attributes: attributes,
  2774→  };
  2775→
  2776→  return parser.finishNode(node, start);
  2777→}
  2778→
  2779→/**
  2780→ * Parses an expression
  2781→ *
  2782→ * @param parser  Parser object
  2783→ * @param context Context masks
  2784→ * @param canAssign
  2785→ * @param inGroup,
  2786→ * @param start,
  2787→ */
  2788→function parseExpression(
  2789→  parser: Parser,
  2790→  context: Context,
  2791→  privateScope: PrivateScope | undefined,
  2792→  canAssign: 0 | 1,
  2793→  inGroup: 0 | 1,
  2794→  start: Location,
  2795→): ESTree.Expression {
  2796→  // Expression ::
  2797→  //   AssignmentExpression
  2798→  //   Expression ',' AssignmentExpression


[6114 more lines in file. Use offset=2800 to continue.]