@rollup/wasm-node 4.17.2 → 4.18.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.17.2
4
- Tue, 30 Apr 2024 05:00:09 GMT - commit 5e955a1c2c5e080f80f20f650da9b44909d65d56
3
+ Rollup.js v4.18.1
4
+ Mon, 08 Jul 2024 15:24:39 GMT - commit 21f9a4949358b60801c948cd4777d7a39d9e6de0
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -10,6 +10,8 @@
10
10
  import { parse, parseAsync } from '../../native.js';
11
11
  import { resolve, basename, extname, dirname } from 'node:path';
12
12
 
13
+ // This file is generated by scripts/generate-node-types.js.
14
+ // Do not edit this file directly.
13
15
  const ArrowFunctionExpression = 'ArrowFunctionExpression';
14
16
  const BlockStatement = 'BlockStatement';
15
17
  const CallExpression = 'CallExpression';
@@ -23,6 +25,7 @@ const ParseError = 'ParseError';
23
25
  const Program = 'Program';
24
26
  const Property = 'Property';
25
27
  const ReturnStatement = 'ReturnStatement';
28
+ const StaticBlock = 'StaticBlock';
26
29
  const TemplateLiteral = 'TemplateLiteral';
27
30
  const VariableDeclarator = 'VariableDeclarator';
28
31
 
@@ -121,11 +124,6 @@ const convertAnnotation = (position, buffer) => {
121
124
  const type = FIXED_STRINGS[buffer[position]];
122
125
  return { end, start, type };
123
126
  };
124
- const convertString = (position, buffer, readString) => {
125
- const length = buffer[position++];
126
- const bytePosition = position << 2;
127
- return readString(bytePosition, length);
128
- };
129
127
 
130
128
  /** @typedef {import('./types').Location} Location */
131
129
 
@@ -1048,8 +1046,8 @@ function warnDeprecationWithOptions(deprecation, urlSnippet, activeDeprecation,
1048
1046
 
1049
1047
  // This file is generated by scripts/generate-buffer-to-ast.js.
1050
1048
  // Do not edit this file directly.
1051
- function convertProgram(buffer, readString) {
1052
- const node = convertNode(0, new Uint32Array(buffer), readString);
1049
+ function convertProgram(buffer) {
1050
+ const node = convertNode(0, buffer);
1053
1051
  switch (node.type) {
1054
1052
  case PanicError: {
1055
1053
  return error(getRollupError(logParseError(node.message)));
@@ -1064,1104 +1062,796 @@ function convertProgram(buffer, readString) {
1064
1062
  }
1065
1063
  /* eslint-disable sort-keys */
1066
1064
  const nodeConverters = [
1067
- function panicError(position, buffer, readString) {
1068
- const start = buffer[position++];
1069
- const end = buffer[position++];
1070
- const message = convertString(buffer[position], buffer, readString);
1065
+ function panicError(position, buffer) {
1071
1066
  return {
1072
1067
  type: 'PanicError',
1073
- start,
1074
- end,
1075
- message
1068
+ start: buffer[position],
1069
+ end: buffer[position + 1],
1070
+ message: buffer.convertString(buffer[position + 2])
1076
1071
  };
1077
1072
  },
1078
- function parseError(position, buffer, readString) {
1079
- const start = buffer[position++];
1080
- const end = buffer[position++];
1081
- const message = convertString(buffer[position], buffer, readString);
1073
+ function parseError(position, buffer) {
1082
1074
  return {
1083
1075
  type: 'ParseError',
1084
- start,
1085
- end,
1086
- message
1076
+ start: buffer[position],
1077
+ end: buffer[position + 1],
1078
+ message: buffer.convertString(buffer[position + 2])
1087
1079
  };
1088
1080
  },
1089
- function arrayExpression(position, buffer, readString) {
1090
- const start = buffer[position++];
1091
- const end = buffer[position++];
1092
- const elements = convertNodeList(buffer[position], buffer, readString);
1081
+ function arrayExpression(position, buffer) {
1093
1082
  return {
1094
1083
  type: 'ArrayExpression',
1095
- start,
1096
- end,
1097
- elements
1084
+ start: buffer[position],
1085
+ end: buffer[position + 1],
1086
+ elements: convertNodeList(buffer[position + 2], buffer)
1098
1087
  };
1099
1088
  },
1100
- function arrayPattern(position, buffer, readString) {
1101
- const start = buffer[position++];
1102
- const end = buffer[position++];
1103
- const elements = convertNodeList(buffer[position], buffer, readString);
1089
+ function arrayPattern(position, buffer) {
1104
1090
  return {
1105
1091
  type: 'ArrayPattern',
1106
- start,
1107
- end,
1108
- elements
1109
- };
1110
- },
1111
- function arrowFunctionExpression(position, buffer, readString) {
1112
- const start = buffer[position++];
1113
- const end = buffer[position++];
1114
- const flags = buffer[position++];
1115
- const async = (flags & 1) === 1;
1116
- const expression = (flags & 2) === 2;
1117
- const generator = (flags & 4) === 4;
1118
- const annotations = convertAnnotations(buffer[position++], buffer);
1119
- const parameters = convertNodeList(buffer[position++], buffer, readString);
1120
- const body = convertNode(buffer[position], buffer, readString);
1092
+ start: buffer[position],
1093
+ end: buffer[position + 1],
1094
+ elements: convertNodeList(buffer[position + 2], buffer)
1095
+ };
1096
+ },
1097
+ function arrowFunctionExpression(position, buffer) {
1098
+ const flags = buffer[position + 2];
1099
+ const annotations = convertAnnotations(buffer[position + 3], buffer);
1121
1100
  return {
1122
1101
  type: 'ArrowFunctionExpression',
1123
- start,
1124
- end,
1125
- async,
1126
- expression,
1127
- generator,
1102
+ start: buffer[position],
1103
+ end: buffer[position + 1],
1104
+ async: (flags & 1) === 1,
1105
+ expression: (flags & 2) === 2,
1106
+ generator: (flags & 4) === 4,
1128
1107
  ...(annotations.length > 0 ? { [ANNOTATION_KEY]: annotations } : {}),
1129
- params: parameters,
1130
- body,
1108
+ params: convertNodeList(buffer[position + 4], buffer),
1109
+ body: convertNode(buffer[position + 5], buffer),
1131
1110
  id: null
1132
1111
  };
1133
1112
  },
1134
- function assignmentExpression(position, buffer, readString) {
1135
- const start = buffer[position++];
1136
- const end = buffer[position++];
1137
- const operator = FIXED_STRINGS[buffer[position++]];
1138
- const left = convertNode(buffer[position++], buffer, readString);
1139
- const right = convertNode(buffer[position], buffer, readString);
1113
+ function assignmentExpression(position, buffer) {
1140
1114
  return {
1141
1115
  type: 'AssignmentExpression',
1142
- start,
1143
- end,
1144
- operator,
1145
- left,
1146
- right
1116
+ start: buffer[position],
1117
+ end: buffer[position + 1],
1118
+ operator: FIXED_STRINGS[buffer[position + 2]],
1119
+ left: convertNode(buffer[position + 3], buffer),
1120
+ right: convertNode(buffer[position + 4], buffer)
1147
1121
  };
1148
1122
  },
1149
- function assignmentPattern(position, buffer, readString) {
1150
- const start = buffer[position++];
1151
- const end = buffer[position++];
1152
- const left = convertNode(buffer[position++], buffer, readString);
1153
- const right = convertNode(buffer[position], buffer, readString);
1123
+ function assignmentPattern(position, buffer) {
1154
1124
  return {
1155
1125
  type: 'AssignmentPattern',
1156
- start,
1157
- end,
1158
- left,
1159
- right
1126
+ start: buffer[position],
1127
+ end: buffer[position + 1],
1128
+ left: convertNode(buffer[position + 2], buffer),
1129
+ right: convertNode(buffer[position + 3], buffer)
1160
1130
  };
1161
1131
  },
1162
- function awaitExpression(position, buffer, readString) {
1163
- const start = buffer[position++];
1164
- const end = buffer[position++];
1165
- const argument = convertNode(buffer[position], buffer, readString);
1132
+ function awaitExpression(position, buffer) {
1166
1133
  return {
1167
1134
  type: 'AwaitExpression',
1168
- start,
1169
- end,
1170
- argument
1135
+ start: buffer[position],
1136
+ end: buffer[position + 1],
1137
+ argument: convertNode(buffer[position + 2], buffer)
1171
1138
  };
1172
1139
  },
1173
- function binaryExpression(position, buffer, readString) {
1174
- const start = buffer[position++];
1175
- const end = buffer[position++];
1176
- const operator = FIXED_STRINGS[buffer[position++]];
1177
- const left = convertNode(buffer[position++], buffer, readString);
1178
- const right = convertNode(buffer[position], buffer, readString);
1140
+ function binaryExpression(position, buffer) {
1179
1141
  return {
1180
1142
  type: 'BinaryExpression',
1181
- start,
1182
- end,
1183
- operator,
1184
- left,
1185
- right
1143
+ start: buffer[position],
1144
+ end: buffer[position + 1],
1145
+ operator: FIXED_STRINGS[buffer[position + 2]],
1146
+ left: convertNode(buffer[position + 3], buffer),
1147
+ right: convertNode(buffer[position + 4], buffer)
1186
1148
  };
1187
1149
  },
1188
- function blockStatement(position, buffer, readString) {
1189
- const start = buffer[position++];
1190
- const end = buffer[position++];
1191
- const body = convertNodeList(buffer[position], buffer, readString);
1150
+ function blockStatement(position, buffer) {
1192
1151
  return {
1193
1152
  type: 'BlockStatement',
1194
- start,
1195
- end,
1196
- body
1153
+ start: buffer[position],
1154
+ end: buffer[position + 1],
1155
+ body: convertNodeList(buffer[position + 2], buffer)
1197
1156
  };
1198
1157
  },
1199
- function breakStatement(position, buffer, readString) {
1200
- const start = buffer[position++];
1201
- const end = buffer[position++];
1202
- const labelPosition = buffer[position];
1203
- const label = labelPosition === 0 ? null : convertNode(labelPosition, buffer, readString);
1158
+ function breakStatement(position, buffer) {
1159
+ const labelPosition = buffer[position + 2];
1204
1160
  return {
1205
1161
  type: 'BreakStatement',
1206
- start,
1207
- end,
1208
- label
1162
+ start: buffer[position],
1163
+ end: buffer[position + 1],
1164
+ label: labelPosition === 0 ? null : convertNode(labelPosition, buffer)
1209
1165
  };
1210
1166
  },
1211
- function callExpression(position, buffer, readString) {
1212
- const start = buffer[position++];
1213
- const end = buffer[position++];
1214
- const flags = buffer[position++];
1215
- const optional = (flags & 1) === 1;
1216
- const annotations = convertAnnotations(buffer[position++], buffer);
1217
- const callee = convertNode(buffer[position++], buffer, readString);
1218
- const callArguments = convertNodeList(buffer[position], buffer, readString);
1167
+ function callExpression(position, buffer) {
1168
+ const flags = buffer[position + 2];
1169
+ const annotations = convertAnnotations(buffer[position + 3], buffer);
1219
1170
  return {
1220
1171
  type: 'CallExpression',
1221
- start,
1222
- end,
1223
- optional,
1172
+ start: buffer[position],
1173
+ end: buffer[position + 1],
1174
+ optional: (flags & 1) === 1,
1224
1175
  ...(annotations.length > 0 ? { [ANNOTATION_KEY]: annotations } : {}),
1225
- callee,
1226
- arguments: callArguments
1176
+ callee: convertNode(buffer[position + 4], buffer),
1177
+ arguments: convertNodeList(buffer[position + 5], buffer)
1227
1178
  };
1228
1179
  },
1229
- function catchClause(position, buffer, readString) {
1230
- const start = buffer[position++];
1231
- const end = buffer[position++];
1232
- const parameterPosition = buffer[position++];
1233
- const parameter = parameterPosition === 0 ? null : convertNode(parameterPosition, buffer, readString);
1234
- const body = convertNode(buffer[position], buffer, readString);
1180
+ function catchClause(position, buffer) {
1181
+ const parameterPosition = buffer[position + 2];
1235
1182
  return {
1236
1183
  type: 'CatchClause',
1237
- start,
1238
- end,
1239
- param: parameter,
1240
- body
1184
+ start: buffer[position],
1185
+ end: buffer[position + 1],
1186
+ param: parameterPosition === 0 ? null : convertNode(parameterPosition, buffer),
1187
+ body: convertNode(buffer[position + 3], buffer)
1241
1188
  };
1242
1189
  },
1243
- function chainExpression(position, buffer, readString) {
1244
- const start = buffer[position++];
1245
- const end = buffer[position++];
1246
- const expression = convertNode(buffer[position], buffer, readString);
1190
+ function chainExpression(position, buffer) {
1247
1191
  return {
1248
1192
  type: 'ChainExpression',
1249
- start,
1250
- end,
1251
- expression
1193
+ start: buffer[position],
1194
+ end: buffer[position + 1],
1195
+ expression: convertNode(buffer[position + 2], buffer)
1252
1196
  };
1253
1197
  },
1254
- function classBody(position, buffer, readString) {
1255
- const start = buffer[position++];
1256
- const end = buffer[position++];
1257
- const body = convertNodeList(buffer[position], buffer, readString);
1198
+ function classBody(position, buffer) {
1258
1199
  return {
1259
1200
  type: 'ClassBody',
1260
- start,
1261
- end,
1262
- body
1201
+ start: buffer[position],
1202
+ end: buffer[position + 1],
1203
+ body: convertNodeList(buffer[position + 2], buffer)
1263
1204
  };
1264
1205
  },
1265
- function classDeclaration(position, buffer, readString) {
1266
- const start = buffer[position++];
1267
- const end = buffer[position++];
1268
- const idPosition = buffer[position++];
1269
- const id = idPosition === 0 ? null : convertNode(idPosition, buffer, readString);
1270
- const superClassPosition = buffer[position++];
1271
- const superClass = superClassPosition === 0 ? null : convertNode(superClassPosition, buffer, readString);
1272
- const body = convertNode(buffer[position], buffer, readString);
1206
+ function classDeclaration(position, buffer) {
1207
+ const idPosition = buffer[position + 2];
1208
+ const superClassPosition = buffer[position + 3];
1273
1209
  return {
1274
1210
  type: 'ClassDeclaration',
1275
- start,
1276
- end,
1277
- id,
1278
- superClass,
1279
- body
1280
- };
1281
- },
1282
- function classExpression(position, buffer, readString) {
1283
- const start = buffer[position++];
1284
- const end = buffer[position++];
1285
- const idPosition = buffer[position++];
1286
- const id = idPosition === 0 ? null : convertNode(idPosition, buffer, readString);
1287
- const superClassPosition = buffer[position++];
1288
- const superClass = superClassPosition === 0 ? null : convertNode(superClassPosition, buffer, readString);
1289
- const body = convertNode(buffer[position], buffer, readString);
1211
+ start: buffer[position],
1212
+ end: buffer[position + 1],
1213
+ id: idPosition === 0 ? null : convertNode(idPosition, buffer),
1214
+ superClass: superClassPosition === 0 ? null : convertNode(superClassPosition, buffer),
1215
+ body: convertNode(buffer[position + 4], buffer)
1216
+ };
1217
+ },
1218
+ function classExpression(position, buffer) {
1219
+ const idPosition = buffer[position + 2];
1220
+ const superClassPosition = buffer[position + 3];
1290
1221
  return {
1291
1222
  type: 'ClassExpression',
1292
- start,
1293
- end,
1294
- id,
1295
- superClass,
1296
- body
1223
+ start: buffer[position],
1224
+ end: buffer[position + 1],
1225
+ id: idPosition === 0 ? null : convertNode(idPosition, buffer),
1226
+ superClass: superClassPosition === 0 ? null : convertNode(superClassPosition, buffer),
1227
+ body: convertNode(buffer[position + 4], buffer)
1297
1228
  };
1298
1229
  },
1299
- function conditionalExpression(position, buffer, readString) {
1300
- const start = buffer[position++];
1301
- const end = buffer[position++];
1302
- const test = convertNode(buffer[position++], buffer, readString);
1303
- const consequent = convertNode(buffer[position++], buffer, readString);
1304
- const alternate = convertNode(buffer[position], buffer, readString);
1230
+ function conditionalExpression(position, buffer) {
1305
1231
  return {
1306
1232
  type: 'ConditionalExpression',
1307
- start,
1308
- end,
1309
- test,
1310
- consequent,
1311
- alternate
1233
+ start: buffer[position],
1234
+ end: buffer[position + 1],
1235
+ test: convertNode(buffer[position + 2], buffer),
1236
+ consequent: convertNode(buffer[position + 3], buffer),
1237
+ alternate: convertNode(buffer[position + 4], buffer)
1312
1238
  };
1313
1239
  },
1314
- function continueStatement(position, buffer, readString) {
1315
- const start = buffer[position++];
1316
- const end = buffer[position++];
1317
- const labelPosition = buffer[position];
1318
- const label = labelPosition === 0 ? null : convertNode(labelPosition, buffer, readString);
1240
+ function continueStatement(position, buffer) {
1241
+ const labelPosition = buffer[position + 2];
1319
1242
  return {
1320
1243
  type: 'ContinueStatement',
1321
- start,
1322
- end,
1323
- label
1244
+ start: buffer[position],
1245
+ end: buffer[position + 1],
1246
+ label: labelPosition === 0 ? null : convertNode(labelPosition, buffer)
1324
1247
  };
1325
1248
  },
1326
1249
  function debuggerStatement(position, buffer) {
1327
- const start = buffer[position++];
1328
- const end = buffer[position++];
1329
1250
  return {
1330
1251
  type: 'DebuggerStatement',
1331
- start,
1332
- end
1252
+ start: buffer[position],
1253
+ end: buffer[position + 1]
1333
1254
  };
1334
1255
  },
1335
- function directive(position, buffer, readString) {
1336
- const start = buffer[position++];
1337
- const end = buffer[position++];
1338
- const directive = convertString(buffer[position++], buffer, readString);
1339
- const expression = convertNode(buffer[position], buffer, readString);
1256
+ function directive(position, buffer) {
1340
1257
  return {
1341
1258
  type: 'ExpressionStatement',
1342
- start,
1343
- end,
1344
- directive,
1345
- expression
1259
+ start: buffer[position],
1260
+ end: buffer[position + 1],
1261
+ directive: buffer.convertString(buffer[position + 2]),
1262
+ expression: convertNode(buffer[position + 3], buffer)
1346
1263
  };
1347
1264
  },
1348
- function doWhileStatement(position, buffer, readString) {
1349
- const start = buffer[position++];
1350
- const end = buffer[position++];
1351
- const body = convertNode(buffer[position++], buffer, readString);
1352
- const test = convertNode(buffer[position], buffer, readString);
1265
+ function doWhileStatement(position, buffer) {
1353
1266
  return {
1354
1267
  type: 'DoWhileStatement',
1355
- start,
1356
- end,
1357
- body,
1358
- test
1268
+ start: buffer[position],
1269
+ end: buffer[position + 1],
1270
+ body: convertNode(buffer[position + 2], buffer),
1271
+ test: convertNode(buffer[position + 3], buffer)
1359
1272
  };
1360
1273
  },
1361
1274
  function emptyStatement(position, buffer) {
1362
- const start = buffer[position++];
1363
- const end = buffer[position++];
1364
1275
  return {
1365
1276
  type: 'EmptyStatement',
1366
- start,
1367
- end
1277
+ start: buffer[position],
1278
+ end: buffer[position + 1]
1368
1279
  };
1369
1280
  },
1370
- function exportAllDeclaration(position, buffer, readString) {
1371
- const start = buffer[position++];
1372
- const end = buffer[position++];
1373
- const exportedPosition = buffer[position++];
1374
- const exported = exportedPosition === 0 ? null : convertNode(exportedPosition, buffer, readString);
1375
- const source = convertNode(buffer[position++], buffer, readString);
1376
- const attributes = convertNodeList(buffer[position], buffer, readString);
1281
+ function exportAllDeclaration(position, buffer) {
1282
+ const exportedPosition = buffer[position + 2];
1377
1283
  return {
1378
1284
  type: 'ExportAllDeclaration',
1379
- start,
1380
- end,
1381
- exported,
1382
- source,
1383
- attributes
1285
+ start: buffer[position],
1286
+ end: buffer[position + 1],
1287
+ exported: exportedPosition === 0 ? null : convertNode(exportedPosition, buffer),
1288
+ source: convertNode(buffer[position + 3], buffer),
1289
+ attributes: convertNodeList(buffer[position + 4], buffer)
1384
1290
  };
1385
1291
  },
1386
- function exportDefaultDeclaration(position, buffer, readString) {
1387
- const start = buffer[position++];
1388
- const end = buffer[position++];
1389
- const declaration = convertNode(buffer[position], buffer, readString);
1292
+ function exportDefaultDeclaration(position, buffer) {
1390
1293
  return {
1391
1294
  type: 'ExportDefaultDeclaration',
1392
- start,
1393
- end,
1394
- declaration
1295
+ start: buffer[position],
1296
+ end: buffer[position + 1],
1297
+ declaration: convertNode(buffer[position + 2], buffer)
1395
1298
  };
1396
1299
  },
1397
- function exportNamedDeclaration(position, buffer, readString) {
1398
- const start = buffer[position++];
1399
- const end = buffer[position++];
1400
- const specifiers = convertNodeList(buffer[position++], buffer, readString);
1401
- const sourcePosition = buffer[position++];
1402
- const source = sourcePosition === 0 ? null : convertNode(sourcePosition, buffer, readString);
1403
- const attributes = convertNodeList(buffer[position++], buffer, readString);
1404
- const declarationPosition = buffer[position];
1405
- const declaration = declarationPosition === 0 ? null : convertNode(declarationPosition, buffer, readString);
1300
+ function exportNamedDeclaration(position, buffer) {
1301
+ const sourcePosition = buffer[position + 3];
1302
+ const declarationPosition = buffer[position + 5];
1406
1303
  return {
1407
1304
  type: 'ExportNamedDeclaration',
1408
- start,
1409
- end,
1410
- specifiers,
1411
- source,
1412
- attributes,
1413
- declaration
1305
+ start: buffer[position],
1306
+ end: buffer[position + 1],
1307
+ specifiers: convertNodeList(buffer[position + 2], buffer),
1308
+ source: sourcePosition === 0 ? null : convertNode(sourcePosition, buffer),
1309
+ attributes: convertNodeList(buffer[position + 4], buffer),
1310
+ declaration: declarationPosition === 0 ? null : convertNode(declarationPosition, buffer)
1414
1311
  };
1415
1312
  },
1416
- function exportSpecifier(position, buffer, readString) {
1417
- const start = buffer[position++];
1418
- const end = buffer[position++];
1419
- const local = convertNode(buffer[position++], buffer, readString);
1420
- const exportedPosition = buffer[position];
1313
+ function exportSpecifier(position, buffer) {
1314
+ const local = convertNode(buffer[position + 2], buffer);
1315
+ const exportedPosition = buffer[position + 3];
1421
1316
  return {
1422
1317
  type: 'ExportSpecifier',
1423
- start,
1424
- end,
1318
+ start: buffer[position],
1319
+ end: buffer[position + 1],
1425
1320
  local,
1426
- exported: exportedPosition === 0 ? { ...local } : convertNode(exportedPosition, buffer, readString)
1321
+ exported: exportedPosition === 0 ? { ...local } : convertNode(exportedPosition, buffer)
1427
1322
  };
1428
1323
  },
1429
- function expressionStatement(position, buffer, readString) {
1430
- const start = buffer[position++];
1431
- const end = buffer[position++];
1432
- const expression = convertNode(buffer[position], buffer, readString);
1324
+ function expressionStatement(position, buffer) {
1433
1325
  return {
1434
1326
  type: 'ExpressionStatement',
1435
- start,
1436
- end,
1437
- expression
1327
+ start: buffer[position],
1328
+ end: buffer[position + 1],
1329
+ expression: convertNode(buffer[position + 2], buffer)
1438
1330
  };
1439
1331
  },
1440
- function forInStatement(position, buffer, readString) {
1441
- const start = buffer[position++];
1442
- const end = buffer[position++];
1443
- const left = convertNode(buffer[position++], buffer, readString);
1444
- const right = convertNode(buffer[position++], buffer, readString);
1445
- const body = convertNode(buffer[position], buffer, readString);
1332
+ function forInStatement(position, buffer) {
1446
1333
  return {
1447
1334
  type: 'ForInStatement',
1448
- start,
1449
- end,
1450
- left,
1451
- right,
1452
- body
1453
- };
1454
- },
1455
- function forOfStatement(position, buffer, readString) {
1456
- const start = buffer[position++];
1457
- const end = buffer[position++];
1458
- const flags = buffer[position++];
1459
- const awaited = (flags & 1) === 1;
1460
- const left = convertNode(buffer[position++], buffer, readString);
1461
- const right = convertNode(buffer[position++], buffer, readString);
1462
- const body = convertNode(buffer[position], buffer, readString);
1335
+ start: buffer[position],
1336
+ end: buffer[position + 1],
1337
+ left: convertNode(buffer[position + 2], buffer),
1338
+ right: convertNode(buffer[position + 3], buffer),
1339
+ body: convertNode(buffer[position + 4], buffer)
1340
+ };
1341
+ },
1342
+ function forOfStatement(position, buffer) {
1343
+ const flags = buffer[position + 2];
1463
1344
  return {
1464
1345
  type: 'ForOfStatement',
1465
- start,
1466
- end,
1467
- await: awaited,
1468
- left,
1469
- right,
1470
- body
1471
- };
1472
- },
1473
- function forStatement(position, buffer, readString) {
1474
- const start = buffer[position++];
1475
- const end = buffer[position++];
1476
- const initPosition = buffer[position++];
1477
- const init = initPosition === 0 ? null : convertNode(initPosition, buffer, readString);
1478
- const testPosition = buffer[position++];
1479
- const test = testPosition === 0 ? null : convertNode(testPosition, buffer, readString);
1480
- const updatePosition = buffer[position++];
1481
- const update = updatePosition === 0 ? null : convertNode(updatePosition, buffer, readString);
1482
- const body = convertNode(buffer[position], buffer, readString);
1346
+ start: buffer[position],
1347
+ end: buffer[position + 1],
1348
+ await: (flags & 1) === 1,
1349
+ left: convertNode(buffer[position + 3], buffer),
1350
+ right: convertNode(buffer[position + 4], buffer),
1351
+ body: convertNode(buffer[position + 5], buffer)
1352
+ };
1353
+ },
1354
+ function forStatement(position, buffer) {
1355
+ const initPosition = buffer[position + 2];
1356
+ const testPosition = buffer[position + 3];
1357
+ const updatePosition = buffer[position + 4];
1483
1358
  return {
1484
1359
  type: 'ForStatement',
1485
- start,
1486
- end,
1487
- init,
1488
- test,
1489
- update,
1490
- body
1491
- };
1492
- },
1493
- function functionDeclaration(position, buffer, readString) {
1494
- const start = buffer[position++];
1495
- const end = buffer[position++];
1496
- const flags = buffer[position++];
1497
- const async = (flags & 1) === 1;
1498
- const generator = (flags & 2) === 2;
1499
- const annotations = convertAnnotations(buffer[position++], buffer);
1500
- const idPosition = buffer[position++];
1501
- const id = idPosition === 0 ? null : convertNode(idPosition, buffer, readString);
1502
- const parameters = convertNodeList(buffer[position++], buffer, readString);
1503
- const body = convertNode(buffer[position], buffer, readString);
1360
+ start: buffer[position],
1361
+ end: buffer[position + 1],
1362
+ init: initPosition === 0 ? null : convertNode(initPosition, buffer),
1363
+ test: testPosition === 0 ? null : convertNode(testPosition, buffer),
1364
+ update: updatePosition === 0 ? null : convertNode(updatePosition, buffer),
1365
+ body: convertNode(buffer[position + 5], buffer)
1366
+ };
1367
+ },
1368
+ function functionDeclaration(position, buffer) {
1369
+ const flags = buffer[position + 2];
1370
+ const annotations = convertAnnotations(buffer[position + 3], buffer);
1371
+ const idPosition = buffer[position + 4];
1504
1372
  return {
1505
1373
  type: 'FunctionDeclaration',
1506
- start,
1507
- end,
1508
- async,
1509
- generator,
1374
+ start: buffer[position],
1375
+ end: buffer[position + 1],
1376
+ async: (flags & 1) === 1,
1377
+ generator: (flags & 2) === 2,
1510
1378
  ...(annotations.length > 0 ? { [ANNOTATION_KEY]: annotations } : {}),
1511
- id,
1512
- params: parameters,
1513
- body,
1379
+ id: idPosition === 0 ? null : convertNode(idPosition, buffer),
1380
+ params: convertNodeList(buffer[position + 5], buffer),
1381
+ body: convertNode(buffer[position + 6], buffer),
1514
1382
  expression: false
1515
1383
  };
1516
1384
  },
1517
- function functionExpression(position, buffer, readString) {
1518
- const start = buffer[position++];
1519
- const end = buffer[position++];
1520
- const flags = buffer[position++];
1521
- const async = (flags & 1) === 1;
1522
- const generator = (flags & 2) === 2;
1523
- const annotations = convertAnnotations(buffer[position++], buffer);
1524
- const idPosition = buffer[position++];
1525
- const id = idPosition === 0 ? null : convertNode(idPosition, buffer, readString);
1526
- const parameters = convertNodeList(buffer[position++], buffer, readString);
1527
- const body = convertNode(buffer[position], buffer, readString);
1385
+ function functionExpression(position, buffer) {
1386
+ const flags = buffer[position + 2];
1387
+ const annotations = convertAnnotations(buffer[position + 3], buffer);
1388
+ const idPosition = buffer[position + 4];
1528
1389
  return {
1529
1390
  type: 'FunctionExpression',
1530
- start,
1531
- end,
1532
- async,
1533
- generator,
1391
+ start: buffer[position],
1392
+ end: buffer[position + 1],
1393
+ async: (flags & 1) === 1,
1394
+ generator: (flags & 2) === 2,
1534
1395
  ...(annotations.length > 0 ? { [ANNOTATION_KEY]: annotations } : {}),
1535
- id,
1536
- params: parameters,
1537
- body,
1396
+ id: idPosition === 0 ? null : convertNode(idPosition, buffer),
1397
+ params: convertNodeList(buffer[position + 5], buffer),
1398
+ body: convertNode(buffer[position + 6], buffer),
1538
1399
  expression: false
1539
1400
  };
1540
1401
  },
1541
- function identifier(position, buffer, readString) {
1542
- const start = buffer[position++];
1543
- const end = buffer[position++];
1544
- const name = convertString(buffer[position], buffer, readString);
1402
+ function identifier(position, buffer) {
1545
1403
  return {
1546
1404
  type: 'Identifier',
1547
- start,
1548
- end,
1549
- name
1405
+ start: buffer[position],
1406
+ end: buffer[position + 1],
1407
+ name: buffer.convertString(buffer[position + 2])
1550
1408
  };
1551
1409
  },
1552
- function ifStatement(position, buffer, readString) {
1553
- const start = buffer[position++];
1554
- const end = buffer[position++];
1555
- const test = convertNode(buffer[position++], buffer, readString);
1556
- const consequent = convertNode(buffer[position++], buffer, readString);
1557
- const alternatePosition = buffer[position];
1558
- const alternate = alternatePosition === 0 ? null : convertNode(alternatePosition, buffer, readString);
1410
+ function ifStatement(position, buffer) {
1411
+ const alternatePosition = buffer[position + 4];
1559
1412
  return {
1560
1413
  type: 'IfStatement',
1561
- start,
1562
- end,
1563
- test,
1564
- consequent,
1565
- alternate
1414
+ start: buffer[position],
1415
+ end: buffer[position + 1],
1416
+ test: convertNode(buffer[position + 2], buffer),
1417
+ consequent: convertNode(buffer[position + 3], buffer),
1418
+ alternate: alternatePosition === 0 ? null : convertNode(alternatePosition, buffer)
1566
1419
  };
1567
1420
  },
1568
- function importAttribute(position, buffer, readString) {
1569
- const start = buffer[position++];
1570
- const end = buffer[position++];
1571
- const key = convertNode(buffer[position++], buffer, readString);
1572
- const value = convertNode(buffer[position], buffer, readString);
1421
+ function importAttribute(position, buffer) {
1573
1422
  return {
1574
1423
  type: 'ImportAttribute',
1575
- start,
1576
- end,
1577
- key,
1578
- value
1424
+ start: buffer[position],
1425
+ end: buffer[position + 1],
1426
+ key: convertNode(buffer[position + 2], buffer),
1427
+ value: convertNode(buffer[position + 3], buffer)
1579
1428
  };
1580
1429
  },
1581
- function importDeclaration(position, buffer, readString) {
1582
- const start = buffer[position++];
1583
- const end = buffer[position++];
1584
- const specifiers = convertNodeList(buffer[position++], buffer, readString);
1585
- const source = convertNode(buffer[position++], buffer, readString);
1586
- const attributes = convertNodeList(buffer[position], buffer, readString);
1430
+ function importDeclaration(position, buffer) {
1587
1431
  return {
1588
1432
  type: 'ImportDeclaration',
1589
- start,
1590
- end,
1591
- specifiers,
1592
- source,
1593
- attributes
1433
+ start: buffer[position],
1434
+ end: buffer[position + 1],
1435
+ specifiers: convertNodeList(buffer[position + 2], buffer),
1436
+ source: convertNode(buffer[position + 3], buffer),
1437
+ attributes: convertNodeList(buffer[position + 4], buffer)
1594
1438
  };
1595
1439
  },
1596
- function importDefaultSpecifier(position, buffer, readString) {
1597
- const start = buffer[position++];
1598
- const end = buffer[position++];
1599
- const local = convertNode(buffer[position], buffer, readString);
1440
+ function importDefaultSpecifier(position, buffer) {
1600
1441
  return {
1601
1442
  type: 'ImportDefaultSpecifier',
1602
- start,
1603
- end,
1604
- local
1443
+ start: buffer[position],
1444
+ end: buffer[position + 1],
1445
+ local: convertNode(buffer[position + 2], buffer)
1605
1446
  };
1606
1447
  },
1607
- function importExpression(position, buffer, readString) {
1608
- const start = buffer[position++];
1609
- const end = buffer[position++];
1610
- const source = convertNode(buffer[position++], buffer, readString);
1611
- const optionsPosition = buffer[position];
1612
- const options = optionsPosition === 0 ? null : convertNode(optionsPosition, buffer, readString);
1448
+ function importExpression(position, buffer) {
1449
+ const optionsPosition = buffer[position + 3];
1613
1450
  return {
1614
1451
  type: 'ImportExpression',
1615
- start,
1616
- end,
1617
- source,
1618
- options
1452
+ start: buffer[position],
1453
+ end: buffer[position + 1],
1454
+ source: convertNode(buffer[position + 2], buffer),
1455
+ options: optionsPosition === 0 ? null : convertNode(optionsPosition, buffer)
1619
1456
  };
1620
1457
  },
1621
- function importNamespaceSpecifier(position, buffer, readString) {
1622
- const start = buffer[position++];
1623
- const end = buffer[position++];
1624
- const local = convertNode(buffer[position], buffer, readString);
1458
+ function importNamespaceSpecifier(position, buffer) {
1625
1459
  return {
1626
1460
  type: 'ImportNamespaceSpecifier',
1627
- start,
1628
- end,
1629
- local
1461
+ start: buffer[position],
1462
+ end: buffer[position + 1],
1463
+ local: convertNode(buffer[position + 2], buffer)
1630
1464
  };
1631
1465
  },
1632
- function importSpecifier(position, buffer, readString) {
1633
- const start = buffer[position++];
1634
- const end = buffer[position++];
1635
- const importedPosition = buffer[position++];
1636
- const local = convertNode(buffer[position], buffer, readString);
1466
+ function importSpecifier(position, buffer) {
1467
+ const importedPosition = buffer[position + 2];
1468
+ const local = convertNode(buffer[position + 3], buffer);
1637
1469
  return {
1638
1470
  type: 'ImportSpecifier',
1639
- start,
1640
- end,
1641
- imported: importedPosition === 0 ? { ...local } : convertNode(importedPosition, buffer, readString),
1471
+ start: buffer[position],
1472
+ end: buffer[position + 1],
1473
+ imported: importedPosition === 0 ? { ...local } : convertNode(importedPosition, buffer),
1642
1474
  local
1643
1475
  };
1644
1476
  },
1645
- function labeledStatement(position, buffer, readString) {
1646
- const start = buffer[position++];
1647
- const end = buffer[position++];
1648
- const label = convertNode(buffer[position++], buffer, readString);
1649
- const body = convertNode(buffer[position], buffer, readString);
1477
+ function labeledStatement(position, buffer) {
1650
1478
  return {
1651
1479
  type: 'LabeledStatement',
1652
- start,
1653
- end,
1654
- label,
1655
- body
1480
+ start: buffer[position],
1481
+ end: buffer[position + 1],
1482
+ label: convertNode(buffer[position + 2], buffer),
1483
+ body: convertNode(buffer[position + 3], buffer)
1656
1484
  };
1657
1485
  },
1658
- function literalBigInt(position, buffer, readString) {
1659
- const start = buffer[position++];
1660
- const end = buffer[position++];
1661
- const bigint = convertString(buffer[position++], buffer, readString);
1662
- const raw = convertString(buffer[position], buffer, readString);
1486
+ function literalBigInt(position, buffer) {
1487
+ const bigint = buffer.convertString(buffer[position + 2]);
1663
1488
  return {
1664
1489
  type: 'Literal',
1665
- start,
1666
- end,
1490
+ start: buffer[position],
1491
+ end: buffer[position + 1],
1667
1492
  bigint,
1668
- raw,
1493
+ raw: buffer.convertString(buffer[position + 3]),
1669
1494
  value: BigInt(bigint)
1670
1495
  };
1671
1496
  },
1672
1497
  function literalBoolean(position, buffer) {
1673
- const start = buffer[position++];
1674
- const end = buffer[position++];
1675
- const flags = buffer[position++];
1498
+ const flags = buffer[position + 2];
1676
1499
  const value = (flags & 1) === 1;
1677
1500
  return {
1678
1501
  type: 'Literal',
1679
- start,
1680
- end,
1502
+ start: buffer[position],
1503
+ end: buffer[position + 1],
1681
1504
  value,
1682
1505
  raw: value ? 'true' : 'false'
1683
1506
  };
1684
1507
  },
1685
1508
  function literalNull(position, buffer) {
1686
- const start = buffer[position++];
1687
- const end = buffer[position++];
1688
1509
  return {
1689
1510
  type: 'Literal',
1690
- start,
1691
- end,
1511
+ start: buffer[position],
1512
+ end: buffer[position + 1],
1692
1513
  raw: 'null',
1693
1514
  value: null
1694
1515
  };
1695
1516
  },
1696
- function literalNumber(position, buffer, readString) {
1697
- const start = buffer[position++];
1698
- const end = buffer[position++];
1699
- const rawPosition = buffer[position++];
1700
- const raw = rawPosition === 0 ? undefined : convertString(rawPosition, buffer, readString);
1701
- const value = new DataView(buffer.buffer).getFloat64(position << 2, true);
1517
+ function literalNumber(position, buffer) {
1518
+ const rawPosition = buffer[position + 2];
1702
1519
  return {
1703
1520
  type: 'Literal',
1704
- start,
1705
- end,
1706
- raw,
1707
- value
1521
+ start: buffer[position],
1522
+ end: buffer[position + 1],
1523
+ raw: rawPosition === 0 ? undefined : buffer.convertString(rawPosition),
1524
+ value: new DataView(buffer.buffer).getFloat64((position + 3) << 2, true)
1708
1525
  };
1709
1526
  },
1710
- function literalRegExp(position, buffer, readString) {
1711
- const start = buffer[position++];
1712
- const end = buffer[position++];
1713
- const flags = convertString(buffer[position++], buffer, readString);
1714
- const pattern = convertString(buffer[position], buffer, readString);
1527
+ function literalRegExp(position, buffer) {
1528
+ const flags = buffer.convertString(buffer[position + 2]);
1529
+ const pattern = buffer.convertString(buffer[position + 3]);
1715
1530
  return {
1716
1531
  type: 'Literal',
1717
- start,
1718
- end,
1532
+ start: buffer[position],
1533
+ end: buffer[position + 1],
1719
1534
  raw: `/${pattern}/${flags}`,
1720
1535
  regex: { flags, pattern },
1721
1536
  value: new RegExp(pattern, flags)
1722
1537
  };
1723
1538
  },
1724
- function literalString(position, buffer, readString) {
1725
- const start = buffer[position++];
1726
- const end = buffer[position++];
1727
- const value = convertString(buffer[position++], buffer, readString);
1728
- const rawPosition = buffer[position];
1729
- const raw = rawPosition === 0 ? undefined : convertString(rawPosition, buffer, readString);
1539
+ function literalString(position, buffer) {
1540
+ const rawPosition = buffer[position + 3];
1730
1541
  return {
1731
1542
  type: 'Literal',
1732
- start,
1733
- end,
1734
- value,
1735
- raw
1543
+ start: buffer[position],
1544
+ end: buffer[position + 1],
1545
+ value: buffer.convertString(buffer[position + 2]),
1546
+ raw: rawPosition === 0 ? undefined : buffer.convertString(rawPosition)
1736
1547
  };
1737
1548
  },
1738
- function logicalExpression(position, buffer, readString) {
1739
- const start = buffer[position++];
1740
- const end = buffer[position++];
1741
- const operator = FIXED_STRINGS[buffer[position++]];
1742
- const left = convertNode(buffer[position++], buffer, readString);
1743
- const right = convertNode(buffer[position], buffer, readString);
1549
+ function logicalExpression(position, buffer) {
1744
1550
  return {
1745
1551
  type: 'LogicalExpression',
1746
- start,
1747
- end,
1748
- operator,
1749
- left,
1750
- right
1751
- };
1752
- },
1753
- function memberExpression(position, buffer, readString) {
1754
- const start = buffer[position++];
1755
- const end = buffer[position++];
1756
- const flags = buffer[position++];
1757
- const computed = (flags & 1) === 1;
1758
- const optional = (flags & 2) === 2;
1759
- const object = convertNode(buffer[position++], buffer, readString);
1760
- const property = convertNode(buffer[position], buffer, readString);
1552
+ start: buffer[position],
1553
+ end: buffer[position + 1],
1554
+ operator: FIXED_STRINGS[buffer[position + 2]],
1555
+ left: convertNode(buffer[position + 3], buffer),
1556
+ right: convertNode(buffer[position + 4], buffer)
1557
+ };
1558
+ },
1559
+ function memberExpression(position, buffer) {
1560
+ const flags = buffer[position + 2];
1761
1561
  return {
1762
1562
  type: 'MemberExpression',
1763
- start,
1764
- end,
1765
- computed,
1766
- optional,
1767
- object,
1768
- property
1563
+ start: buffer[position],
1564
+ end: buffer[position + 1],
1565
+ computed: (flags & 1) === 1,
1566
+ optional: (flags & 2) === 2,
1567
+ object: convertNode(buffer[position + 3], buffer),
1568
+ property: convertNode(buffer[position + 4], buffer)
1769
1569
  };
1770
1570
  },
1771
- function metaProperty(position, buffer, readString) {
1772
- const start = buffer[position++];
1773
- const end = buffer[position++];
1774
- const meta = convertNode(buffer[position++], buffer, readString);
1775
- const property = convertNode(buffer[position], buffer, readString);
1571
+ function metaProperty(position, buffer) {
1776
1572
  return {
1777
1573
  type: 'MetaProperty',
1778
- start,
1779
- end,
1780
- meta,
1781
- property
1782
- };
1783
- },
1784
- function methodDefinition(position, buffer, readString) {
1785
- const start = buffer[position++];
1786
- const end = buffer[position++];
1787
- const flags = buffer[position++];
1788
- const isStatic = (flags & 1) === 1;
1789
- const computed = (flags & 2) === 2;
1790
- const key = convertNode(buffer[position++], buffer, readString);
1791
- const value = convertNode(buffer[position++], buffer, readString);
1792
- const kind = FIXED_STRINGS[buffer[position]];
1574
+ start: buffer[position],
1575
+ end: buffer[position + 1],
1576
+ meta: convertNode(buffer[position + 2], buffer),
1577
+ property: convertNode(buffer[position + 3], buffer)
1578
+ };
1579
+ },
1580
+ function methodDefinition(position, buffer) {
1581
+ const flags = buffer[position + 2];
1793
1582
  return {
1794
1583
  type: 'MethodDefinition',
1795
- start,
1796
- end,
1797
- static: isStatic,
1798
- computed,
1799
- key,
1800
- value,
1801
- kind
1584
+ start: buffer[position],
1585
+ end: buffer[position + 1],
1586
+ static: (flags & 1) === 1,
1587
+ computed: (flags & 2) === 2,
1588
+ key: convertNode(buffer[position + 3], buffer),
1589
+ value: convertNode(buffer[position + 4], buffer),
1590
+ kind: FIXED_STRINGS[buffer[position + 5]]
1802
1591
  };
1803
1592
  },
1804
- function newExpression(position, buffer, readString) {
1805
- const start = buffer[position++];
1806
- const end = buffer[position++];
1807
- const annotations = convertAnnotations(buffer[position++], buffer);
1808
- const callee = convertNode(buffer[position++], buffer, readString);
1809
- const callArguments = convertNodeList(buffer[position], buffer, readString);
1593
+ function newExpression(position, buffer) {
1594
+ const annotations = convertAnnotations(buffer[position + 2], buffer);
1810
1595
  return {
1811
1596
  type: 'NewExpression',
1812
- start,
1813
- end,
1597
+ start: buffer[position],
1598
+ end: buffer[position + 1],
1814
1599
  ...(annotations.length > 0 ? { [ANNOTATION_KEY]: annotations } : {}),
1815
- callee,
1816
- arguments: callArguments
1600
+ callee: convertNode(buffer[position + 3], buffer),
1601
+ arguments: convertNodeList(buffer[position + 4], buffer)
1817
1602
  };
1818
1603
  },
1819
- function objectExpression(position, buffer, readString) {
1820
- const start = buffer[position++];
1821
- const end = buffer[position++];
1822
- const properties = convertNodeList(buffer[position], buffer, readString);
1604
+ function objectExpression(position, buffer) {
1823
1605
  return {
1824
1606
  type: 'ObjectExpression',
1825
- start,
1826
- end,
1827
- properties
1607
+ start: buffer[position],
1608
+ end: buffer[position + 1],
1609
+ properties: convertNodeList(buffer[position + 2], buffer)
1828
1610
  };
1829
1611
  },
1830
- function objectPattern(position, buffer, readString) {
1831
- const start = buffer[position++];
1832
- const end = buffer[position++];
1833
- const properties = convertNodeList(buffer[position], buffer, readString);
1612
+ function objectPattern(position, buffer) {
1834
1613
  return {
1835
1614
  type: 'ObjectPattern',
1836
- start,
1837
- end,
1838
- properties
1615
+ start: buffer[position],
1616
+ end: buffer[position + 1],
1617
+ properties: convertNodeList(buffer[position + 2], buffer)
1839
1618
  };
1840
1619
  },
1841
- function privateIdentifier(position, buffer, readString) {
1842
- const start = buffer[position++];
1843
- const end = buffer[position++];
1844
- const name = convertString(buffer[position], buffer, readString);
1620
+ function privateIdentifier(position, buffer) {
1845
1621
  return {
1846
1622
  type: 'PrivateIdentifier',
1847
- start,
1848
- end,
1849
- name
1623
+ start: buffer[position],
1624
+ end: buffer[position + 1],
1625
+ name: buffer.convertString(buffer[position + 2])
1850
1626
  };
1851
1627
  },
1852
- function program(position, buffer, readString) {
1853
- const start = buffer[position++];
1854
- const end = buffer[position++];
1855
- const body = convertNodeList(buffer[position++], buffer, readString);
1856
- const invalidAnnotations = convertAnnotations(buffer[position], buffer);
1628
+ function program(position, buffer) {
1629
+ const invalidAnnotations = convertAnnotations(buffer[position + 3], buffer);
1857
1630
  return {
1858
1631
  type: 'Program',
1859
- start,
1860
- end,
1861
- body,
1632
+ start: buffer[position],
1633
+ end: buffer[position + 1],
1634
+ body: convertNodeList(buffer[position + 2], buffer),
1862
1635
  ...(invalidAnnotations.length > 0 ? { [INVALID_ANNOTATION_KEY]: invalidAnnotations } : {}),
1863
1636
  sourceType: 'module'
1864
1637
  };
1865
1638
  },
1866
- function property(position, buffer, readString) {
1867
- const start = buffer[position++];
1868
- const end = buffer[position++];
1869
- const flags = buffer[position++];
1870
- const method = (flags & 1) === 1;
1871
- const shorthand = (flags & 2) === 2;
1872
- const computed = (flags & 4) === 4;
1873
- const keyPosition = buffer[position++];
1874
- const value = convertNode(buffer[position++], buffer, readString);
1875
- const kind = FIXED_STRINGS[buffer[position]];
1639
+ function property(position, buffer) {
1640
+ const flags = buffer[position + 2];
1641
+ const keyPosition = buffer[position + 3];
1642
+ const value = convertNode(buffer[position + 4], buffer);
1876
1643
  return {
1877
1644
  type: 'Property',
1878
- start,
1879
- end,
1880
- method,
1881
- shorthand,
1882
- computed,
1883
- key: keyPosition === 0 ? { ...value } : convertNode(keyPosition, buffer, readString),
1645
+ start: buffer[position],
1646
+ end: buffer[position + 1],
1647
+ method: (flags & 1) === 1,
1648
+ shorthand: (flags & 2) === 2,
1649
+ computed: (flags & 4) === 4,
1650
+ key: keyPosition === 0 ? { ...value } : convertNode(keyPosition, buffer),
1884
1651
  value,
1885
- kind
1652
+ kind: FIXED_STRINGS[buffer[position + 5]]
1886
1653
  };
1887
1654
  },
1888
- function propertyDefinition(position, buffer, readString) {
1889
- const start = buffer[position++];
1890
- const end = buffer[position++];
1891
- const flags = buffer[position++];
1892
- const isStatic = (flags & 1) === 1;
1893
- const computed = (flags & 2) === 2;
1894
- const key = convertNode(buffer[position++], buffer, readString);
1895
- const valuePosition = buffer[position];
1896
- const value = valuePosition === 0 ? null : convertNode(valuePosition, buffer, readString);
1655
+ function propertyDefinition(position, buffer) {
1656
+ const flags = buffer[position + 2];
1657
+ const valuePosition = buffer[position + 4];
1897
1658
  return {
1898
1659
  type: 'PropertyDefinition',
1899
- start,
1900
- end,
1901
- static: isStatic,
1902
- computed,
1903
- key,
1904
- value
1660
+ start: buffer[position],
1661
+ end: buffer[position + 1],
1662
+ static: (flags & 1) === 1,
1663
+ computed: (flags & 2) === 2,
1664
+ key: convertNode(buffer[position + 3], buffer),
1665
+ value: valuePosition === 0 ? null : convertNode(valuePosition, buffer)
1905
1666
  };
1906
1667
  },
1907
- function restElement(position, buffer, readString) {
1908
- const start = buffer[position++];
1909
- const end = buffer[position++];
1910
- const argument = convertNode(buffer[position], buffer, readString);
1668
+ function restElement(position, buffer) {
1911
1669
  return {
1912
1670
  type: 'RestElement',
1913
- start,
1914
- end,
1915
- argument
1671
+ start: buffer[position],
1672
+ end: buffer[position + 1],
1673
+ argument: convertNode(buffer[position + 2], buffer)
1916
1674
  };
1917
1675
  },
1918
- function returnStatement(position, buffer, readString) {
1919
- const start = buffer[position++];
1920
- const end = buffer[position++];
1921
- const argumentPosition = buffer[position];
1922
- const argument = argumentPosition === 0 ? null : convertNode(argumentPosition, buffer, readString);
1676
+ function returnStatement(position, buffer) {
1677
+ const argumentPosition = buffer[position + 2];
1923
1678
  return {
1924
1679
  type: 'ReturnStatement',
1925
- start,
1926
- end,
1927
- argument
1680
+ start: buffer[position],
1681
+ end: buffer[position + 1],
1682
+ argument: argumentPosition === 0 ? null : convertNode(argumentPosition, buffer)
1928
1683
  };
1929
1684
  },
1930
- function sequenceExpression(position, buffer, readString) {
1931
- const start = buffer[position++];
1932
- const end = buffer[position++];
1933
- const expressions = convertNodeList(buffer[position], buffer, readString);
1685
+ function sequenceExpression(position, buffer) {
1934
1686
  return {
1935
1687
  type: 'SequenceExpression',
1936
- start,
1937
- end,
1938
- expressions
1688
+ start: buffer[position],
1689
+ end: buffer[position + 1],
1690
+ expressions: convertNodeList(buffer[position + 2], buffer)
1939
1691
  };
1940
1692
  },
1941
- function spreadElement(position, buffer, readString) {
1942
- const start = buffer[position++];
1943
- const end = buffer[position++];
1944
- const argument = convertNode(buffer[position], buffer, readString);
1693
+ function spreadElement(position, buffer) {
1945
1694
  return {
1946
1695
  type: 'SpreadElement',
1947
- start,
1948
- end,
1949
- argument
1696
+ start: buffer[position],
1697
+ end: buffer[position + 1],
1698
+ argument: convertNode(buffer[position + 2], buffer)
1950
1699
  };
1951
1700
  },
1952
- function staticBlock(position, buffer, readString) {
1953
- const start = buffer[position++];
1954
- const end = buffer[position++];
1955
- const body = convertNodeList(buffer[position], buffer, readString);
1701
+ function staticBlock(position, buffer) {
1956
1702
  return {
1957
1703
  type: 'StaticBlock',
1958
- start,
1959
- end,
1960
- body
1704
+ start: buffer[position],
1705
+ end: buffer[position + 1],
1706
+ body: convertNodeList(buffer[position + 2], buffer)
1961
1707
  };
1962
1708
  },
1963
1709
  function superElement(position, buffer) {
1964
- const start = buffer[position++];
1965
- const end = buffer[position++];
1966
1710
  return {
1967
1711
  type: 'Super',
1968
- start,
1969
- end
1712
+ start: buffer[position],
1713
+ end: buffer[position + 1]
1970
1714
  };
1971
1715
  },
1972
- function switchCase(position, buffer, readString) {
1973
- const start = buffer[position++];
1974
- const end = buffer[position++];
1975
- const testPosition = buffer[position++];
1976
- const test = testPosition === 0 ? null : convertNode(testPosition, buffer, readString);
1977
- const consequent = convertNodeList(buffer[position], buffer, readString);
1716
+ function switchCase(position, buffer) {
1717
+ const testPosition = buffer[position + 2];
1978
1718
  return {
1979
1719
  type: 'SwitchCase',
1980
- start,
1981
- end,
1982
- test,
1983
- consequent
1720
+ start: buffer[position],
1721
+ end: buffer[position + 1],
1722
+ test: testPosition === 0 ? null : convertNode(testPosition, buffer),
1723
+ consequent: convertNodeList(buffer[position + 3], buffer)
1984
1724
  };
1985
1725
  },
1986
- function switchStatement(position, buffer, readString) {
1987
- const start = buffer[position++];
1988
- const end = buffer[position++];
1989
- const discriminant = convertNode(buffer[position++], buffer, readString);
1990
- const cases = convertNodeList(buffer[position], buffer, readString);
1726
+ function switchStatement(position, buffer) {
1991
1727
  return {
1992
1728
  type: 'SwitchStatement',
1993
- start,
1994
- end,
1995
- discriminant,
1996
- cases
1729
+ start: buffer[position],
1730
+ end: buffer[position + 1],
1731
+ discriminant: convertNode(buffer[position + 2], buffer),
1732
+ cases: convertNodeList(buffer[position + 3], buffer)
1997
1733
  };
1998
1734
  },
1999
- function taggedTemplateExpression(position, buffer, readString) {
2000
- const start = buffer[position++];
2001
- const end = buffer[position++];
2002
- const tag = convertNode(buffer[position++], buffer, readString);
2003
- const quasi = convertNode(buffer[position], buffer, readString);
1735
+ function taggedTemplateExpression(position, buffer) {
2004
1736
  return {
2005
1737
  type: 'TaggedTemplateExpression',
2006
- start,
2007
- end,
2008
- tag,
2009
- quasi
1738
+ start: buffer[position],
1739
+ end: buffer[position + 1],
1740
+ tag: convertNode(buffer[position + 2], buffer),
1741
+ quasi: convertNode(buffer[position + 3], buffer)
2010
1742
  };
2011
1743
  },
2012
- function templateElement(position, buffer, readString) {
2013
- const start = buffer[position++];
2014
- const end = buffer[position++];
2015
- const flags = buffer[position++];
2016
- const tail = (flags & 1) === 1;
2017
- const cookedPosition = buffer[position++];
2018
- const cooked = cookedPosition === 0 ? undefined : convertString(cookedPosition, buffer, readString);
2019
- const raw = convertString(buffer[position], buffer, readString);
1744
+ function templateElement(position, buffer) {
1745
+ const flags = buffer[position + 2];
1746
+ const cookedPosition = buffer[position + 3];
1747
+ const cooked = cookedPosition === 0 ? undefined : buffer.convertString(cookedPosition);
1748
+ const raw = buffer.convertString(buffer[position + 4]);
2020
1749
  return {
2021
1750
  type: 'TemplateElement',
2022
- start,
2023
- end,
2024
- tail,
1751
+ start: buffer[position],
1752
+ end: buffer[position + 1],
1753
+ tail: (flags & 1) === 1,
2025
1754
  value: { cooked, raw }
2026
1755
  };
2027
1756
  },
2028
- function templateLiteral(position, buffer, readString) {
2029
- const start = buffer[position++];
2030
- const end = buffer[position++];
2031
- const quasis = convertNodeList(buffer[position++], buffer, readString);
2032
- const expressions = convertNodeList(buffer[position], buffer, readString);
1757
+ function templateLiteral(position, buffer) {
2033
1758
  return {
2034
1759
  type: 'TemplateLiteral',
2035
- start,
2036
- end,
2037
- quasis,
2038
- expressions
1760
+ start: buffer[position],
1761
+ end: buffer[position + 1],
1762
+ quasis: convertNodeList(buffer[position + 2], buffer),
1763
+ expressions: convertNodeList(buffer[position + 3], buffer)
2039
1764
  };
2040
1765
  },
2041
1766
  function thisExpression(position, buffer) {
2042
- const start = buffer[position++];
2043
- const end = buffer[position++];
2044
1767
  return {
2045
1768
  type: 'ThisExpression',
2046
- start,
2047
- end
1769
+ start: buffer[position],
1770
+ end: buffer[position + 1]
2048
1771
  };
2049
1772
  },
2050
- function throwStatement(position, buffer, readString) {
2051
- const start = buffer[position++];
2052
- const end = buffer[position++];
2053
- const argument = convertNode(buffer[position], buffer, readString);
1773
+ function throwStatement(position, buffer) {
2054
1774
  return {
2055
1775
  type: 'ThrowStatement',
2056
- start,
2057
- end,
2058
- argument
1776
+ start: buffer[position],
1777
+ end: buffer[position + 1],
1778
+ argument: convertNode(buffer[position + 2], buffer)
2059
1779
  };
2060
1780
  },
2061
- function tryStatement(position, buffer, readString) {
2062
- const start = buffer[position++];
2063
- const end = buffer[position++];
2064
- const block = convertNode(buffer[position++], buffer, readString);
2065
- const handlerPosition = buffer[position++];
2066
- const handler = handlerPosition === 0 ? null : convertNode(handlerPosition, buffer, readString);
2067
- const finalizerPosition = buffer[position];
2068
- const finalizer = finalizerPosition === 0 ? null : convertNode(finalizerPosition, buffer, readString);
1781
+ function tryStatement(position, buffer) {
1782
+ const handlerPosition = buffer[position + 3];
1783
+ const finalizerPosition = buffer[position + 4];
2069
1784
  return {
2070
1785
  type: 'TryStatement',
2071
- start,
2072
- end,
2073
- block,
2074
- handler,
2075
- finalizer
1786
+ start: buffer[position],
1787
+ end: buffer[position + 1],
1788
+ block: convertNode(buffer[position + 2], buffer),
1789
+ handler: handlerPosition === 0 ? null : convertNode(handlerPosition, buffer),
1790
+ finalizer: finalizerPosition === 0 ? null : convertNode(finalizerPosition, buffer)
2076
1791
  };
2077
1792
  },
2078
- function unaryExpression(position, buffer, readString) {
2079
- const start = buffer[position++];
2080
- const end = buffer[position++];
2081
- const operator = FIXED_STRINGS[buffer[position++]];
2082
- const argument = convertNode(buffer[position], buffer, readString);
1793
+ function unaryExpression(position, buffer) {
2083
1794
  return {
2084
1795
  type: 'UnaryExpression',
2085
- start,
2086
- end,
2087
- operator,
2088
- argument,
1796
+ start: buffer[position],
1797
+ end: buffer[position + 1],
1798
+ operator: FIXED_STRINGS[buffer[position + 2]],
1799
+ argument: convertNode(buffer[position + 3], buffer),
2089
1800
  prefix: true
2090
1801
  };
2091
1802
  },
2092
- function updateExpression(position, buffer, readString) {
2093
- const start = buffer[position++];
2094
- const end = buffer[position++];
2095
- const flags = buffer[position++];
2096
- const prefix = (flags & 1) === 1;
2097
- const operator = FIXED_STRINGS[buffer[position++]];
2098
- const argument = convertNode(buffer[position], buffer, readString);
1803
+ function updateExpression(position, buffer) {
1804
+ const flags = buffer[position + 2];
2099
1805
  return {
2100
1806
  type: 'UpdateExpression',
2101
- start,
2102
- end,
2103
- prefix,
2104
- operator,
2105
- argument
1807
+ start: buffer[position],
1808
+ end: buffer[position + 1],
1809
+ prefix: (flags & 1) === 1,
1810
+ operator: FIXED_STRINGS[buffer[position + 3]],
1811
+ argument: convertNode(buffer[position + 4], buffer)
2106
1812
  };
2107
1813
  },
2108
- function variableDeclaration(position, buffer, readString) {
2109
- const start = buffer[position++];
2110
- const end = buffer[position++];
2111
- const kind = FIXED_STRINGS[buffer[position++]];
2112
- const declarations = convertNodeList(buffer[position], buffer, readString);
1814
+ function variableDeclaration(position, buffer) {
2113
1815
  return {
2114
1816
  type: 'VariableDeclaration',
2115
- start,
2116
- end,
2117
- kind,
2118
- declarations
1817
+ start: buffer[position],
1818
+ end: buffer[position + 1],
1819
+ kind: FIXED_STRINGS[buffer[position + 2]],
1820
+ declarations: convertNodeList(buffer[position + 3], buffer)
2119
1821
  };
2120
1822
  },
2121
- function variableDeclarator(position, buffer, readString) {
2122
- const start = buffer[position++];
2123
- const end = buffer[position++];
2124
- const id = convertNode(buffer[position++], buffer, readString);
2125
- const initPosition = buffer[position];
2126
- const init = initPosition === 0 ? null : convertNode(initPosition, buffer, readString);
1823
+ function variableDeclarator(position, buffer) {
1824
+ const initPosition = buffer[position + 3];
2127
1825
  return {
2128
1826
  type: 'VariableDeclarator',
2129
- start,
2130
- end,
2131
- id,
2132
- init
1827
+ start: buffer[position],
1828
+ end: buffer[position + 1],
1829
+ id: convertNode(buffer[position + 2], buffer),
1830
+ init: initPosition === 0 ? null : convertNode(initPosition, buffer)
2133
1831
  };
2134
1832
  },
2135
- function whileStatement(position, buffer, readString) {
2136
- const start = buffer[position++];
2137
- const end = buffer[position++];
2138
- const test = convertNode(buffer[position++], buffer, readString);
2139
- const body = convertNode(buffer[position], buffer, readString);
1833
+ function whileStatement(position, buffer) {
2140
1834
  return {
2141
1835
  type: 'WhileStatement',
2142
- start,
2143
- end,
2144
- test,
2145
- body
1836
+ start: buffer[position],
1837
+ end: buffer[position + 1],
1838
+ test: convertNode(buffer[position + 2], buffer),
1839
+ body: convertNode(buffer[position + 3], buffer)
2146
1840
  };
2147
1841
  },
2148
- function yieldExpression(position, buffer, readString) {
2149
- const start = buffer[position++];
2150
- const end = buffer[position++];
2151
- const flags = buffer[position++];
2152
- const delegate = (flags & 1) === 1;
2153
- const argumentPosition = buffer[position];
2154
- const argument = argumentPosition === 0 ? null : convertNode(argumentPosition, buffer, readString);
1842
+ function yieldExpression(position, buffer) {
1843
+ const flags = buffer[position + 2];
1844
+ const argumentPosition = buffer[position + 3];
2155
1845
  return {
2156
1846
  type: 'YieldExpression',
2157
- start,
2158
- end,
2159
- delegate,
2160
- argument
1847
+ start: buffer[position],
1848
+ end: buffer[position + 1],
1849
+ delegate: (flags & 1) === 1,
1850
+ argument: argumentPosition === 0 ? null : convertNode(argumentPosition, buffer)
2161
1851
  };
2162
1852
  }
2163
1853
  ];
2164
- function convertNode(position, buffer, readString) {
1854
+ function convertNode(position, buffer) {
2165
1855
  const nodeType = buffer[position];
2166
1856
  const converter = nodeConverters[nodeType];
2167
1857
  /* istanbul ignore if: This should never be executed but is a safeguard against faulty buffers */
@@ -2169,41 +1859,42 @@ function convertNode(position, buffer, readString) {
2169
1859
  console.trace();
2170
1860
  throw new Error(`Unknown node type: ${nodeType}`);
2171
1861
  }
2172
- return converter(position + 1, buffer, readString);
1862
+ return converter(position + 1, buffer);
2173
1863
  }
2174
- function convertNodeList(position, buffer, readString) {
1864
+ function convertNodeList(position, buffer) {
2175
1865
  if (position === 0)
2176
1866
  return EMPTY_ARRAY;
2177
1867
  const length = buffer[position++];
2178
1868
  const list = [];
2179
1869
  for (let index = 0; index < length; index++) {
2180
1870
  const nodePosition = buffer[position++];
2181
- list.push(nodePosition ? convertNode(nodePosition, buffer, readString) : null);
1871
+ list.push(nodePosition ? convertNode(nodePosition, buffer) : null);
2182
1872
  }
2183
1873
  return list;
2184
1874
  }
2185
1875
 
2186
- function getReadStringFunction(astBuffer) {
1876
+ function getAstBuffer(astBuffer) {
1877
+ const array = new Uint32Array(astBuffer.buffer);
1878
+ let convertString;
2187
1879
  if (typeof Buffer !== 'undefined' && astBuffer instanceof Buffer) {
2188
- return function readString(start, length) {
2189
- return astBuffer.toString('utf8', start, start + length);
1880
+ convertString = (position) => {
1881
+ const length = array[position++];
1882
+ const bytePosition = position << 2;
1883
+ return astBuffer.toString('utf8', bytePosition, bytePosition + length);
2190
1884
  };
2191
1885
  }
2192
1886
  else {
2193
1887
  const textDecoder = new TextDecoder();
2194
- return function readString(start, length) {
2195
- return textDecoder.decode(astBuffer.subarray(start, start + length));
1888
+ convertString = (position) => {
1889
+ const length = array[position++];
1890
+ const bytePosition = position << 2;
1891
+ return textDecoder.decode(astBuffer.subarray(bytePosition, bytePosition + length));
2196
1892
  };
2197
1893
  }
1894
+ return Object.assign(array, { convertString });
2198
1895
  }
2199
1896
 
2200
- const parseAst = (input, { allowReturnOutsideFunction = false } = {}) => {
2201
- const astBuffer = parse(input, allowReturnOutsideFunction);
2202
- return convertProgram(astBuffer.buffer, getReadStringFunction(astBuffer));
2203
- };
2204
- const parseAstAsync = async (input, { allowReturnOutsideFunction = false, signal } = {}) => {
2205
- const astBuffer = await parseAsync(input, allowReturnOutsideFunction, signal);
2206
- return convertProgram(astBuffer.buffer, getReadStringFunction(astBuffer));
2207
- };
1897
+ const parseAst = (input, { allowReturnOutsideFunction = false } = {}) => convertProgram(getAstBuffer(parse(input, allowReturnOutsideFunction)));
1898
+ const parseAstAsync = async (input, { allowReturnOutsideFunction = false, signal } = {}) => convertProgram(getAstBuffer(await parseAsync(input, allowReturnOutsideFunction, signal)));
2208
1899
 
2209
- export { ANNOTATION_KEY, ArrowFunctionExpression, BLANK, BlockStatement, CallExpression, CatchClause, EMPTY_ARRAY, EMPTY_OBJECT, EMPTY_SET, ExportDefaultDeclaration, ExpressionStatement, FIXED_STRINGS, INVALID_ANNOTATION_KEY, Identifier, LOGLEVEL_DEBUG, LOGLEVEL_ERROR, LOGLEVEL_INFO, LOGLEVEL_WARN, Literal, Program, Property, ReturnStatement, TemplateLiteral, URL_OUTPUT_AMD_BASEPATH, URL_OUTPUT_AMD_ID, URL_OUTPUT_DIR, URL_OUTPUT_EXTERNALIMPORTATTRIBUTES, URL_OUTPUT_FORMAT, URL_OUTPUT_GENERATEDCODE, URL_OUTPUT_INLINEDYNAMICIMPORTS, URL_OUTPUT_INTEROP, URL_OUTPUT_MANUALCHUNKS, URL_OUTPUT_SOURCEMAPBASEURL, URL_OUTPUT_SOURCEMAPFILE, URL_PRESERVEENTRYSIGNATURES, URL_TREESHAKE, URL_TREESHAKE_MODULESIDEEFFECTS, URL_WATCH, VariableDeclarator, addTrailingSlashIfMissed, augmentCodeLocation, augmentLogMessage, convertAnnotations, convertNode, convertString, error, getAliasName, getImportPath, getReadStringFunction, getRollupError, isAbsolute, isPathFragment, isRelative, isValidUrl, locate, logAddonNotGenerated, logAlreadyClosed, logAmbiguousExternalNamespaces, logAnonymousPluginCache, logAssetNotFinalisedForFileName, logAssetReferenceIdNotFoundForSetSource, logAssetSourceAlreadySet, logBadLoader, logCannotAssignModuleToChunk, logCannotCallNamespace, logCannotEmitFromOptionsHook, logChunkInvalid, logChunkNotGeneratedForFileName, logCircularDependency, logCircularReexport, logConflictingSourcemapSources, logConstVariableReassignError, logCyclicCrossChunkReexport, logDuplicateArgumentNameError, logDuplicateExportError, logDuplicatePluginName, logEmptyChunk, logEntryCannotBeExternal, logEval, logExternalModulesCannotBeIncludedInManualChunks, logExternalModulesCannotBeTransformedToModules, logExternalSyntheticExports, logFailedValidation, logFileNameConflict, logFileReferenceIdNotFoundForFilename, logFirstSideEffect, logIllegalIdentifierAsName, logIllegalImportReassignment, logImplicitDependantCannotBeExternal, logImplicitDependantIsNotIncluded, logImportAttributeIsInvalid, logImportOptionsAreInvalid, logIncompatibleExportOptionValue, logInconsistentImportAttributes, logInputHookInOutputPlugin, logInternalIdCannotBeExternal, logInvalidAddonPluginHook, logInvalidAnnotation, logInvalidExportOptionValue, logInvalidFormatForTopLevelAwait, logInvalidFunctionPluginHook, logInvalidLogPosition, logInvalidOption, logInvalidRollupPhaseForChunkEmission, logInvalidSetAssetSourceCall, logInvalidSourcemapForError, logLevelPriority, logMissingEntryExport, logMissingExport, logMissingFileOrDirOption, logMissingGlobalName, logMissingNameOptionForIifeExport, logMissingNameOptionForUmdExport, logMissingNodeBuiltins, logMixedExport, logModuleLevelDirective, logModuleParseError, logNamespaceConflict, logNoAssetSourceSet, logNoTransformMapOrAstWithoutCode, logOptimizeChunkStatus, logParseError, logPluginError, logRedeclarationError, logShimmedExport, logSourcemapBroken, logSyntheticNamedExportsNeedNamespaceExport, logThisIsUndefined, logUnexpectedNamedImport, logUnexpectedNamespaceReexport, logUnknownOption, logUnresolvedEntry, logUnresolvedImplicitDependant, logUnresolvedImport, logUnresolvedImportTreatedAsExternal, logUnusedExternalImports, normalize, parseAst, parseAstAsync, printQuotedStringList, relative, relativeId, warnDeprecation };
1900
+ export { ANNOTATION_KEY, ArrowFunctionExpression, BLANK, BlockStatement, CallExpression, CatchClause, EMPTY_ARRAY, EMPTY_OBJECT, EMPTY_SET, ExportDefaultDeclaration, ExpressionStatement, FIXED_STRINGS, INVALID_ANNOTATION_KEY, Identifier, LOGLEVEL_DEBUG, LOGLEVEL_ERROR, LOGLEVEL_INFO, LOGLEVEL_WARN, Literal, Program, Property, ReturnStatement, StaticBlock, TemplateLiteral, URL_OUTPUT_AMD_BASEPATH, URL_OUTPUT_AMD_ID, URL_OUTPUT_DIR, URL_OUTPUT_EXTERNALIMPORTATTRIBUTES, URL_OUTPUT_FORMAT, URL_OUTPUT_GENERATEDCODE, URL_OUTPUT_INLINEDYNAMICIMPORTS, URL_OUTPUT_INTEROP, URL_OUTPUT_MANUALCHUNKS, URL_OUTPUT_SOURCEMAPBASEURL, URL_OUTPUT_SOURCEMAPFILE, URL_PRESERVEENTRYSIGNATURES, URL_TREESHAKE, URL_TREESHAKE_MODULESIDEEFFECTS, URL_WATCH, VariableDeclarator, addTrailingSlashIfMissed, augmentCodeLocation, augmentLogMessage, convertAnnotations, convertNode, error, getAliasName, getAstBuffer, getImportPath, getRollupError, isAbsolute, isPathFragment, isRelative, isValidUrl, locate, logAddonNotGenerated, logAlreadyClosed, logAmbiguousExternalNamespaces, logAnonymousPluginCache, logAssetNotFinalisedForFileName, logAssetReferenceIdNotFoundForSetSource, logAssetSourceAlreadySet, logBadLoader, logCannotAssignModuleToChunk, logCannotCallNamespace, logCannotEmitFromOptionsHook, logChunkInvalid, logChunkNotGeneratedForFileName, logCircularDependency, logCircularReexport, logConflictingSourcemapSources, logConstVariableReassignError, logCyclicCrossChunkReexport, logDuplicateArgumentNameError, logDuplicateExportError, logDuplicatePluginName, logEmptyChunk, logEntryCannotBeExternal, logEval, logExternalModulesCannotBeIncludedInManualChunks, logExternalModulesCannotBeTransformedToModules, logExternalSyntheticExports, logFailedValidation, logFileNameConflict, logFileReferenceIdNotFoundForFilename, logFirstSideEffect, logIllegalIdentifierAsName, logIllegalImportReassignment, logImplicitDependantCannotBeExternal, logImplicitDependantIsNotIncluded, logImportAttributeIsInvalid, logImportOptionsAreInvalid, logIncompatibleExportOptionValue, logInconsistentImportAttributes, logInputHookInOutputPlugin, logInternalIdCannotBeExternal, logInvalidAddonPluginHook, logInvalidAnnotation, logInvalidExportOptionValue, logInvalidFormatForTopLevelAwait, logInvalidFunctionPluginHook, logInvalidLogPosition, logInvalidOption, logInvalidRollupPhaseForChunkEmission, logInvalidSetAssetSourceCall, logInvalidSourcemapForError, logLevelPriority, logMissingEntryExport, logMissingExport, logMissingFileOrDirOption, logMissingGlobalName, logMissingNameOptionForIifeExport, logMissingNameOptionForUmdExport, logMissingNodeBuiltins, logMixedExport, logModuleLevelDirective, logModuleParseError, logNamespaceConflict, logNoAssetSourceSet, logNoTransformMapOrAstWithoutCode, logOptimizeChunkStatus, logParseError, logPluginError, logRedeclarationError, logShimmedExport, logSourcemapBroken, logSyntheticNamedExportsNeedNamespaceExport, logThisIsUndefined, logUnexpectedNamedImport, logUnexpectedNamespaceReexport, logUnknownOption, logUnresolvedEntry, logUnresolvedImplicitDependant, logUnresolvedImport, logUnresolvedImportTreatedAsExternal, logUnusedExternalImports, normalize, parseAst, parseAstAsync, printQuotedStringList, relative, relativeId, warnDeprecation };