@typescript-deploys/pr-build 5.6.0-pr-59106-14 → 5.6.0-pr-59154-2

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.
package/lib/tsc.js CHANGED
@@ -18,7 +18,7 @@ and limitations under the License.
18
18
 
19
19
  // src/compiler/corePublic.ts
20
20
  var versionMajorMinor = "5.6";
21
- var version = `${versionMajorMinor}.0-insiders.20240702`;
21
+ var version = `${versionMajorMinor}.0-insiders.20240705`;
22
22
 
23
23
  // src/compiler/core.ts
24
24
  var emptyArray = [];
@@ -8035,88 +8035,6 @@ var regExpFlagToFirstAvailableLanguageVersion = /* @__PURE__ */ new Map([
8035
8035
  [64 /* UnicodeSets */, 99 /* RegularExpressionFlagsUnicodeSets */],
8036
8036
  [128 /* Sticky */, 2 /* RegularExpressionFlagsSticky */]
8037
8037
  ]);
8038
- var charcodeToTokenInfoCommon = [];
8039
- var charcodeToTokenInfoUncommon = /* @__PURE__ */ new Map();
8040
- for (let i = 0; i < 127 /* maxAsciiCharacter */; i++) {
8041
- charcodeToTokenInfoCommon.push(0);
8042
- }
8043
- for (const [key, value] of [
8044
- // Line Break Whitespace
8045
- [10 /* lineFeed */, 1024 /* LineBreak */],
8046
- [13 /* carriageReturn */, 1024 /* LineBreak */],
8047
- // Single Line Whitespace
8048
- [9 /* tab */, 512 /* Whitespace */],
8049
- [11 /* verticalTab */, 512 /* Whitespace */],
8050
- [12 /* formFeed */, 512 /* Whitespace */],
8051
- [32 /* space */, 512 /* Whitespace */],
8052
- [160 /* nonBreakingSpace */, 512 /* Whitespace */],
8053
- [5760 /* ogham */, 512 /* Whitespace */],
8054
- [8192 /* enQuad */, 512 /* Whitespace */],
8055
- [8193 /* emQuad */, 512 /* Whitespace */],
8056
- [8194 /* enSpace */, 512 /* Whitespace */],
8057
- [8195 /* emSpace */, 512 /* Whitespace */],
8058
- [8196 /* threePerEmSpace */, 512 /* Whitespace */],
8059
- [8197 /* fourPerEmSpace */, 512 /* Whitespace */],
8060
- [8198 /* sixPerEmSpace */, 512 /* Whitespace */],
8061
- [8199 /* figureSpace */, 512 /* Whitespace */],
8062
- [8200 /* punctuationSpace */, 512 /* Whitespace */],
8063
- [8201 /* thinSpace */, 512 /* Whitespace */],
8064
- [8202 /* hairSpace */, 512 /* Whitespace */],
8065
- [8203 /* zeroWidthSpace */, 512 /* Whitespace */],
8066
- [8239 /* narrowNoBreakSpace */, 512 /* Whitespace */],
8067
- [8287 /* mathematicalSpace */, 512 /* Whitespace */],
8068
- [12288 /* ideographicSpace */, 512 /* Whitespace */],
8069
- [65279 /* byteOrderMark */, 512 /* Whitespace */],
8070
- // Simple Single-Character Tokens
8071
- [40 /* openParen */, 256 /* SimpleToken */ | 21 /* OpenParenToken */],
8072
- [41 /* closeParen */, 256 /* SimpleToken */ | 22 /* CloseParenToken */],
8073
- [44 /* comma */, 256 /* SimpleToken */ | 28 /* CommaToken */],
8074
- [58 /* colon */, 256 /* SimpleToken */ | 59 /* ColonToken */],
8075
- [59 /* semicolon */, 256 /* SimpleToken */ | 27 /* SemicolonToken */],
8076
- [91 /* openBracket */, 256 /* SimpleToken */ | 23 /* OpenBracketToken */],
8077
- [93 /* closeBracket */, 256 /* SimpleToken */ | 24 /* CloseBracketToken */],
8078
- [123 /* openBrace */, 256 /* SimpleToken */ | 19 /* OpenBraceToken */],
8079
- [125 /* closeBrace */, 256 /* SimpleToken */ | 20 /* CloseBraceToken */],
8080
- [126 /* tilde */, 256 /* SimpleToken */ | 55 /* TildeToken */],
8081
- [64 /* at */, 256 /* SimpleToken */ | 60 /* AtToken */],
8082
- // Digits
8083
- [48 /* _0 */, 2048 /* Digit */],
8084
- [49 /* _1 */, 2048 /* Digit */],
8085
- [50 /* _2 */, 2048 /* Digit */],
8086
- [51 /* _3 */, 2048 /* Digit */],
8087
- [52 /* _4 */, 2048 /* Digit */],
8088
- [53 /* _5 */, 2048 /* Digit */],
8089
- [54 /* _6 */, 2048 /* Digit */],
8090
- [55 /* _7 */, 2048 /* Digit */],
8091
- [56 /* _8 */, 2048 /* Digit */],
8092
- [57 /* _9 */, 2048 /* Digit */],
8093
- [33 /* exclamation */, 4096 /* RecognizedMisc */],
8094
- [34 /* doubleQuote */, 4096 /* RecognizedMisc */],
8095
- [39 /* singleQuote */, 4096 /* RecognizedMisc */],
8096
- [96 /* backtick */, 4096 /* RecognizedMisc */],
8097
- [37 /* percent */, 4096 /* RecognizedMisc */],
8098
- [38 /* ampersand */, 4096 /* RecognizedMisc */],
8099
- [42 /* asterisk */, 4096 /* RecognizedMisc */],
8100
- [43 /* plus */, 4096 /* RecognizedMisc */],
8101
- [45 /* minus */, 4096 /* RecognizedMisc */],
8102
- [46 /* dot */, 4096 /* RecognizedMisc */],
8103
- [47 /* slash */, 4096 /* RecognizedMisc */],
8104
- [60 /* lessThan */, 4096 /* RecognizedMisc */],
8105
- [61 /* equals */, 4096 /* RecognizedMisc */],
8106
- [62 /* greaterThan */, 4096 /* RecognizedMisc */],
8107
- [63 /* question */, 4096 /* RecognizedMisc */],
8108
- [94 /* caret */, 4096 /* RecognizedMisc */],
8109
- [124 /* bar */, 4096 /* RecognizedMisc */],
8110
- [92 /* backslash */, 4096 /* RecognizedMisc */],
8111
- [35 /* hash */, 4096 /* RecognizedMisc */],
8112
- [65533 /* replacementCharacter */, 4096 /* RecognizedMisc */]
8113
- ]) {
8114
- if (key < charcodeToTokenInfoCommon.length) {
8115
- charcodeToTokenInfoCommon[key] = value;
8116
- } else {
8117
- charcodeToTokenInfoUncommon.set(key, value);
8118
- }
8119
- }
8120
8038
  var unicodeES5IdentifierStart = [170, 170, 181, 181, 186, 186, 192, 214, 216, 246, 248, 705, 710, 721, 736, 740, 748, 748, 750, 750, 880, 884, 886, 887, 890, 893, 902, 902, 904, 906, 908, 908, 910, 929, 931, 1013, 1015, 1153, 1162, 1319, 1329, 1366, 1369, 1369, 1377, 1415, 1488, 1514, 1520, 1522, 1568, 1610, 1646, 1647, 1649, 1747, 1749, 1749, 1765, 1766, 1774, 1775, 1786, 1788, 1791, 1791, 1808, 1808, 1810, 1839, 1869, 1957, 1969, 1969, 1994, 2026, 2036, 2037, 2042, 2042, 2048, 2069, 2074, 2074, 2084, 2084, 2088, 2088, 2112, 2136, 2208, 2208, 2210, 2220, 2308, 2361, 2365, 2365, 2384, 2384, 2392, 2401, 2417, 2423, 2425, 2431, 2437, 2444, 2447, 2448, 2451, 2472, 2474, 2480, 2482, 2482, 2486, 2489, 2493, 2493, 2510, 2510, 2524, 2525, 2527, 2529, 2544, 2545, 2565, 2570, 2575, 2576, 2579, 2600, 2602, 2608, 2610, 2611, 2613, 2614, 2616, 2617, 2649, 2652, 2654, 2654, 2674, 2676, 2693, 2701, 2703, 2705, 2707, 2728, 2730, 2736, 2738, 2739, 2741, 2745, 2749, 2749, 2768, 2768, 2784, 2785, 2821, 2828, 2831, 2832, 2835, 2856, 2858, 2864, 2866, 2867, 2869, 2873, 2877, 2877, 2908, 2909, 2911, 2913, 2929, 2929, 2947, 2947, 2949, 2954, 2958, 2960, 2962, 2965, 2969, 2970, 2972, 2972, 2974, 2975, 2979, 2980, 2984, 2986, 2990, 3001, 3024, 3024, 3077, 3084, 3086, 3088, 3090, 3112, 3114, 3123, 3125, 3129, 3133, 3133, 3160, 3161, 3168, 3169, 3205, 3212, 3214, 3216, 3218, 3240, 3242, 3251, 3253, 3257, 3261, 3261, 3294, 3294, 3296, 3297, 3313, 3314, 3333, 3340, 3342, 3344, 3346, 3386, 3389, 3389, 3406, 3406, 3424, 3425, 3450, 3455, 3461, 3478, 3482, 3505, 3507, 3515, 3517, 3517, 3520, 3526, 3585, 3632, 3634, 3635, 3648, 3654, 3713, 3714, 3716, 3716, 3719, 3720, 3722, 3722, 3725, 3725, 3732, 3735, 3737, 3743, 3745, 3747, 3749, 3749, 3751, 3751, 3754, 3755, 3757, 3760, 3762, 3763, 3773, 3773, 3776, 3780, 3782, 3782, 3804, 3807, 3840, 3840, 3904, 3911, 3913, 3948, 3976, 3980, 4096, 4138, 4159, 4159, 4176, 4181, 4186, 4189, 4193, 4193, 4197, 4198, 4206, 4208, 4213, 4225, 4238, 4238, 4256, 4293, 4295, 4295, 4301, 4301, 4304, 4346, 4348, 4680, 4682, 4685, 4688, 4694, 4696, 4696, 4698, 4701, 4704, 4744, 4746, 4749, 4752, 4784, 4786, 4789, 4792, 4798, 4800, 4800, 4802, 4805, 4808, 4822, 4824, 4880, 4882, 4885, 4888, 4954, 4992, 5007, 5024, 5108, 5121, 5740, 5743, 5759, 5761, 5786, 5792, 5866, 5870, 5872, 5888, 5900, 5902, 5905, 5920, 5937, 5952, 5969, 5984, 5996, 5998, 6e3, 6016, 6067, 6103, 6103, 6108, 6108, 6176, 6263, 6272, 6312, 6314, 6314, 6320, 6389, 6400, 6428, 6480, 6509, 6512, 6516, 6528, 6571, 6593, 6599, 6656, 6678, 6688, 6740, 6823, 6823, 6917, 6963, 6981, 6987, 7043, 7072, 7086, 7087, 7098, 7141, 7168, 7203, 7245, 7247, 7258, 7293, 7401, 7404, 7406, 7409, 7413, 7414, 7424, 7615, 7680, 7957, 7960, 7965, 7968, 8005, 8008, 8013, 8016, 8023, 8025, 8025, 8027, 8027, 8029, 8029, 8031, 8061, 8064, 8116, 8118, 8124, 8126, 8126, 8130, 8132, 8134, 8140, 8144, 8147, 8150, 8155, 8160, 8172, 8178, 8180, 8182, 8188, 8305, 8305, 8319, 8319, 8336, 8348, 8450, 8450, 8455, 8455, 8458, 8467, 8469, 8469, 8473, 8477, 8484, 8484, 8486, 8486, 8488, 8488, 8490, 8493, 8495, 8505, 8508, 8511, 8517, 8521, 8526, 8526, 8544, 8584, 11264, 11310, 11312, 11358, 11360, 11492, 11499, 11502, 11506, 11507, 11520, 11557, 11559, 11559, 11565, 11565, 11568, 11623, 11631, 11631, 11648, 11670, 11680, 11686, 11688, 11694, 11696, 11702, 11704, 11710, 11712, 11718, 11720, 11726, 11728, 11734, 11736, 11742, 11823, 11823, 12293, 12295, 12321, 12329, 12337, 12341, 12344, 12348, 12353, 12438, 12445, 12447, 12449, 12538, 12540, 12543, 12549, 12589, 12593, 12686, 12704, 12730, 12784, 12799, 13312, 19893, 19968, 40908, 40960, 42124, 42192, 42237, 42240, 42508, 42512, 42527, 42538, 42539, 42560, 42606, 42623, 42647, 42656, 42735, 42775, 42783, 42786, 42888, 42891, 42894, 42896, 42899, 42912, 42922, 43e3, 43009, 43011, 43013, 43015, 43018, 43020, 43042, 43072, 43123, 43138, 43187, 43250, 43255, 43259, 43259, 43274, 43301, 43312, 43334, 43360, 43388, 43396, 43442, 43471, 43471, 43520, 43560, 43584, 43586, 43588, 43595, 43616, 43638, 43642, 43642, 43648, 43695, 43697, 43697, 43701, 43702, 43705, 43709, 43712, 43712, 43714, 43714, 43739, 43741, 43744, 43754, 43762, 43764, 43777, 43782, 43785, 43790, 43793, 43798, 43808, 43814, 43816, 43822, 43968, 44002, 44032, 55203, 55216, 55238, 55243, 55291, 63744, 64109, 64112, 64217, 64256, 64262, 64275, 64279, 64285, 64285, 64287, 64296, 64298, 64310, 64312, 64316, 64318, 64318, 64320, 64321, 64323, 64324, 64326, 64433, 64467, 64829, 64848, 64911, 64914, 64967, 65008, 65019, 65136, 65140, 65142, 65276, 65313, 65338, 65345, 65370, 65382, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500];
8121
8039
  var unicodeES5IdentifierPart = [170, 170, 181, 181, 186, 186, 192, 214, 216, 246, 248, 705, 710, 721, 736, 740, 748, 748, 750, 750, 768, 884, 886, 887, 890, 893, 902, 902, 904, 906, 908, 908, 910, 929, 931, 1013, 1015, 1153, 1155, 1159, 1162, 1319, 1329, 1366, 1369, 1369, 1377, 1415, 1425, 1469, 1471, 1471, 1473, 1474, 1476, 1477, 1479, 1479, 1488, 1514, 1520, 1522, 1552, 1562, 1568, 1641, 1646, 1747, 1749, 1756, 1759, 1768, 1770, 1788, 1791, 1791, 1808, 1866, 1869, 1969, 1984, 2037, 2042, 2042, 2048, 2093, 2112, 2139, 2208, 2208, 2210, 2220, 2276, 2302, 2304, 2403, 2406, 2415, 2417, 2423, 2425, 2431, 2433, 2435, 2437, 2444, 2447, 2448, 2451, 2472, 2474, 2480, 2482, 2482, 2486, 2489, 2492, 2500, 2503, 2504, 2507, 2510, 2519, 2519, 2524, 2525, 2527, 2531, 2534, 2545, 2561, 2563, 2565, 2570, 2575, 2576, 2579, 2600, 2602, 2608, 2610, 2611, 2613, 2614, 2616, 2617, 2620, 2620, 2622, 2626, 2631, 2632, 2635, 2637, 2641, 2641, 2649, 2652, 2654, 2654, 2662, 2677, 2689, 2691, 2693, 2701, 2703, 2705, 2707, 2728, 2730, 2736, 2738, 2739, 2741, 2745, 2748, 2757, 2759, 2761, 2763, 2765, 2768, 2768, 2784, 2787, 2790, 2799, 2817, 2819, 2821, 2828, 2831, 2832, 2835, 2856, 2858, 2864, 2866, 2867, 2869, 2873, 2876, 2884, 2887, 2888, 2891, 2893, 2902, 2903, 2908, 2909, 2911, 2915, 2918, 2927, 2929, 2929, 2946, 2947, 2949, 2954, 2958, 2960, 2962, 2965, 2969, 2970, 2972, 2972, 2974, 2975, 2979, 2980, 2984, 2986, 2990, 3001, 3006, 3010, 3014, 3016, 3018, 3021, 3024, 3024, 3031, 3031, 3046, 3055, 3073, 3075, 3077, 3084, 3086, 3088, 3090, 3112, 3114, 3123, 3125, 3129, 3133, 3140, 3142, 3144, 3146, 3149, 3157, 3158, 3160, 3161, 3168, 3171, 3174, 3183, 3202, 3203, 3205, 3212, 3214, 3216, 3218, 3240, 3242, 3251, 3253, 3257, 3260, 3268, 3270, 3272, 3274, 3277, 3285, 3286, 3294, 3294, 3296, 3299, 3302, 3311, 3313, 3314, 3330, 3331, 3333, 3340, 3342, 3344, 3346, 3386, 3389, 3396, 3398, 3400, 3402, 3406, 3415, 3415, 3424, 3427, 3430, 3439, 3450, 3455, 3458, 3459, 3461, 3478, 3482, 3505, 3507, 3515, 3517, 3517, 3520, 3526, 3530, 3530, 3535, 3540, 3542, 3542, 3544, 3551, 3570, 3571, 3585, 3642, 3648, 3662, 3664, 3673, 3713, 3714, 3716, 3716, 3719, 3720, 3722, 3722, 3725, 3725, 3732, 3735, 3737, 3743, 3745, 3747, 3749, 3749, 3751, 3751, 3754, 3755, 3757, 3769, 3771, 3773, 3776, 3780, 3782, 3782, 3784, 3789, 3792, 3801, 3804, 3807, 3840, 3840, 3864, 3865, 3872, 3881, 3893, 3893, 3895, 3895, 3897, 3897, 3902, 3911, 3913, 3948, 3953, 3972, 3974, 3991, 3993, 4028, 4038, 4038, 4096, 4169, 4176, 4253, 4256, 4293, 4295, 4295, 4301, 4301, 4304, 4346, 4348, 4680, 4682, 4685, 4688, 4694, 4696, 4696, 4698, 4701, 4704, 4744, 4746, 4749, 4752, 4784, 4786, 4789, 4792, 4798, 4800, 4800, 4802, 4805, 4808, 4822, 4824, 4880, 4882, 4885, 4888, 4954, 4957, 4959, 4992, 5007, 5024, 5108, 5121, 5740, 5743, 5759, 5761, 5786, 5792, 5866, 5870, 5872, 5888, 5900, 5902, 5908, 5920, 5940, 5952, 5971, 5984, 5996, 5998, 6e3, 6002, 6003, 6016, 6099, 6103, 6103, 6108, 6109, 6112, 6121, 6155, 6157, 6160, 6169, 6176, 6263, 6272, 6314, 6320, 6389, 6400, 6428, 6432, 6443, 6448, 6459, 6470, 6509, 6512, 6516, 6528, 6571, 6576, 6601, 6608, 6617, 6656, 6683, 6688, 6750, 6752, 6780, 6783, 6793, 6800, 6809, 6823, 6823, 6912, 6987, 6992, 7001, 7019, 7027, 7040, 7155, 7168, 7223, 7232, 7241, 7245, 7293, 7376, 7378, 7380, 7414, 7424, 7654, 7676, 7957, 7960, 7965, 7968, 8005, 8008, 8013, 8016, 8023, 8025, 8025, 8027, 8027, 8029, 8029, 8031, 8061, 8064, 8116, 8118, 8124, 8126, 8126, 8130, 8132, 8134, 8140, 8144, 8147, 8150, 8155, 8160, 8172, 8178, 8180, 8182, 8188, 8204, 8205, 8255, 8256, 8276, 8276, 8305, 8305, 8319, 8319, 8336, 8348, 8400, 8412, 8417, 8417, 8421, 8432, 8450, 8450, 8455, 8455, 8458, 8467, 8469, 8469, 8473, 8477, 8484, 8484, 8486, 8486, 8488, 8488, 8490, 8493, 8495, 8505, 8508, 8511, 8517, 8521, 8526, 8526, 8544, 8584, 11264, 11310, 11312, 11358, 11360, 11492, 11499, 11507, 11520, 11557, 11559, 11559, 11565, 11565, 11568, 11623, 11631, 11631, 11647, 11670, 11680, 11686, 11688, 11694, 11696, 11702, 11704, 11710, 11712, 11718, 11720, 11726, 11728, 11734, 11736, 11742, 11744, 11775, 11823, 11823, 12293, 12295, 12321, 12335, 12337, 12341, 12344, 12348, 12353, 12438, 12441, 12442, 12445, 12447, 12449, 12538, 12540, 12543, 12549, 12589, 12593, 12686, 12704, 12730, 12784, 12799, 13312, 19893, 19968, 40908, 40960, 42124, 42192, 42237, 42240, 42508, 42512, 42539, 42560, 42607, 42612, 42621, 42623, 42647, 42655, 42737, 42775, 42783, 42786, 42888, 42891, 42894, 42896, 42899, 42912, 42922, 43e3, 43047, 43072, 43123, 43136, 43204, 43216, 43225, 43232, 43255, 43259, 43259, 43264, 43309, 43312, 43347, 43360, 43388, 43392, 43456, 43471, 43481, 43520, 43574, 43584, 43597, 43600, 43609, 43616, 43638, 43642, 43643, 43648, 43714, 43739, 43741, 43744, 43759, 43762, 43766, 43777, 43782, 43785, 43790, 43793, 43798, 43808, 43814, 43816, 43822, 43968, 44010, 44012, 44013, 44016, 44025, 44032, 55203, 55216, 55238, 55243, 55291, 63744, 64109, 64112, 64217, 64256, 64262, 64275, 64279, 64285, 64296, 64298, 64310, 64312, 64316, 64318, 64318, 64320, 64321, 64323, 64324, 64326, 64433, 64467, 64829, 64848, 64911, 64914, 64967, 65008, 65019, 65024, 65039, 65056, 65062, 65075, 65076, 65101, 65103, 65136, 65140, 65142, 65276, 65296, 65305, 65313, 65338, 65343, 65343, 65345, 65370, 65382, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500];
8122
8040
  var unicodeESNextIdentifierStart = [65, 90, 97, 122, 170, 170, 181, 181, 186, 186, 192, 214, 216, 246, 248, 705, 710, 721, 736, 740, 748, 748, 750, 750, 880, 884, 886, 887, 890, 893, 895, 895, 902, 902, 904, 906, 908, 908, 910, 929, 931, 1013, 1015, 1153, 1162, 1327, 1329, 1366, 1369, 1369, 1376, 1416, 1488, 1514, 1519, 1522, 1568, 1610, 1646, 1647, 1649, 1747, 1749, 1749, 1765, 1766, 1774, 1775, 1786, 1788, 1791, 1791, 1808, 1808, 1810, 1839, 1869, 1957, 1969, 1969, 1994, 2026, 2036, 2037, 2042, 2042, 2048, 2069, 2074, 2074, 2084, 2084, 2088, 2088, 2112, 2136, 2144, 2154, 2160, 2183, 2185, 2190, 2208, 2249, 2308, 2361, 2365, 2365, 2384, 2384, 2392, 2401, 2417, 2432, 2437, 2444, 2447, 2448, 2451, 2472, 2474, 2480, 2482, 2482, 2486, 2489, 2493, 2493, 2510, 2510, 2524, 2525, 2527, 2529, 2544, 2545, 2556, 2556, 2565, 2570, 2575, 2576, 2579, 2600, 2602, 2608, 2610, 2611, 2613, 2614, 2616, 2617, 2649, 2652, 2654, 2654, 2674, 2676, 2693, 2701, 2703, 2705, 2707, 2728, 2730, 2736, 2738, 2739, 2741, 2745, 2749, 2749, 2768, 2768, 2784, 2785, 2809, 2809, 2821, 2828, 2831, 2832, 2835, 2856, 2858, 2864, 2866, 2867, 2869, 2873, 2877, 2877, 2908, 2909, 2911, 2913, 2929, 2929, 2947, 2947, 2949, 2954, 2958, 2960, 2962, 2965, 2969, 2970, 2972, 2972, 2974, 2975, 2979, 2980, 2984, 2986, 2990, 3001, 3024, 3024, 3077, 3084, 3086, 3088, 3090, 3112, 3114, 3129, 3133, 3133, 3160, 3162, 3165, 3165, 3168, 3169, 3200, 3200, 3205, 3212, 3214, 3216, 3218, 3240, 3242, 3251, 3253, 3257, 3261, 3261, 3293, 3294, 3296, 3297, 3313, 3314, 3332, 3340, 3342, 3344, 3346, 3386, 3389, 3389, 3406, 3406, 3412, 3414, 3423, 3425, 3450, 3455, 3461, 3478, 3482, 3505, 3507, 3515, 3517, 3517, 3520, 3526, 3585, 3632, 3634, 3635, 3648, 3654, 3713, 3714, 3716, 3716, 3718, 3722, 3724, 3747, 3749, 3749, 3751, 3760, 3762, 3763, 3773, 3773, 3776, 3780, 3782, 3782, 3804, 3807, 3840, 3840, 3904, 3911, 3913, 3948, 3976, 3980, 4096, 4138, 4159, 4159, 4176, 4181, 4186, 4189, 4193, 4193, 4197, 4198, 4206, 4208, 4213, 4225, 4238, 4238, 4256, 4293, 4295, 4295, 4301, 4301, 4304, 4346, 4348, 4680, 4682, 4685, 4688, 4694, 4696, 4696, 4698, 4701, 4704, 4744, 4746, 4749, 4752, 4784, 4786, 4789, 4792, 4798, 4800, 4800, 4802, 4805, 4808, 4822, 4824, 4880, 4882, 4885, 4888, 4954, 4992, 5007, 5024, 5109, 5112, 5117, 5121, 5740, 5743, 5759, 5761, 5786, 5792, 5866, 5870, 5880, 5888, 5905, 5919, 5937, 5952, 5969, 5984, 5996, 5998, 6e3, 6016, 6067, 6103, 6103, 6108, 6108, 6176, 6264, 6272, 6312, 6314, 6314, 6320, 6389, 6400, 6430, 6480, 6509, 6512, 6516, 6528, 6571, 6576, 6601, 6656, 6678, 6688, 6740, 6823, 6823, 6917, 6963, 6981, 6988, 7043, 7072, 7086, 7087, 7098, 7141, 7168, 7203, 7245, 7247, 7258, 7293, 7296, 7304, 7312, 7354, 7357, 7359, 7401, 7404, 7406, 7411, 7413, 7414, 7418, 7418, 7424, 7615, 7680, 7957, 7960, 7965, 7968, 8005, 8008, 8013, 8016, 8023, 8025, 8025, 8027, 8027, 8029, 8029, 8031, 8061, 8064, 8116, 8118, 8124, 8126, 8126, 8130, 8132, 8134, 8140, 8144, 8147, 8150, 8155, 8160, 8172, 8178, 8180, 8182, 8188, 8305, 8305, 8319, 8319, 8336, 8348, 8450, 8450, 8455, 8455, 8458, 8467, 8469, 8469, 8472, 8477, 8484, 8484, 8486, 8486, 8488, 8488, 8490, 8505, 8508, 8511, 8517, 8521, 8526, 8526, 8544, 8584, 11264, 11492, 11499, 11502, 11506, 11507, 11520, 11557, 11559, 11559, 11565, 11565, 11568, 11623, 11631, 11631, 11648, 11670, 11680, 11686, 11688, 11694, 11696, 11702, 11704, 11710, 11712, 11718, 11720, 11726, 11728, 11734, 11736, 11742, 12293, 12295, 12321, 12329, 12337, 12341, 12344, 12348, 12353, 12438, 12443, 12447, 12449, 12538, 12540, 12543, 12549, 12591, 12593, 12686, 12704, 12735, 12784, 12799, 13312, 19903, 19968, 42124, 42192, 42237, 42240, 42508, 42512, 42527, 42538, 42539, 42560, 42606, 42623, 42653, 42656, 42735, 42775, 42783, 42786, 42888, 42891, 42954, 42960, 42961, 42963, 42963, 42965, 42969, 42994, 43009, 43011, 43013, 43015, 43018, 43020, 43042, 43072, 43123, 43138, 43187, 43250, 43255, 43259, 43259, 43261, 43262, 43274, 43301, 43312, 43334, 43360, 43388, 43396, 43442, 43471, 43471, 43488, 43492, 43494, 43503, 43514, 43518, 43520, 43560, 43584, 43586, 43588, 43595, 43616, 43638, 43642, 43642, 43646, 43695, 43697, 43697, 43701, 43702, 43705, 43709, 43712, 43712, 43714, 43714, 43739, 43741, 43744, 43754, 43762, 43764, 43777, 43782, 43785, 43790, 43793, 43798, 43808, 43814, 43816, 43822, 43824, 43866, 43868, 43881, 43888, 44002, 44032, 55203, 55216, 55238, 55243, 55291, 63744, 64109, 64112, 64217, 64256, 64262, 64275, 64279, 64285, 64285, 64287, 64296, 64298, 64310, 64312, 64316, 64318, 64318, 64320, 64321, 64323, 64324, 64326, 64433, 64467, 64829, 64848, 64911, 64914, 64967, 65008, 65019, 65136, 65140, 65142, 65276, 65313, 65338, 65345, 65370, 65382, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500, 65536, 65547, 65549, 65574, 65576, 65594, 65596, 65597, 65599, 65613, 65616, 65629, 65664, 65786, 65856, 65908, 66176, 66204, 66208, 66256, 66304, 66335, 66349, 66378, 66384, 66421, 66432, 66461, 66464, 66499, 66504, 66511, 66513, 66517, 66560, 66717, 66736, 66771, 66776, 66811, 66816, 66855, 66864, 66915, 66928, 66938, 66940, 66954, 66956, 66962, 66964, 66965, 66967, 66977, 66979, 66993, 66995, 67001, 67003, 67004, 67072, 67382, 67392, 67413, 67424, 67431, 67456, 67461, 67463, 67504, 67506, 67514, 67584, 67589, 67592, 67592, 67594, 67637, 67639, 67640, 67644, 67644, 67647, 67669, 67680, 67702, 67712, 67742, 67808, 67826, 67828, 67829, 67840, 67861, 67872, 67897, 67968, 68023, 68030, 68031, 68096, 68096, 68112, 68115, 68117, 68119, 68121, 68149, 68192, 68220, 68224, 68252, 68288, 68295, 68297, 68324, 68352, 68405, 68416, 68437, 68448, 68466, 68480, 68497, 68608, 68680, 68736, 68786, 68800, 68850, 68864, 68899, 69248, 69289, 69296, 69297, 69376, 69404, 69415, 69415, 69424, 69445, 69488, 69505, 69552, 69572, 69600, 69622, 69635, 69687, 69745, 69746, 69749, 69749, 69763, 69807, 69840, 69864, 69891, 69926, 69956, 69956, 69959, 69959, 69968, 70002, 70006, 70006, 70019, 70066, 70081, 70084, 70106, 70106, 70108, 70108, 70144, 70161, 70163, 70187, 70207, 70208, 70272, 70278, 70280, 70280, 70282, 70285, 70287, 70301, 70303, 70312, 70320, 70366, 70405, 70412, 70415, 70416, 70419, 70440, 70442, 70448, 70450, 70451, 70453, 70457, 70461, 70461, 70480, 70480, 70493, 70497, 70656, 70708, 70727, 70730, 70751, 70753, 70784, 70831, 70852, 70853, 70855, 70855, 71040, 71086, 71128, 71131, 71168, 71215, 71236, 71236, 71296, 71338, 71352, 71352, 71424, 71450, 71488, 71494, 71680, 71723, 71840, 71903, 71935, 71942, 71945, 71945, 71948, 71955, 71957, 71958, 71960, 71983, 71999, 71999, 72001, 72001, 72096, 72103, 72106, 72144, 72161, 72161, 72163, 72163, 72192, 72192, 72203, 72242, 72250, 72250, 72272, 72272, 72284, 72329, 72349, 72349, 72368, 72440, 72704, 72712, 72714, 72750, 72768, 72768, 72818, 72847, 72960, 72966, 72968, 72969, 72971, 73008, 73030, 73030, 73056, 73061, 73063, 73064, 73066, 73097, 73112, 73112, 73440, 73458, 73474, 73474, 73476, 73488, 73490, 73523, 73648, 73648, 73728, 74649, 74752, 74862, 74880, 75075, 77712, 77808, 77824, 78895, 78913, 78918, 82944, 83526, 92160, 92728, 92736, 92766, 92784, 92862, 92880, 92909, 92928, 92975, 92992, 92995, 93027, 93047, 93053, 93071, 93760, 93823, 93952, 94026, 94032, 94032, 94099, 94111, 94176, 94177, 94179, 94179, 94208, 100343, 100352, 101589, 101632, 101640, 110576, 110579, 110581, 110587, 110589, 110590, 110592, 110882, 110898, 110898, 110928, 110930, 110933, 110933, 110948, 110951, 110960, 111355, 113664, 113770, 113776, 113788, 113792, 113800, 113808, 113817, 119808, 119892, 119894, 119964, 119966, 119967, 119970, 119970, 119973, 119974, 119977, 119980, 119982, 119993, 119995, 119995, 119997, 120003, 120005, 120069, 120071, 120074, 120077, 120084, 120086, 120092, 120094, 120121, 120123, 120126, 120128, 120132, 120134, 120134, 120138, 120144, 120146, 120485, 120488, 120512, 120514, 120538, 120540, 120570, 120572, 120596, 120598, 120628, 120630, 120654, 120656, 120686, 120688, 120712, 120714, 120744, 120746, 120770, 120772, 120779, 122624, 122654, 122661, 122666, 122928, 122989, 123136, 123180, 123191, 123197, 123214, 123214, 123536, 123565, 123584, 123627, 124112, 124139, 124896, 124902, 124904, 124907, 124909, 124910, 124912, 124926, 124928, 125124, 125184, 125251, 125259, 125259, 126464, 126467, 126469, 126495, 126497, 126498, 126500, 126500, 126503, 126503, 126505, 126514, 126516, 126519, 126521, 126521, 126523, 126523, 126530, 126530, 126535, 126535, 126537, 126537, 126539, 126539, 126541, 126543, 126545, 126546, 126548, 126548, 126551, 126551, 126553, 126553, 126555, 126555, 126557, 126557, 126559, 126559, 126561, 126562, 126564, 126564, 126567, 126570, 126572, 126578, 126580, 126583, 126585, 126588, 126590, 126590, 126592, 126601, 126603, 126619, 126625, 126627, 126629, 126633, 126635, 126651, 131072, 173791, 173824, 177977, 177984, 178205, 178208, 183969, 183984, 191456, 191472, 192093, 194560, 195101, 196608, 201546, 201552, 205743];
@@ -9279,34 +9197,53 @@ function createScanner(languageVersion, skipTrivia2, languageVariant = 0 /* Stan
9279
9197
  return token = 1 /* EndOfFileToken */;
9280
9198
  }
9281
9199
  const ch = codePointUnchecked(pos);
9282
- if (ch === 9 /* tab */ || ch === 32 /* space */) {
9283
- if (skipTrivia2) {
9284
- pos++;
9285
- continue;
9286
- } else {
9287
- while (pos < end && isWhiteSpaceSingleLine(charCodeUnchecked(pos))) {
9288
- pos++;
9200
+ if (pos === 0) {
9201
+ if (ch === 35 /* hash */ && isShebangTrivia(text, pos)) {
9202
+ pos = scanShebangTrivia(text, pos);
9203
+ if (skipTrivia2) {
9204
+ continue;
9205
+ } else {
9206
+ return token = 6 /* ShebangTrivia */;
9289
9207
  }
9290
- return token = 5 /* WhitespaceTrivia */;
9291
9208
  }
9292
9209
  }
9293
- if (ch === 10 /* lineFeed */ || ch === 13 /* carriageReturn */) {
9294
- tokenFlags |= 1 /* PrecedingLineBreak */;
9295
- if (skipTrivia2) {
9296
- pos++;
9297
- continue;
9298
- } else {
9299
- if (ch === 13 /* carriageReturn */ && pos + 1 < end && charCodeUnchecked(pos + 1) === 10 /* lineFeed */) {
9300
- pos += 2;
9301
- } else {
9210
+ switch (ch) {
9211
+ case 10 /* lineFeed */:
9212
+ case 13 /* carriageReturn */:
9213
+ tokenFlags |= 1 /* PrecedingLineBreak */;
9214
+ if (skipTrivia2) {
9302
9215
  pos++;
9216
+ continue;
9217
+ } else {
9218
+ if (ch === 13 /* carriageReturn */ && pos + 1 < end && charCodeUnchecked(pos + 1) === 10 /* lineFeed */) {
9219
+ pos += 2;
9220
+ } else {
9221
+ pos++;
9222
+ }
9223
+ return token = 4 /* NewLineTrivia */;
9303
9224
  }
9304
- return token = 4 /* NewLineTrivia */;
9305
- }
9306
- }
9307
- const tokenInfo = ch < charcodeToTokenInfoCommon.length ? charcodeToTokenInfoCommon[ch] : charcodeToTokenInfoUncommon.get(ch) ?? 0 /* None */;
9308
- if (tokenInfo !== 0 /* None */) {
9309
- if (tokenInfo & 512 /* Whitespace */) {
9225
+ case 9 /* tab */:
9226
+ case 11 /* verticalTab */:
9227
+ case 12 /* formFeed */:
9228
+ case 32 /* space */:
9229
+ case 160 /* nonBreakingSpace */:
9230
+ case 5760 /* ogham */:
9231
+ case 8192 /* enQuad */:
9232
+ case 8193 /* emQuad */:
9233
+ case 8194 /* enSpace */:
9234
+ case 8195 /* emSpace */:
9235
+ case 8196 /* threePerEmSpace */:
9236
+ case 8197 /* fourPerEmSpace */:
9237
+ case 8198 /* sixPerEmSpace */:
9238
+ case 8199 /* figureSpace */:
9239
+ case 8200 /* punctuationSpace */:
9240
+ case 8201 /* thinSpace */:
9241
+ case 8202 /* hairSpace */:
9242
+ case 8203 /* zeroWidthSpace */:
9243
+ case 8239 /* narrowNoBreakSpace */:
9244
+ case 8287 /* mathematicalSpace */:
9245
+ case 12288 /* ideographicSpace */:
9246
+ case 65279 /* byteOrderMark */:
9310
9247
  if (skipTrivia2) {
9311
9248
  pos++;
9312
9249
  continue;
@@ -9316,374 +9253,397 @@ function createScanner(languageVersion, skipTrivia2, languageVariant = 0 /* Stan
9316
9253
  }
9317
9254
  return token = 5 /* WhitespaceTrivia */;
9318
9255
  }
9319
- }
9320
- if (tokenInfo & 256 /* SimpleToken */) {
9256
+ case 33 /* exclamation */:
9257
+ if (charCodeUnchecked(pos + 1) === 61 /* equals */) {
9258
+ if (charCodeUnchecked(pos + 2) === 61 /* equals */) {
9259
+ return pos += 3, token = 38 /* ExclamationEqualsEqualsToken */;
9260
+ }
9261
+ return pos += 2, token = 36 /* ExclamationEqualsToken */;
9262
+ }
9321
9263
  pos++;
9322
- return token = tokenInfo & 255 /* SimpleTokenMask */;
9323
- }
9324
- if (tokenInfo & 2048 /* Digit */) {
9325
- if (ch === 48 /* _0 */) {
9326
- if (pos + 2 < end && (charCodeUnchecked(pos + 1) === 88 /* X */ || charCodeUnchecked(pos + 1) === 120 /* x */)) {
9327
- pos += 2;
9328
- tokenValue = scanMinimumNumberOfHexDigits(
9329
- 1,
9330
- /*canHaveSeparators*/
9331
- true
9332
- );
9333
- if (!tokenValue) {
9334
- error(Diagnostics.Hexadecimal_digit_expected);
9335
- tokenValue = "0";
9336
- }
9337
- tokenValue = "0x" + tokenValue;
9338
- tokenFlags |= 64 /* HexSpecifier */;
9339
- return token = checkBigIntSuffix();
9340
- } else if (pos + 2 < end && (charCodeUnchecked(pos + 1) === 66 /* B */ || charCodeUnchecked(pos + 1) === 98 /* b */)) {
9341
- pos += 2;
9342
- tokenValue = scanBinaryOrOctalDigits(
9343
- /* base */
9344
- 2
9345
- );
9346
- if (!tokenValue) {
9347
- error(Diagnostics.Binary_digit_expected);
9348
- tokenValue = "0";
9349
- }
9350
- tokenValue = "0b" + tokenValue;
9351
- tokenFlags |= 128 /* BinarySpecifier */;
9352
- return token = checkBigIntSuffix();
9353
- } else if (pos + 2 < end && (charCodeUnchecked(pos + 1) === 79 /* O */ || charCodeUnchecked(pos + 1) === 111 /* o */)) {
9354
- pos += 2;
9355
- tokenValue = scanBinaryOrOctalDigits(
9356
- /* base */
9357
- 8
9358
- );
9359
- if (!tokenValue) {
9360
- error(Diagnostics.Octal_digit_expected);
9361
- tokenValue = "0";
9362
- }
9363
- tokenValue = "0o" + tokenValue;
9364
- tokenFlags |= 256 /* OctalSpecifier */;
9365
- return token = checkBigIntSuffix();
9264
+ return token = 54 /* ExclamationToken */;
9265
+ case 34 /* doubleQuote */:
9266
+ case 39 /* singleQuote */:
9267
+ tokenValue = scanString();
9268
+ return token = 11 /* StringLiteral */;
9269
+ case 96 /* backtick */:
9270
+ return token = scanTemplateAndSetTokenValue(
9271
+ /*shouldEmitInvalidEscapeError*/
9272
+ false
9273
+ );
9274
+ case 37 /* percent */:
9275
+ if (charCodeUnchecked(pos + 1) === 61 /* equals */) {
9276
+ return pos += 2, token = 70 /* PercentEqualsToken */;
9277
+ }
9278
+ pos++;
9279
+ return token = 45 /* PercentToken */;
9280
+ case 38 /* ampersand */:
9281
+ if (charCodeUnchecked(pos + 1) === 38 /* ampersand */) {
9282
+ if (charCodeUnchecked(pos + 2) === 61 /* equals */) {
9283
+ return pos += 3, token = 77 /* AmpersandAmpersandEqualsToken */;
9366
9284
  }
9285
+ return pos += 2, token = 56 /* AmpersandAmpersandToken */;
9367
9286
  }
9368
- return token = scanNumber();
9369
- }
9370
- Debug.assert(tokenInfo & 4096 /* RecognizedMisc */);
9371
- switch (ch) {
9372
- case 33 /* exclamation */:
9373
- if (charCodeUnchecked(pos + 1) === 61 /* equals */) {
9374
- if (charCodeUnchecked(pos + 2) === 61 /* equals */) {
9375
- return pos += 3, token = 38 /* ExclamationEqualsEqualsToken */;
9287
+ if (charCodeUnchecked(pos + 1) === 61 /* equals */) {
9288
+ return pos += 2, token = 74 /* AmpersandEqualsToken */;
9289
+ }
9290
+ pos++;
9291
+ return token = 51 /* AmpersandToken */;
9292
+ case 40 /* openParen */:
9293
+ pos++;
9294
+ return token = 21 /* OpenParenToken */;
9295
+ case 41 /* closeParen */:
9296
+ pos++;
9297
+ return token = 22 /* CloseParenToken */;
9298
+ case 42 /* asterisk */:
9299
+ if (charCodeUnchecked(pos + 1) === 61 /* equals */) {
9300
+ return pos += 2, token = 67 /* AsteriskEqualsToken */;
9301
+ }
9302
+ if (charCodeUnchecked(pos + 1) === 42 /* asterisk */) {
9303
+ if (charCodeUnchecked(pos + 2) === 61 /* equals */) {
9304
+ return pos += 3, token = 68 /* AsteriskAsteriskEqualsToken */;
9305
+ }
9306
+ return pos += 2, token = 43 /* AsteriskAsteriskToken */;
9307
+ }
9308
+ pos++;
9309
+ if (skipJsDocLeadingAsterisks && !asteriskSeen && tokenFlags & 1 /* PrecedingLineBreak */) {
9310
+ asteriskSeen = true;
9311
+ continue;
9312
+ }
9313
+ return token = 42 /* AsteriskToken */;
9314
+ case 43 /* plus */:
9315
+ if (charCodeUnchecked(pos + 1) === 43 /* plus */) {
9316
+ return pos += 2, token = 46 /* PlusPlusToken */;
9317
+ }
9318
+ if (charCodeUnchecked(pos + 1) === 61 /* equals */) {
9319
+ return pos += 2, token = 65 /* PlusEqualsToken */;
9320
+ }
9321
+ pos++;
9322
+ return token = 40 /* PlusToken */;
9323
+ case 44 /* comma */:
9324
+ pos++;
9325
+ return token = 28 /* CommaToken */;
9326
+ case 45 /* minus */:
9327
+ if (charCodeUnchecked(pos + 1) === 45 /* minus */) {
9328
+ return pos += 2, token = 47 /* MinusMinusToken */;
9329
+ }
9330
+ if (charCodeUnchecked(pos + 1) === 61 /* equals */) {
9331
+ return pos += 2, token = 66 /* MinusEqualsToken */;
9332
+ }
9333
+ pos++;
9334
+ return token = 41 /* MinusToken */;
9335
+ case 46 /* dot */:
9336
+ if (isDigit(charCodeUnchecked(pos + 1))) {
9337
+ scanNumber();
9338
+ return token = 9 /* NumericLiteral */;
9339
+ }
9340
+ if (charCodeUnchecked(pos + 1) === 46 /* dot */ && charCodeUnchecked(pos + 2) === 46 /* dot */) {
9341
+ return pos += 3, token = 26 /* DotDotDotToken */;
9342
+ }
9343
+ pos++;
9344
+ return token = 25 /* DotToken */;
9345
+ case 47 /* slash */:
9346
+ if (charCodeUnchecked(pos + 1) === 47 /* slash */) {
9347
+ pos += 2;
9348
+ while (pos < end) {
9349
+ if (isLineBreak(charCodeUnchecked(pos))) {
9350
+ break;
9376
9351
  }
9377
- return pos += 2, token = 36 /* ExclamationEqualsToken */;
9352
+ pos++;
9378
9353
  }
9379
- pos++;
9380
- return token = 54 /* ExclamationToken */;
9381
- case 34 /* doubleQuote */:
9382
- case 39 /* singleQuote */:
9383
- tokenValue = scanString();
9384
- return token = 11 /* StringLiteral */;
9385
- case 96 /* backtick */:
9386
- return token = scanTemplateAndSetTokenValue(
9387
- /*shouldEmitInvalidEscapeError*/
9388
- false
9354
+ commentDirectives = appendIfCommentDirective(
9355
+ commentDirectives,
9356
+ text.slice(tokenStart, pos),
9357
+ commentDirectiveRegExSingleLine,
9358
+ tokenStart
9389
9359
  );
9390
- case 37 /* percent */:
9391
- if (charCodeUnchecked(pos + 1) === 61 /* equals */) {
9392
- return pos += 2, token = 70 /* PercentEqualsToken */;
9360
+ if (skipTrivia2) {
9361
+ continue;
9362
+ } else {
9363
+ return token = 2 /* SingleLineCommentTrivia */;
9393
9364
  }
9394
- pos++;
9395
- return token = 45 /* PercentToken */;
9396
- case 38 /* ampersand */:
9397
- if (charCodeUnchecked(pos + 1) === 38 /* ampersand */) {
9398
- if (charCodeUnchecked(pos + 2) === 61 /* equals */) {
9399
- return pos += 3, token = 77 /* AmpersandAmpersandEqualsToken */;
9365
+ }
9366
+ if (charCodeUnchecked(pos + 1) === 42 /* asterisk */) {
9367
+ pos += 2;
9368
+ const isJSDoc2 = charCodeUnchecked(pos) === 42 /* asterisk */ && charCodeUnchecked(pos + 1) !== 47 /* slash */;
9369
+ let commentClosed = false;
9370
+ let lastLineStart = tokenStart;
9371
+ while (pos < end) {
9372
+ const ch2 = charCodeUnchecked(pos);
9373
+ if (ch2 === 42 /* asterisk */ && charCodeUnchecked(pos + 1) === 47 /* slash */) {
9374
+ pos += 2;
9375
+ commentClosed = true;
9376
+ break;
9400
9377
  }
9401
- return pos += 2, token = 56 /* AmpersandAmpersandToken */;
9402
- }
9403
- if (charCodeUnchecked(pos + 1) === 61 /* equals */) {
9404
- return pos += 2, token = 74 /* AmpersandEqualsToken */;
9405
- }
9406
- pos++;
9407
- return token = 51 /* AmpersandToken */;
9408
- case 42 /* asterisk */:
9409
- if (charCodeUnchecked(pos + 1) === 61 /* equals */) {
9410
- return pos += 2, token = 67 /* AsteriskEqualsToken */;
9411
- }
9412
- if (charCodeUnchecked(pos + 1) === 42 /* asterisk */) {
9413
- if (charCodeUnchecked(pos + 2) === 61 /* equals */) {
9414
- return pos += 3, token = 68 /* AsteriskAsteriskEqualsToken */;
9378
+ pos++;
9379
+ if (isLineBreak(ch2)) {
9380
+ lastLineStart = pos;
9381
+ tokenFlags |= 1 /* PrecedingLineBreak */;
9415
9382
  }
9416
- return pos += 2, token = 43 /* AsteriskAsteriskToken */;
9417
- }
9418
- pos++;
9419
- if (skipJsDocLeadingAsterisks && !asteriskSeen && tokenFlags & 1 /* PrecedingLineBreak */) {
9420
- asteriskSeen = true;
9421
- continue;
9422
- }
9423
- return token = 42 /* AsteriskToken */;
9424
- case 43 /* plus */:
9425
- if (charCodeUnchecked(pos + 1) === 43 /* plus */) {
9426
- return pos += 2, token = 46 /* PlusPlusToken */;
9427
- }
9428
- if (charCodeUnchecked(pos + 1) === 61 /* equals */) {
9429
- return pos += 2, token = 65 /* PlusEqualsToken */;
9430
- }
9431
- pos++;
9432
- return token = 40 /* PlusToken */;
9433
- case 45 /* minus */:
9434
- if (charCodeUnchecked(pos + 1) === 45 /* minus */) {
9435
- return pos += 2, token = 47 /* MinusMinusToken */;
9436
- }
9437
- if (charCodeUnchecked(pos + 1) === 61 /* equals */) {
9438
- return pos += 2, token = 66 /* MinusEqualsToken */;
9439
- }
9440
- pos++;
9441
- return token = 41 /* MinusToken */;
9442
- case 46 /* dot */:
9443
- if (isDigit(charCodeUnchecked(pos + 1))) {
9444
- scanNumber();
9445
- return token = 9 /* NumericLiteral */;
9446
9383
  }
9447
- if (charCodeUnchecked(pos + 1) === 46 /* dot */ && charCodeUnchecked(pos + 2) === 46 /* dot */) {
9448
- return pos += 3, token = 26 /* DotDotDotToken */;
9384
+ if (isJSDoc2 && shouldParseJSDoc()) {
9385
+ tokenFlags |= 2 /* PrecedingJSDocComment */;
9449
9386
  }
9450
- pos++;
9451
- return token = 25 /* DotToken */;
9452
- case 47 /* slash */:
9453
- if (charCodeUnchecked(pos + 1) === 47 /* slash */) {
9454
- pos += 2;
9455
- while (pos < end) {
9456
- if (isLineBreak(charCodeUnchecked(pos))) {
9457
- break;
9458
- }
9459
- pos++;
9460
- }
9461
- commentDirectives = appendIfCommentDirective(
9462
- commentDirectives,
9463
- text.slice(tokenStart, pos),
9464
- commentDirectiveRegExSingleLine,
9465
- tokenStart
9466
- );
9467
- if (skipTrivia2) {
9468
- continue;
9469
- } else {
9470
- return token = 2 /* SingleLineCommentTrivia */;
9471
- }
9387
+ commentDirectives = appendIfCommentDirective(commentDirectives, text.slice(lastLineStart, pos), commentDirectiveRegExMultiLine, lastLineStart);
9388
+ if (!commentClosed) {
9389
+ error(Diagnostics.Asterisk_Slash_expected);
9472
9390
  }
9473
- if (charCodeUnchecked(pos + 1) === 42 /* asterisk */) {
9474
- pos += 2;
9475
- const isJSDoc2 = charCodeUnchecked(pos) === 42 /* asterisk */ && charCodeUnchecked(pos + 1) !== 47 /* slash */;
9476
- let commentClosed = false;
9477
- let lastLineStart = tokenStart;
9478
- while (pos < end) {
9479
- const ch2 = charCodeUnchecked(pos);
9480
- if (ch2 === 42 /* asterisk */ && charCodeUnchecked(pos + 1) === 47 /* slash */) {
9481
- pos += 2;
9482
- commentClosed = true;
9483
- break;
9484
- }
9485
- pos++;
9486
- if (isLineBreak(ch2)) {
9487
- lastLineStart = pos;
9488
- tokenFlags |= 1 /* PrecedingLineBreak */;
9489
- }
9490
- }
9491
- if (isJSDoc2 && shouldParseJSDoc()) {
9492
- tokenFlags |= 2 /* PrecedingJSDocComment */;
9493
- }
9494
- commentDirectives = appendIfCommentDirective(commentDirectives, text.slice(lastLineStart, pos), commentDirectiveRegExMultiLine, lastLineStart);
9391
+ if (skipTrivia2) {
9392
+ continue;
9393
+ } else {
9495
9394
  if (!commentClosed) {
9496
- error(Diagnostics.Asterisk_Slash_expected);
9497
- }
9498
- if (skipTrivia2) {
9499
- continue;
9500
- } else {
9501
- if (!commentClosed) {
9502
- tokenFlags |= 4 /* Unterminated */;
9503
- }
9504
- return token = 3 /* MultiLineCommentTrivia */;
9395
+ tokenFlags |= 4 /* Unterminated */;
9505
9396
  }
9397
+ return token = 3 /* MultiLineCommentTrivia */;
9506
9398
  }
9507
- if (charCodeUnchecked(pos + 1) === 61 /* equals */) {
9508
- return pos += 2, token = 69 /* SlashEqualsToken */;
9509
- }
9510
- pos++;
9511
- return token = 44 /* SlashToken */;
9512
- case 60 /* lessThan */:
9513
- if (isConflictMarkerTrivia(text, pos)) {
9514
- pos = scanConflictMarkerTrivia(text, pos, error);
9515
- if (skipTrivia2) {
9516
- continue;
9517
- } else {
9518
- return token = 7 /* ConflictMarkerTrivia */;
9519
- }
9399
+ }
9400
+ if (charCodeUnchecked(pos + 1) === 61 /* equals */) {
9401
+ return pos += 2, token = 69 /* SlashEqualsToken */;
9402
+ }
9403
+ pos++;
9404
+ return token = 44 /* SlashToken */;
9405
+ case 48 /* _0 */:
9406
+ if (pos + 2 < end && (charCodeUnchecked(pos + 1) === 88 /* X */ || charCodeUnchecked(pos + 1) === 120 /* x */)) {
9407
+ pos += 2;
9408
+ tokenValue = scanMinimumNumberOfHexDigits(
9409
+ 1,
9410
+ /*canHaveSeparators*/
9411
+ true
9412
+ );
9413
+ if (!tokenValue) {
9414
+ error(Diagnostics.Hexadecimal_digit_expected);
9415
+ tokenValue = "0";
9520
9416
  }
9521
- if (charCodeUnchecked(pos + 1) === 60 /* lessThan */) {
9522
- if (charCodeUnchecked(pos + 2) === 61 /* equals */) {
9523
- return pos += 3, token = 71 /* LessThanLessThanEqualsToken */;
9524
- }
9525
- return pos += 2, token = 48 /* LessThanLessThanToken */;
9417
+ tokenValue = "0x" + tokenValue;
9418
+ tokenFlags |= 64 /* HexSpecifier */;
9419
+ return token = checkBigIntSuffix();
9420
+ } else if (pos + 2 < end && (charCodeUnchecked(pos + 1) === 66 /* B */ || charCodeUnchecked(pos + 1) === 98 /* b */)) {
9421
+ pos += 2;
9422
+ tokenValue = scanBinaryOrOctalDigits(
9423
+ /* base */
9424
+ 2
9425
+ );
9426
+ if (!tokenValue) {
9427
+ error(Diagnostics.Binary_digit_expected);
9428
+ tokenValue = "0";
9526
9429
  }
9527
- if (charCodeUnchecked(pos + 1) === 61 /* equals */) {
9528
- return pos += 2, token = 33 /* LessThanEqualsToken */;
9430
+ tokenValue = "0b" + tokenValue;
9431
+ tokenFlags |= 128 /* BinarySpecifier */;
9432
+ return token = checkBigIntSuffix();
9433
+ } else if (pos + 2 < end && (charCodeUnchecked(pos + 1) === 79 /* O */ || charCodeUnchecked(pos + 1) === 111 /* o */)) {
9434
+ pos += 2;
9435
+ tokenValue = scanBinaryOrOctalDigits(
9436
+ /* base */
9437
+ 8
9438
+ );
9439
+ if (!tokenValue) {
9440
+ error(Diagnostics.Octal_digit_expected);
9441
+ tokenValue = "0";
9529
9442
  }
9530
- if (languageVariant === 1 /* JSX */ && charCodeUnchecked(pos + 1) === 47 /* slash */ && charCodeUnchecked(pos + 2) !== 42 /* asterisk */) {
9531
- return pos += 2, token = 31 /* LessThanSlashToken */;
9443
+ tokenValue = "0o" + tokenValue;
9444
+ tokenFlags |= 256 /* OctalSpecifier */;
9445
+ return token = checkBigIntSuffix();
9446
+ }
9447
+ case 49 /* _1 */:
9448
+ case 50 /* _2 */:
9449
+ case 51 /* _3 */:
9450
+ case 52 /* _4 */:
9451
+ case 53 /* _5 */:
9452
+ case 54 /* _6 */:
9453
+ case 55 /* _7 */:
9454
+ case 56 /* _8 */:
9455
+ case 57 /* _9 */:
9456
+ return token = scanNumber();
9457
+ case 58 /* colon */:
9458
+ pos++;
9459
+ return token = 59 /* ColonToken */;
9460
+ case 59 /* semicolon */:
9461
+ pos++;
9462
+ return token = 27 /* SemicolonToken */;
9463
+ case 60 /* lessThan */:
9464
+ if (isConflictMarkerTrivia(text, pos)) {
9465
+ pos = scanConflictMarkerTrivia(text, pos, error);
9466
+ if (skipTrivia2) {
9467
+ continue;
9468
+ } else {
9469
+ return token = 7 /* ConflictMarkerTrivia */;
9532
9470
  }
9533
- pos++;
9534
- return token = 30 /* LessThanToken */;
9535
- case 61 /* equals */:
9536
- if (isConflictMarkerTrivia(text, pos)) {
9537
- pos = scanConflictMarkerTrivia(text, pos, error);
9538
- if (skipTrivia2) {
9539
- continue;
9540
- } else {
9541
- return token = 7 /* ConflictMarkerTrivia */;
9542
- }
9471
+ }
9472
+ if (charCodeUnchecked(pos + 1) === 60 /* lessThan */) {
9473
+ if (charCodeUnchecked(pos + 2) === 61 /* equals */) {
9474
+ return pos += 3, token = 71 /* LessThanLessThanEqualsToken */;
9543
9475
  }
9544
- if (charCodeUnchecked(pos + 1) === 61 /* equals */) {
9545
- if (charCodeUnchecked(pos + 2) === 61 /* equals */) {
9546
- return pos += 3, token = 37 /* EqualsEqualsEqualsToken */;
9547
- }
9548
- return pos += 2, token = 35 /* EqualsEqualsToken */;
9476
+ return pos += 2, token = 48 /* LessThanLessThanToken */;
9477
+ }
9478
+ if (charCodeUnchecked(pos + 1) === 61 /* equals */) {
9479
+ return pos += 2, token = 33 /* LessThanEqualsToken */;
9480
+ }
9481
+ if (languageVariant === 1 /* JSX */ && charCodeUnchecked(pos + 1) === 47 /* slash */ && charCodeUnchecked(pos + 2) !== 42 /* asterisk */) {
9482
+ return pos += 2, token = 31 /* LessThanSlashToken */;
9483
+ }
9484
+ pos++;
9485
+ return token = 30 /* LessThanToken */;
9486
+ case 61 /* equals */:
9487
+ if (isConflictMarkerTrivia(text, pos)) {
9488
+ pos = scanConflictMarkerTrivia(text, pos, error);
9489
+ if (skipTrivia2) {
9490
+ continue;
9491
+ } else {
9492
+ return token = 7 /* ConflictMarkerTrivia */;
9549
9493
  }
9550
- if (charCodeUnchecked(pos + 1) === 62 /* greaterThan */) {
9551
- return pos += 2, token = 39 /* EqualsGreaterThanToken */;
9494
+ }
9495
+ if (charCodeUnchecked(pos + 1) === 61 /* equals */) {
9496
+ if (charCodeUnchecked(pos + 2) === 61 /* equals */) {
9497
+ return pos += 3, token = 37 /* EqualsEqualsEqualsToken */;
9552
9498
  }
9553
- pos++;
9554
- return token = 64 /* EqualsToken */;
9555
- case 62 /* greaterThan */:
9556
- if (isConflictMarkerTrivia(text, pos)) {
9557
- pos = scanConflictMarkerTrivia(text, pos, error);
9558
- if (skipTrivia2) {
9559
- continue;
9560
- } else {
9561
- return token = 7 /* ConflictMarkerTrivia */;
9562
- }
9499
+ return pos += 2, token = 35 /* EqualsEqualsToken */;
9500
+ }
9501
+ if (charCodeUnchecked(pos + 1) === 62 /* greaterThan */) {
9502
+ return pos += 2, token = 39 /* EqualsGreaterThanToken */;
9503
+ }
9504
+ pos++;
9505
+ return token = 64 /* EqualsToken */;
9506
+ case 62 /* greaterThan */:
9507
+ if (isConflictMarkerTrivia(text, pos)) {
9508
+ pos = scanConflictMarkerTrivia(text, pos, error);
9509
+ if (skipTrivia2) {
9510
+ continue;
9511
+ } else {
9512
+ return token = 7 /* ConflictMarkerTrivia */;
9563
9513
  }
9564
- pos++;
9565
- return token = 32 /* GreaterThanToken */;
9566
- case 63 /* question */:
9567
- if (charCodeUnchecked(pos + 1) === 46 /* dot */ && !isDigit(charCodeUnchecked(pos + 2))) {
9568
- return pos += 2, token = 29 /* QuestionDotToken */;
9514
+ }
9515
+ pos++;
9516
+ return token = 32 /* GreaterThanToken */;
9517
+ case 63 /* question */:
9518
+ if (charCodeUnchecked(pos + 1) === 46 /* dot */ && !isDigit(charCodeUnchecked(pos + 2))) {
9519
+ return pos += 2, token = 29 /* QuestionDotToken */;
9520
+ }
9521
+ if (charCodeUnchecked(pos + 1) === 63 /* question */) {
9522
+ if (charCodeUnchecked(pos + 2) === 61 /* equals */) {
9523
+ return pos += 3, token = 78 /* QuestionQuestionEqualsToken */;
9569
9524
  }
9570
- if (charCodeUnchecked(pos + 1) === 63 /* question */) {
9571
- if (charCodeUnchecked(pos + 2) === 61 /* equals */) {
9572
- return pos += 3, token = 78 /* QuestionQuestionEqualsToken */;
9573
- }
9574
- return pos += 2, token = 61 /* QuestionQuestionToken */;
9525
+ return pos += 2, token = 61 /* QuestionQuestionToken */;
9526
+ }
9527
+ pos++;
9528
+ return token = 58 /* QuestionToken */;
9529
+ case 91 /* openBracket */:
9530
+ pos++;
9531
+ return token = 23 /* OpenBracketToken */;
9532
+ case 93 /* closeBracket */:
9533
+ pos++;
9534
+ return token = 24 /* CloseBracketToken */;
9535
+ case 94 /* caret */:
9536
+ if (charCodeUnchecked(pos + 1) === 61 /* equals */) {
9537
+ return pos += 2, token = 79 /* CaretEqualsToken */;
9538
+ }
9539
+ pos++;
9540
+ return token = 53 /* CaretToken */;
9541
+ case 123 /* openBrace */:
9542
+ pos++;
9543
+ return token = 19 /* OpenBraceToken */;
9544
+ case 124 /* bar */:
9545
+ if (isConflictMarkerTrivia(text, pos)) {
9546
+ pos = scanConflictMarkerTrivia(text, pos, error);
9547
+ if (skipTrivia2) {
9548
+ continue;
9549
+ } else {
9550
+ return token = 7 /* ConflictMarkerTrivia */;
9575
9551
  }
9576
- pos++;
9577
- return token = 58 /* QuestionToken */;
9578
- case 94 /* caret */:
9579
- if (charCodeUnchecked(pos + 1) === 61 /* equals */) {
9580
- return pos += 2, token = 79 /* CaretEqualsToken */;
9552
+ }
9553
+ if (charCodeUnchecked(pos + 1) === 124 /* bar */) {
9554
+ if (charCodeUnchecked(pos + 2) === 61 /* equals */) {
9555
+ return pos += 3, token = 76 /* BarBarEqualsToken */;
9581
9556
  }
9557
+ return pos += 2, token = 57 /* BarBarToken */;
9558
+ }
9559
+ if (charCodeUnchecked(pos + 1) === 61 /* equals */) {
9560
+ return pos += 2, token = 75 /* BarEqualsToken */;
9561
+ }
9562
+ pos++;
9563
+ return token = 52 /* BarToken */;
9564
+ case 125 /* closeBrace */:
9565
+ pos++;
9566
+ return token = 20 /* CloseBraceToken */;
9567
+ case 126 /* tilde */:
9568
+ pos++;
9569
+ return token = 55 /* TildeToken */;
9570
+ case 64 /* at */:
9571
+ pos++;
9572
+ return token = 60 /* AtToken */;
9573
+ case 92 /* backslash */:
9574
+ const extendedCookedChar = peekExtendedUnicodeEscape();
9575
+ if (extendedCookedChar >= 0 && isIdentifierStart(extendedCookedChar, languageVersion)) {
9576
+ tokenValue = scanExtendedUnicodeEscape(
9577
+ /*shouldEmitInvalidEscapeError*/
9578
+ true
9579
+ ) + scanIdentifierParts();
9580
+ return token = getIdentifierToken();
9581
+ }
9582
+ const cookedChar = peekUnicodeEscape();
9583
+ if (cookedChar >= 0 && isIdentifierStart(cookedChar, languageVersion)) {
9584
+ pos += 6;
9585
+ tokenFlags |= 1024 /* UnicodeEscape */;
9586
+ tokenValue = String.fromCharCode(cookedChar) + scanIdentifierParts();
9587
+ return token = getIdentifierToken();
9588
+ }
9589
+ error(Diagnostics.Invalid_character);
9590
+ pos++;
9591
+ return token = 0 /* Unknown */;
9592
+ case 35 /* hash */:
9593
+ if (pos !== 0 && text[pos + 1] === "!") {
9594
+ error(Diagnostics.can_only_be_used_at_the_start_of_a_file, pos, 2);
9582
9595
  pos++;
9583
- return token = 53 /* CaretToken */;
9584
- case 124 /* bar */:
9585
- if (isConflictMarkerTrivia(text, pos)) {
9586
- pos = scanConflictMarkerTrivia(text, pos, error);
9587
- if (skipTrivia2) {
9588
- continue;
9589
- } else {
9590
- return token = 7 /* ConflictMarkerTrivia */;
9591
- }
9592
- }
9593
- if (charCodeUnchecked(pos + 1) === 124 /* bar */) {
9594
- if (charCodeUnchecked(pos + 2) === 61 /* equals */) {
9595
- return pos += 3, token = 76 /* BarBarEqualsToken */;
9596
- }
9597
- return pos += 2, token = 57 /* BarBarToken */;
9598
- }
9599
- if (charCodeUnchecked(pos + 1) === 61 /* equals */) {
9600
- return pos += 2, token = 75 /* BarEqualsToken */;
9601
- }
9596
+ return token = 0 /* Unknown */;
9597
+ }
9598
+ const charAfterHash = codePointUnchecked(pos + 1);
9599
+ if (charAfterHash === 92 /* backslash */) {
9602
9600
  pos++;
9603
- return token = 52 /* BarToken */;
9604
- case 92 /* backslash */:
9605
- const extendedCookedChar = peekExtendedUnicodeEscape();
9606
- if (extendedCookedChar >= 0 && isIdentifierStart(extendedCookedChar, languageVersion)) {
9607
- tokenValue = scanExtendedUnicodeEscape(
9601
+ const extendedCookedChar2 = peekExtendedUnicodeEscape();
9602
+ if (extendedCookedChar2 >= 0 && isIdentifierStart(extendedCookedChar2, languageVersion)) {
9603
+ tokenValue = "#" + scanExtendedUnicodeEscape(
9608
9604
  /*shouldEmitInvalidEscapeError*/
9609
9605
  true
9610
9606
  ) + scanIdentifierParts();
9611
- return token = getIdentifierToken();
9607
+ return token = 81 /* PrivateIdentifier */;
9612
9608
  }
9613
- const cookedChar = peekUnicodeEscape();
9614
- if (cookedChar >= 0 && isIdentifierStart(cookedChar, languageVersion)) {
9609
+ const cookedChar2 = peekUnicodeEscape();
9610
+ if (cookedChar2 >= 0 && isIdentifierStart(cookedChar2, languageVersion)) {
9615
9611
  pos += 6;
9616
9612
  tokenFlags |= 1024 /* UnicodeEscape */;
9617
- tokenValue = String.fromCharCode(cookedChar) + scanIdentifierParts();
9618
- return token = getIdentifierToken();
9613
+ tokenValue = "#" + String.fromCharCode(cookedChar2) + scanIdentifierParts();
9614
+ return token = 81 /* PrivateIdentifier */;
9619
9615
  }
9620
- error(Diagnostics.Invalid_character);
9616
+ pos--;
9617
+ }
9618
+ if (isIdentifierStart(charAfterHash, languageVersion)) {
9621
9619
  pos++;
9622
- return token = 0 /* Unknown */;
9623
- case 35 /* hash */:
9624
- const charAfterHash = codePointUnchecked(pos + 1);
9625
- if (charAfterHash === 33 /* exclamation */) {
9626
- if (pos === 0) {
9627
- pos = scanShebangTrivia(text, pos);
9628
- if (skipTrivia2) {
9629
- continue;
9630
- } else {
9631
- return token = 6 /* ShebangTrivia */;
9632
- }
9633
- } else if (pos !== 0) {
9634
- error(Diagnostics.can_only_be_used_at_the_start_of_a_file, pos, 2);
9635
- pos++;
9636
- return token = 0 /* Unknown */;
9637
- }
9638
- }
9639
- if (charAfterHash === 92 /* backslash */) {
9640
- pos++;
9641
- const extendedCookedChar2 = peekExtendedUnicodeEscape();
9642
- if (extendedCookedChar2 >= 0 && isIdentifierStart(extendedCookedChar2, languageVersion)) {
9643
- tokenValue = "#" + scanExtendedUnicodeEscape(
9644
- /*shouldEmitInvalidEscapeError*/
9645
- true
9646
- ) + scanIdentifierParts();
9647
- return token = 81 /* PrivateIdentifier */;
9648
- }
9649
- const cookedChar2 = peekUnicodeEscape();
9650
- if (cookedChar2 >= 0 && isIdentifierStart(cookedChar2, languageVersion)) {
9651
- pos += 6;
9652
- tokenFlags |= 1024 /* UnicodeEscape */;
9653
- tokenValue = "#" + String.fromCharCode(cookedChar2) + scanIdentifierParts();
9654
- return token = 81 /* PrivateIdentifier */;
9655
- }
9656
- pos--;
9657
- }
9658
- if (isIdentifierStart(charAfterHash, languageVersion)) {
9659
- pos++;
9660
- scanIdentifier(charAfterHash, languageVersion);
9661
- } else {
9662
- tokenValue = "#";
9663
- error(Diagnostics.Invalid_character, pos++, charSize(ch));
9664
- }
9665
- return token = 81 /* PrivateIdentifier */;
9666
- case 65533 /* replacementCharacter */:
9667
- error(Diagnostics.File_appears_to_be_binary, 0, 0);
9668
- pos = end;
9669
- return token = 8 /* NonTextFileMarkerTrivia */;
9670
- }
9671
- }
9672
- const identifierKind = scanIdentifier(ch, languageVersion);
9673
- if (identifierKind) {
9674
- return token = identifierKind;
9675
- } else if (isWhiteSpaceSingleLine(ch)) {
9676
- pos += charSize(ch);
9677
- continue;
9678
- } else if (isLineBreak(ch)) {
9679
- tokenFlags |= 1 /* PrecedingLineBreak */;
9680
- pos += charSize(ch);
9681
- continue;
9620
+ scanIdentifier(charAfterHash, languageVersion);
9621
+ } else {
9622
+ tokenValue = "#";
9623
+ error(Diagnostics.Invalid_character, pos++, charSize(ch));
9624
+ }
9625
+ return token = 81 /* PrivateIdentifier */;
9626
+ case 65533 /* replacementCharacter */:
9627
+ error(Diagnostics.File_appears_to_be_binary, 0, 0);
9628
+ pos = end;
9629
+ return token = 8 /* NonTextFileMarkerTrivia */;
9630
+ default:
9631
+ const identifierKind = scanIdentifier(ch, languageVersion);
9632
+ if (identifierKind) {
9633
+ return token = identifierKind;
9634
+ } else if (isWhiteSpaceSingleLine(ch)) {
9635
+ pos += charSize(ch);
9636
+ continue;
9637
+ } else if (isLineBreak(ch)) {
9638
+ tokenFlags |= 1 /* PrecedingLineBreak */;
9639
+ pos += charSize(ch);
9640
+ continue;
9641
+ }
9642
+ const size = charSize(ch);
9643
+ error(Diagnostics.Invalid_character, pos, size);
9644
+ pos += size;
9645
+ return token = 0 /* Unknown */;
9682
9646
  }
9683
- const size = charSize(ch);
9684
- error(Diagnostics.Invalid_character, pos, size);
9685
- pos += size;
9686
- return token = 0 /* Unknown */;
9687
9647
  }
9688
9648
  }
9689
9649
  function shouldParseJSDoc() {
@@ -12785,7 +12745,7 @@ function getTokenPosOfNode(node, sourceFile, includeJsDoc) {
12785
12745
  }
12786
12746
  if (isJSDocNode(node) || node.kind === 12 /* JsxText */) {
12787
12747
  return skipTrivia(
12788
- (sourceFile || getSourceFileOfNode(node)).text,
12748
+ (sourceFile ?? (sourceFile = getSourceFileOfNode(node))).text,
12789
12749
  node.pos,
12790
12750
  /*stopAfterLineBreak*/
12791
12751
  false,
@@ -12797,13 +12757,14 @@ function getTokenPosOfNode(node, sourceFile, includeJsDoc) {
12797
12757
  return getTokenPosOfNode(node.jsDoc[0], sourceFile);
12798
12758
  }
12799
12759
  if (node.kind === 352 /* SyntaxList */) {
12800
- const first2 = firstOrUndefined(getNodeChildren(node));
12760
+ sourceFile ?? (sourceFile = getSourceFileOfNode(node));
12761
+ const first2 = firstOrUndefined(getNodeChildren(node, sourceFile));
12801
12762
  if (first2) {
12802
12763
  return getTokenPosOfNode(first2, sourceFile, includeJsDoc);
12803
12764
  }
12804
12765
  }
12805
12766
  return skipTrivia(
12806
- (sourceFile || getSourceFileOfNode(node)).text,
12767
+ (sourceFile ?? (sourceFile = getSourceFileOfNode(node))).text,
12807
12768
  node.pos,
12808
12769
  /*stopAfterLineBreak*/
12809
12770
  false,
@@ -23551,7 +23512,7 @@ function createNodeFactory(flags, baseFactory2) {
23551
23512
  }
23552
23513
  function createSyntaxList(children) {
23553
23514
  const node = createBaseNode(352 /* SyntaxList */);
23554
- setNodeChildren(node, children);
23515
+ node._children = children;
23555
23516
  return node;
23556
23517
  }
23557
23518
  function createNotEmittedStatement(original) {
@@ -26327,17 +26288,24 @@ function isJSDocImportTag(node) {
26327
26288
  }
26328
26289
 
26329
26290
  // src/compiler/factory/nodeChildren.ts
26330
- var nodeChildren = /* @__PURE__ */ new WeakMap();
26331
- function getNodeChildren(node) {
26332
- if (!isNodeKind(node.kind)) return emptyArray;
26333
- return nodeChildren.get(node);
26334
- }
26335
- function setNodeChildren(node, children) {
26336
- nodeChildren.set(node, children);
26337
- return children;
26291
+ var sourceFileToNodeChildren = /* @__PURE__ */ new WeakMap();
26292
+ function getNodeChildren(node, sourceFile) {
26293
+ var _a;
26294
+ const kind = node.kind;
26295
+ if (!isNodeKind(kind)) {
26296
+ return emptyArray;
26297
+ }
26298
+ if (kind === 352 /* SyntaxList */) {
26299
+ return node._children;
26300
+ }
26301
+ return (_a = sourceFileToNodeChildren.get(sourceFile)) == null ? void 0 : _a.get(node);
26338
26302
  }
26339
- function unsetNodeChildren(node) {
26340
- nodeChildren.delete(node);
26303
+ function unsetNodeChildren(node, origSourceFile) {
26304
+ var _a;
26305
+ if (node.kind === 352 /* SyntaxList */) {
26306
+ Debug.fail("Did not expect to unset the children of a SyntaxList.");
26307
+ }
26308
+ (_a = sourceFileToNodeChildren.get(origSourceFile)) == null ? void 0 : _a.delete(node);
26341
26309
  }
26342
26310
 
26343
26311
  // src/compiler/factory/utilities.ts
@@ -34962,7 +34930,7 @@ var IncrementalParser;
34962
34930
  }
34963
34931
  }
34964
34932
  }
34965
- function moveElementEntirelyPastChangeRange(element, isArray2, delta, oldText, newText, aggressiveChecks) {
34933
+ function moveElementEntirelyPastChangeRange(element, origSourceFile, isArray2, delta, oldText, newText, aggressiveChecks) {
34966
34934
  if (isArray2) {
34967
34935
  visitArray2(element);
34968
34936
  } else {
@@ -34974,7 +34942,7 @@ var IncrementalParser;
34974
34942
  if (aggressiveChecks && shouldCheckNode(node)) {
34975
34943
  text = oldText.substring(node.pos, node.end);
34976
34944
  }
34977
- unsetNodeChildren(node);
34945
+ unsetNodeChildren(node, origSourceFile);
34978
34946
  setTextRangePosEnd(node, node.pos + delta, node.end + delta);
34979
34947
  if (aggressiveChecks && shouldCheckNode(node)) {
34980
34948
  Debug.assert(text === newText.substring(node.pos, node.end));
@@ -35048,6 +35016,7 @@ var IncrementalParser;
35048
35016
  if (child.pos > changeRangeOldEnd) {
35049
35017
  moveElementEntirelyPastChangeRange(
35050
35018
  child,
35019
+ sourceFile,
35051
35020
  /*isArray*/
35052
35021
  false,
35053
35022
  delta,
@@ -35060,7 +35029,7 @@ var IncrementalParser;
35060
35029
  const fullEnd = child.end;
35061
35030
  if (fullEnd >= changeStart) {
35062
35031
  markAsIntersectingIncrementalChange(child);
35063
- unsetNodeChildren(child);
35032
+ unsetNodeChildren(child, sourceFile);
35064
35033
  adjustIntersectingElement(child, changeStart, changeRangeOldEnd, changeRangeNewEnd, delta);
35065
35034
  forEachChild(child, visitNode3, visitArray2);
35066
35035
  if (hasJSDocNodes(child)) {
@@ -35078,6 +35047,7 @@ var IncrementalParser;
35078
35047
  if (array.pos > changeRangeOldEnd) {
35079
35048
  moveElementEntirelyPastChangeRange(
35080
35049
  array,
35050
+ sourceFile,
35081
35051
  /*isArray*/
35082
35052
  true,
35083
35053
  delta,
@@ -114435,7 +114405,13 @@ function createPrinter(printerOptions = {}, handlers = {}) {
114435
114405
  );
114436
114406
  }
114437
114407
  function emitLiteral(node, jsxAttributeEscape) {
114438
- const text = getLiteralTextOfNode(node, printerOptions.neverAsciiEscape, jsxAttributeEscape);
114408
+ const text = getLiteralTextOfNode(
114409
+ node,
114410
+ /*sourceFile*/
114411
+ void 0,
114412
+ printerOptions.neverAsciiEscape,
114413
+ jsxAttributeEscape
114414
+ );
114439
114415
  if ((printerOptions.sourceMap || printerOptions.inlineSourceMap) && (node.kind === 11 /* StringLiteral */ || isTemplateLiteralKind(node.kind))) {
114440
114416
  writeLiteral(text);
114441
114417
  } else {
@@ -114916,6 +114892,8 @@ function createPrinter(printerOptions = {}, handlers = {}) {
114916
114892
  if (isNumericLiteral(expression)) {
114917
114893
  const text = getLiteralTextOfNode(
114918
114894
  expression,
114895
+ /*sourceFile*/
114896
+ void 0,
114919
114897
  /*neverAsciiEscape*/
114920
114898
  true,
114921
114899
  /*jsxAttributeEscape*/
@@ -117057,18 +117035,18 @@ function createPrinter(printerOptions = {}, handlers = {}) {
117057
117035
  }
117058
117036
  return getSourceTextOfNodeFromSourceFile(sourceFile, node, includeTrivia);
117059
117037
  }
117060
- function getLiteralTextOfNode(node, neverAsciiEscape, jsxAttributeEscape) {
117038
+ function getLiteralTextOfNode(node, sourceFile = currentSourceFile, neverAsciiEscape, jsxAttributeEscape) {
117061
117039
  if (node.kind === 11 /* StringLiteral */ && node.textSourceNode) {
117062
117040
  const textSourceNode = node.textSourceNode;
117063
117041
  if (isIdentifier(textSourceNode) || isPrivateIdentifier(textSourceNode) || isNumericLiteral(textSourceNode) || isJsxNamespacedName(textSourceNode)) {
117064
117042
  const text = isNumericLiteral(textSourceNode) ? textSourceNode.text : getTextOfNode2(textSourceNode);
117065
117043
  return jsxAttributeEscape ? `"${escapeJsxAttributeString(text)}"` : neverAsciiEscape || getEmitFlags(node) & 16777216 /* NoAsciiEscaping */ ? `"${escapeString(text)}"` : `"${escapeNonAsciiString(text)}"`;
117066
117044
  } else {
117067
- return getLiteralTextOfNode(textSourceNode, neverAsciiEscape, jsxAttributeEscape);
117045
+ return getLiteralTextOfNode(textSourceNode, getSourceFileOfNode(textSourceNode), neverAsciiEscape, jsxAttributeEscape);
117068
117046
  }
117069
117047
  }
117070
117048
  const flags = (neverAsciiEscape ? 1 /* NeverAsciiEscape */ : 0) | (jsxAttributeEscape ? 2 /* JsxAttributeEscape */ : 0) | (printerOptions.terminateUnterminatedLiterals ? 4 /* TerminateUnterminatedLiterals */ : 0) | (printerOptions.target && printerOptions.target >= 8 /* ES2021 */ ? 8 /* AllowNumericSeparator */ : 0);
117071
- return getLiteralText(node, currentSourceFile, flags);
117049
+ return getLiteralText(node, sourceFile, flags);
117072
117050
  }
117073
117051
  function pushNameGenerationScope(node) {
117074
117052
  privateNameTempFlagsStack.push(privateNameTempFlags);