   126→ * Parse module item list
   127→ *
   128→ * @see [Link](https://tc39.github.io/ecma262/#prod-ModuleItemList)
   129→ *
   130→ * @param parser  Parser object
   131→ * @param context Context masks
   132→ */
   133→function parseModuleItemList(parser: Parser, context: Context, scope: Scope | undefined): ESTree.Statement[] {
   134→  // ecma262/#prod-Module
   135→  // Module :
   136→  //    ModuleBody?
   137→  //
   138→  // ecma262/#prod-ModuleItemList
   139→  // ModuleBody :
   140→  //    ModuleItem*
   141→
   142→  nextToken(parser, context | Context.AllowRegExp);
   143→
   144→  const statements: ESTree.Statement[] = [];
   145→
   146→  while (parser.getToken() === Token.StringLiteral) {
   147→    const { tokenStart } = parser;
   148→    const token = parser.getToken();
   149→    statements.push(
   150→      parseDirective(parser, context, parseLiteral<ESTree.StringLiteral>(parser, context), token, tokenStart),
   151→    );
   152→  }
   153→
   154→  while (parser.getToken() !== Token.EOF) {
   155→    statements.push(parseModuleItem(parser, context, scope) as ESTree.Statement);
   156→  }
   157→  return statements;
   158→}
   159→
   160→/**
   161→ * Parse module item
   162→ *
   163→ * @see [Link](https://tc39.github.io/ecma262/#prod-ModuleItem)
   164→ *
   165→ * @param parser  Parser object
   166→ * @param context Context masks
   167→ * @param scope Scope object
   168→ */
   169→
   170→function parseModuleItem(parser: Parser, context: Context, scope: Scope | undefined): ESTree.Statement {
   171→  if (parser.getToken() === Token.Decorator) {
   172→    Object.assign(parser.leadingDecorators, {
   173→      start: parser.tokenStart,
   174→      decorators: parseDecorators(parser, context, undefined),
   175→    });
   176→  }
   177→
   178→  // ecma262/#prod-ModuleItem
   179→  // ModuleItem :
   180→  //    ImportDeclaration
   181→  //    ExportDeclaration
   182→  //    StatementListItem
   183→
   184→  let moduleItem;
   185→  switch (parser.getToken()) {
   186→    case Token.ExportKeyword:
   187→      moduleItem = parseExportDeclaration(parser, context, scope);
   188→      break;
   189→    case Token.ImportKeyword:
   190→      moduleItem = parseImportDeclaration(parser, context, scope);
   191→      break;
   192→    default:
   193→      moduleItem = parseStatementListItem(parser, context, scope, undefined, Origin.TopLevel, {});
   194→  }
   195→
   196→  if (parser.leadingDecorators?.decorators.length) {
   197→    parser.report(Errors.InvalidLeadingDecorator);
   198→  }
   199→  return moduleItem;
   200→}

[8713 more lines in file. Use offset=201 to continue.]