@typescript-deploys/pr-build 5.1.0-pr-53489-6 → 5.1.0-pr-53225-3
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 +182 -170
- package/lib/tsserver.js +224 -190
- package/lib/tsserverlibrary.d.ts +2 -1
- package/lib/tsserverlibrary.js +224 -190
- package/lib/typescript.d.ts +2 -1
- package/lib/typescript.js +224 -190
- package/lib/typingsInstaller.js +163 -99
- package/package.json +2 -2
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.1";
|
|
21
|
-
var version = `${versionMajorMinor}.0-insiders.
|
|
21
|
+
var version = `${versionMajorMinor}.0-insiders.20230327`;
|
|
22
22
|
|
|
23
23
|
// src/compiler/core.ts
|
|
24
24
|
var emptyArray = [];
|
|
@@ -5746,7 +5746,6 @@ var Diagnostics = {
|
|
|
5746
5746
|
_0_modifier_cannot_appear_on_an_index_signature: diag(1071, 1 /* Error */, "_0_modifier_cannot_appear_on_an_index_signature_1071", "'{0}' modifier cannot appear on an index signature."),
|
|
5747
5747
|
A_0_modifier_cannot_be_used_with_an_import_declaration: diag(1079, 1 /* Error */, "A_0_modifier_cannot_be_used_with_an_import_declaration_1079", "A '{0}' modifier cannot be used with an import declaration."),
|
|
5748
5748
|
Invalid_reference_directive_syntax: diag(1084, 1 /* Error */, "Invalid_reference_directive_syntax_1084", "Invalid 'reference' directive syntax."),
|
|
5749
|
-
Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0: diag(1085, 1 /* Error */, "Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0_1085", "Octal literals are not available when targeting ECMAScript 5 and higher. Use the syntax '{0}'."),
|
|
5750
5749
|
_0_modifier_cannot_appear_on_a_constructor_declaration: diag(1089, 1 /* Error */, "_0_modifier_cannot_appear_on_a_constructor_declaration_1089", "'{0}' modifier cannot appear on a constructor declaration."),
|
|
5751
5750
|
_0_modifier_cannot_appear_on_a_parameter: diag(1090, 1 /* Error */, "_0_modifier_cannot_appear_on_a_parameter_1090", "'{0}' modifier cannot appear on a parameter."),
|
|
5752
5751
|
Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement: diag(1091, 1 /* Error */, "Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement_1091", "Only a single variable declaration is allowed in a 'for...in' statement."),
|
|
@@ -5777,7 +5776,7 @@ var Diagnostics = {
|
|
|
5777
5776
|
An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name: diag(1118, 1 /* Error */, "An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name_1118", "An object literal cannot have multiple get/set accessors with the same name."),
|
|
5778
5777
|
An_object_literal_cannot_have_property_and_accessor_with_the_same_name: diag(1119, 1 /* Error */, "An_object_literal_cannot_have_property_and_accessor_with_the_same_name_1119", "An object literal cannot have property and accessor with the same name."),
|
|
5779
5778
|
An_export_assignment_cannot_have_modifiers: diag(1120, 1 /* Error */, "An_export_assignment_cannot_have_modifiers_1120", "An export assignment cannot have modifiers."),
|
|
5780
|
-
|
|
5779
|
+
Octal_literals_are_not_allowed_Use_the_syntax_0: diag(1121, 1 /* Error */, "Octal_literals_are_not_allowed_Use_the_syntax_0_1121", "Octal literals are not allowed. Use the syntax '{0}'."),
|
|
5781
5780
|
Variable_declaration_list_cannot_be_empty: diag(1123, 1 /* Error */, "Variable_declaration_list_cannot_be_empty_1123", "Variable declaration list cannot be empty."),
|
|
5782
5781
|
Digit_expected: diag(1124, 1 /* Error */, "Digit_expected_1124", "Digit expected."),
|
|
5783
5782
|
Hexadecimal_digit_expected: diag(1125, 1 /* Error */, "Hexadecimal_digit_expected_1125", "Hexadecimal digit expected."),
|
|
@@ -6088,6 +6087,9 @@ var Diagnostics = {
|
|
|
6088
6087
|
_0_is_a_type_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled: diag(1484, 1 /* Error */, "_0_is_a_type_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled_1484", "'{0}' is a type and must be imported using a type-only import when 'verbatimModuleSyntax' is enabled."),
|
|
6089
6088
|
_0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled: diag(1485, 1 /* Error */, "_0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_verbatimMo_1485", "'{0}' resolves to a type-only declaration and must be imported using a type-only import when 'verbatimModuleSyntax' is enabled."),
|
|
6090
6089
|
Decorator_used_before_export_here: diag(1486, 1 /* Error */, "Decorator_used_before_export_here_1486", "Decorator used before 'export' here."),
|
|
6090
|
+
Octal_escape_sequences_are_not_allowed_Use_the_syntax_0: diag(1487, 1 /* Error */, "Octal_escape_sequences_are_not_allowed_Use_the_syntax_0_1487", "Octal escape sequences are not allowed. Use the syntax '{0}'."),
|
|
6091
|
+
Escape_sequence_0_is_not_allowed: diag(1488, 1 /* Error */, "Escape_sequence_0_is_not_allowed_1488", "Escape sequence '{0}' is not allowed."),
|
|
6092
|
+
Decimals_with_leading_zeros_are_not_allowed: diag(1489, 1 /* Error */, "Decimals_with_leading_zeros_are_not_allowed_1489", "Decimals with leading zeros are not allowed."),
|
|
6091
6093
|
The_types_of_0_are_incompatible_between_these_types: diag(2200, 1 /* Error */, "The_types_of_0_are_incompatible_between_these_types_2200", "The types of '{0}' are incompatible between these types."),
|
|
6092
6094
|
The_types_returned_by_0_are_incompatible_between_these_types: diag(2201, 1 /* Error */, "The_types_returned_by_0_are_incompatible_between_these_types_2201", "The types returned by '{0}' are incompatible between these types."),
|
|
6093
6095
|
Call_signature_return_types_0_and_1_are_incompatible: diag(
|
|
@@ -7428,8 +7430,6 @@ var Diagnostics = {
|
|
|
7428
7430
|
Parameter_modifiers_can_only_be_used_in_TypeScript_files: diag(8012, 1 /* Error */, "Parameter_modifiers_can_only_be_used_in_TypeScript_files_8012", "Parameter modifiers can only be used in TypeScript files."),
|
|
7429
7431
|
Non_null_assertions_can_only_be_used_in_TypeScript_files: diag(8013, 1 /* Error */, "Non_null_assertions_can_only_be_used_in_TypeScript_files_8013", "Non-null assertions can only be used in TypeScript files."),
|
|
7430
7432
|
Type_assertion_expressions_can_only_be_used_in_TypeScript_files: diag(8016, 1 /* Error */, "Type_assertion_expressions_can_only_be_used_in_TypeScript_files_8016", "Type assertion expressions can only be used in TypeScript files."),
|
|
7431
|
-
Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0: diag(8017, 1 /* Error */, "Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0_8017", "Octal literal types must use ES2015 syntax. Use the syntax '{0}'."),
|
|
7432
|
-
Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0: diag(8018, 1 /* Error */, "Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0_8018", "Octal literals are not allowed in enums members initializer. Use the syntax '{0}'."),
|
|
7433
7433
|
Report_errors_in_js_files: diag(8019, 3 /* Message */, "Report_errors_in_js_files_8019", "Report errors in .js files."),
|
|
7434
7434
|
JSDoc_types_can_only_be_used_inside_documentation_comments: diag(8020, 1 /* Error */, "JSDoc_types_can_only_be_used_inside_documentation_comments_8020", "JSDoc types can only be used inside documentation comments."),
|
|
7435
7435
|
JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags: diag(8021, 1 /* Error */, "JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags_8021", "JSDoc '@typedef' tag should either have a type annotation or be followed by '@property' or '@member' tags."),
|
|
@@ -8411,7 +8411,7 @@ function createScanner(languageVersion, skipTrivia2, languageVariant = 0 /* Stan
|
|
|
8411
8411
|
isReservedWord: () => token >= 82 /* FirstReservedWord */ && token <= 117 /* LastReservedWord */,
|
|
8412
8412
|
isUnterminated: () => (tokenFlags & 4 /* Unterminated */) !== 0,
|
|
8413
8413
|
getCommentDirectives: () => commentDirectives,
|
|
8414
|
-
getNumericLiteralFlags: () => tokenFlags &
|
|
8414
|
+
getNumericLiteralFlags: () => tokenFlags & 25584 /* NumericLiteralFlags */,
|
|
8415
8415
|
getTokenFlags: () => tokenFlags,
|
|
8416
8416
|
reScanGreaterToken,
|
|
8417
8417
|
reScanAsteriskEqualsToken,
|
|
@@ -8452,11 +8452,11 @@ function createScanner(languageVersion, skipTrivia2, languageVariant = 0 /* Stan
|
|
|
8452
8452
|
});
|
|
8453
8453
|
}
|
|
8454
8454
|
return scanner;
|
|
8455
|
-
function error(message, errPos = pos, length3) {
|
|
8455
|
+
function error(message, errPos = pos, length3, arg0) {
|
|
8456
8456
|
if (onError) {
|
|
8457
8457
|
const oldPos = pos;
|
|
8458
8458
|
pos = errPos;
|
|
8459
|
-
onError(message, length3 || 0);
|
|
8459
|
+
onError(message, length3 || 0, arg0);
|
|
8460
8460
|
pos = oldPos;
|
|
8461
8461
|
}
|
|
8462
8462
|
}
|
|
@@ -8473,10 +8473,13 @@ function createScanner(languageVersion, skipTrivia2, languageVariant = 0 /* Stan
|
|
|
8473
8473
|
allowSeparator = false;
|
|
8474
8474
|
isPreviousTokenSeparator = true;
|
|
8475
8475
|
result += text.substring(start2, pos);
|
|
8476
|
-
} else if (isPreviousTokenSeparator) {
|
|
8477
|
-
error(Diagnostics.Multiple_consecutive_numeric_separators_are_not_permitted, pos, 1);
|
|
8478
8476
|
} else {
|
|
8479
|
-
|
|
8477
|
+
tokenFlags |= 16384 /* ContainsInvalidSeparator */;
|
|
8478
|
+
if (isPreviousTokenSeparator) {
|
|
8479
|
+
error(Diagnostics.Multiple_consecutive_numeric_separators_are_not_permitted, pos, 1);
|
|
8480
|
+
} else {
|
|
8481
|
+
error(Diagnostics.Numeric_separators_are_not_allowed_here, pos, 1);
|
|
8482
|
+
}
|
|
8480
8483
|
}
|
|
8481
8484
|
pos++;
|
|
8482
8485
|
start2 = pos;
|
|
@@ -8491,13 +8494,39 @@ function createScanner(languageVersion, skipTrivia2, languageVariant = 0 /* Stan
|
|
|
8491
8494
|
break;
|
|
8492
8495
|
}
|
|
8493
8496
|
if (text.charCodeAt(pos - 1) === 95 /* _ */) {
|
|
8497
|
+
tokenFlags |= 16384 /* ContainsInvalidSeparator */;
|
|
8494
8498
|
error(Diagnostics.Numeric_separators_are_not_allowed_here, pos - 1, 1);
|
|
8495
8499
|
}
|
|
8496
8500
|
return result + text.substring(start2, pos);
|
|
8497
8501
|
}
|
|
8498
8502
|
function scanNumber() {
|
|
8499
|
-
|
|
8500
|
-
|
|
8503
|
+
let start2 = pos;
|
|
8504
|
+
let mainFragment;
|
|
8505
|
+
if (text.charCodeAt(pos) === 48 /* _0 */) {
|
|
8506
|
+
pos++;
|
|
8507
|
+
if (text.charCodeAt(pos) === 95 /* _ */) {
|
|
8508
|
+
tokenFlags |= 512 /* ContainsSeparator */ | 16384 /* ContainsInvalidSeparator */;
|
|
8509
|
+
error(Diagnostics.Numeric_separators_are_not_allowed_here, pos, 1);
|
|
8510
|
+
pos--;
|
|
8511
|
+
mainFragment = scanNumberFragment();
|
|
8512
|
+
} else if (!scanDigits()) {
|
|
8513
|
+
tokenFlags |= 8192 /* ContainsLeadingZero */;
|
|
8514
|
+
mainFragment = "" + +tokenValue;
|
|
8515
|
+
} else if (!tokenValue) {
|
|
8516
|
+
mainFragment = "0";
|
|
8517
|
+
} else {
|
|
8518
|
+
tokenValue = "" + parseInt(tokenValue, 8);
|
|
8519
|
+
tokenFlags |= 32 /* Octal */;
|
|
8520
|
+
const withMinus = token === 40 /* MinusToken */;
|
|
8521
|
+
const literal = (withMinus ? "-" : "") + "0o" + (+tokenValue).toString(8);
|
|
8522
|
+
if (withMinus)
|
|
8523
|
+
start2--;
|
|
8524
|
+
error(Diagnostics.Octal_literals_are_not_allowed_Use_the_syntax_0, start2, pos - start2, literal);
|
|
8525
|
+
return { type: 8 /* NumericLiteral */, value: tokenValue };
|
|
8526
|
+
}
|
|
8527
|
+
} else {
|
|
8528
|
+
mainFragment = scanNumberFragment();
|
|
8529
|
+
}
|
|
8501
8530
|
let decimalFragment;
|
|
8502
8531
|
let scientificFragment;
|
|
8503
8532
|
if (text.charCodeAt(pos) === 46 /* dot */) {
|
|
@@ -8531,6 +8560,10 @@ function createScanner(languageVersion, skipTrivia2, languageVariant = 0 /* Stan
|
|
|
8531
8560
|
} else {
|
|
8532
8561
|
result = text.substring(start2, end2);
|
|
8533
8562
|
}
|
|
8563
|
+
if (tokenFlags & 8192 /* ContainsLeadingZero */) {
|
|
8564
|
+
error(Diagnostics.Decimals_with_leading_zeros_are_not_allowed, start2, end2 - start2);
|
|
8565
|
+
return { type: 8 /* NumericLiteral */, value: "" + +result };
|
|
8566
|
+
}
|
|
8534
8567
|
if (decimalFragment !== void 0 || tokenFlags & 16 /* Scientific */) {
|
|
8535
8568
|
checkForIdentifierStartAfterNumericLiteral(start2, decimalFragment === void 0 && !!(tokenFlags & 16 /* Scientific */));
|
|
8536
8569
|
return {
|
|
@@ -8562,12 +8595,17 @@ function createScanner(languageVersion, skipTrivia2, languageVariant = 0 /* Stan
|
|
|
8562
8595
|
pos = identifierStart;
|
|
8563
8596
|
}
|
|
8564
8597
|
}
|
|
8565
|
-
function
|
|
8598
|
+
function scanDigits() {
|
|
8566
8599
|
const start2 = pos;
|
|
8567
|
-
|
|
8600
|
+
let isOctal = true;
|
|
8601
|
+
while (isDigit(text.charCodeAt(pos))) {
|
|
8602
|
+
if (!isOctalDigit(text.charCodeAt(pos))) {
|
|
8603
|
+
isOctal = false;
|
|
8604
|
+
}
|
|
8568
8605
|
pos++;
|
|
8569
8606
|
}
|
|
8570
|
-
|
|
8607
|
+
tokenValue = text.substring(start2, pos);
|
|
8608
|
+
return isOctal;
|
|
8571
8609
|
}
|
|
8572
8610
|
function scanExactNumberOfHexDigits(count, canHaveSeparators) {
|
|
8573
8611
|
const valueString = scanHexDigits(
|
|
@@ -8645,7 +8683,10 @@ function createScanner(languageVersion, skipTrivia2, languageVariant = 0 /* Stan
|
|
|
8645
8683
|
}
|
|
8646
8684
|
if (ch === 92 /* backslash */ && !jsxAttributeString) {
|
|
8647
8685
|
result += text.substring(start2, pos);
|
|
8648
|
-
result += scanEscapeSequence(
|
|
8686
|
+
result += scanEscapeSequence(
|
|
8687
|
+
/*shouldEmitInvalidEscapeError*/
|
|
8688
|
+
true
|
|
8689
|
+
);
|
|
8649
8690
|
start2 = pos;
|
|
8650
8691
|
continue;
|
|
8651
8692
|
}
|
|
@@ -8659,7 +8700,7 @@ function createScanner(languageVersion, skipTrivia2, languageVariant = 0 /* Stan
|
|
|
8659
8700
|
}
|
|
8660
8701
|
return result;
|
|
8661
8702
|
}
|
|
8662
|
-
function scanTemplateAndSetTokenValue(
|
|
8703
|
+
function scanTemplateAndSetTokenValue(shouldEmitInvalidEscapeError) {
|
|
8663
8704
|
const startedWithBacktick = text.charCodeAt(pos) === 96 /* backtick */;
|
|
8664
8705
|
pos++;
|
|
8665
8706
|
let start2 = pos;
|
|
@@ -8688,7 +8729,7 @@ function createScanner(languageVersion, skipTrivia2, languageVariant = 0 /* Stan
|
|
|
8688
8729
|
}
|
|
8689
8730
|
if (currChar === 92 /* backslash */) {
|
|
8690
8731
|
contents += text.substring(start2, pos);
|
|
8691
|
-
contents += scanEscapeSequence(
|
|
8732
|
+
contents += scanEscapeSequence(shouldEmitInvalidEscapeError);
|
|
8692
8733
|
start2 = pos;
|
|
8693
8734
|
continue;
|
|
8694
8735
|
}
|
|
@@ -8708,7 +8749,7 @@ function createScanner(languageVersion, skipTrivia2, languageVariant = 0 /* Stan
|
|
|
8708
8749
|
tokenValue = contents;
|
|
8709
8750
|
return resultingToken;
|
|
8710
8751
|
}
|
|
8711
|
-
function scanEscapeSequence(
|
|
8752
|
+
function scanEscapeSequence(shouldEmitInvalidEscapeError) {
|
|
8712
8753
|
const start2 = pos;
|
|
8713
8754
|
pos++;
|
|
8714
8755
|
if (pos >= end) {
|
|
@@ -8719,12 +8760,37 @@ function createScanner(languageVersion, skipTrivia2, languageVariant = 0 /* Stan
|
|
|
8719
8760
|
pos++;
|
|
8720
8761
|
switch (ch) {
|
|
8721
8762
|
case 48 /* _0 */:
|
|
8722
|
-
if (
|
|
8763
|
+
if (pos >= end || !isDigit(text.charCodeAt(pos))) {
|
|
8764
|
+
return "\0";
|
|
8765
|
+
}
|
|
8766
|
+
case 49 /* _1 */:
|
|
8767
|
+
case 50 /* _2 */:
|
|
8768
|
+
case 51 /* _3 */:
|
|
8769
|
+
if (pos < end && isOctalDigit(text.charCodeAt(pos))) {
|
|
8723
8770
|
pos++;
|
|
8724
|
-
tokenFlags |= 2048 /* ContainsInvalidEscape */;
|
|
8725
|
-
return text.substring(start2, pos);
|
|
8726
8771
|
}
|
|
8727
|
-
|
|
8772
|
+
case 52 /* _4 */:
|
|
8773
|
+
case 53 /* _5 */:
|
|
8774
|
+
case 54 /* _6 */:
|
|
8775
|
+
case 55 /* _7 */:
|
|
8776
|
+
if (pos < end && isOctalDigit(text.charCodeAt(pos))) {
|
|
8777
|
+
pos++;
|
|
8778
|
+
}
|
|
8779
|
+
tokenFlags |= 2048 /* ContainsInvalidEscape */;
|
|
8780
|
+
if (shouldEmitInvalidEscapeError) {
|
|
8781
|
+
const code = parseInt(text.substring(start2 + 1, pos), 8);
|
|
8782
|
+
error(Diagnostics.Octal_escape_sequences_are_not_allowed_Use_the_syntax_0, start2, pos - start2, "\\x" + padLeft(code.toString(16), 2, "0"));
|
|
8783
|
+
return String.fromCharCode(code);
|
|
8784
|
+
}
|
|
8785
|
+
return text.substring(start2, pos);
|
|
8786
|
+
case 56 /* _8 */:
|
|
8787
|
+
case 57 /* _9 */:
|
|
8788
|
+
tokenFlags |= 2048 /* ContainsInvalidEscape */;
|
|
8789
|
+
if (shouldEmitInvalidEscapeError) {
|
|
8790
|
+
error(Diagnostics.Escape_sequence_0_is_not_allowed, start2, pos - start2, text.substring(start2, pos));
|
|
8791
|
+
return String.fromCharCode(ch);
|
|
8792
|
+
}
|
|
8793
|
+
return text.substring(start2, pos);
|
|
8728
8794
|
case 98 /* b */:
|
|
8729
8795
|
return "\b";
|
|
8730
8796
|
case 116 /* t */:
|
|
@@ -8742,59 +8808,69 @@ function createScanner(languageVersion, skipTrivia2, languageVariant = 0 /* Stan
|
|
|
8742
8808
|
case 34 /* doubleQuote */:
|
|
8743
8809
|
return '"';
|
|
8744
8810
|
case 117 /* u */:
|
|
8745
|
-
if (isTaggedTemplate) {
|
|
8746
|
-
for (let escapePos = pos; escapePos < pos + 4; escapePos++) {
|
|
8747
|
-
if (escapePos < end && !isHexDigit(text.charCodeAt(escapePos)) && text.charCodeAt(escapePos) !== 123 /* openBrace */) {
|
|
8748
|
-
pos = escapePos;
|
|
8749
|
-
tokenFlags |= 2048 /* ContainsInvalidEscape */;
|
|
8750
|
-
return text.substring(start2, pos);
|
|
8751
|
-
}
|
|
8752
|
-
}
|
|
8753
|
-
}
|
|
8754
8811
|
if (pos < end && text.charCodeAt(pos) === 123 /* openBrace */) {
|
|
8755
8812
|
pos++;
|
|
8756
|
-
|
|
8813
|
+
const escapedValueString = scanMinimumNumberOfHexDigits(
|
|
8814
|
+
1,
|
|
8815
|
+
/*canHaveSeparators*/
|
|
8816
|
+
false
|
|
8817
|
+
);
|
|
8818
|
+
const escapedValue = escapedValueString ? parseInt(escapedValueString, 16) : -1;
|
|
8819
|
+
if (escapedValue < 0) {
|
|
8757
8820
|
tokenFlags |= 2048 /* ContainsInvalidEscape */;
|
|
8821
|
+
if (shouldEmitInvalidEscapeError) {
|
|
8822
|
+
error(Diagnostics.Hexadecimal_digit_expected);
|
|
8823
|
+
}
|
|
8758
8824
|
return text.substring(start2, pos);
|
|
8759
8825
|
}
|
|
8760
|
-
if (
|
|
8761
|
-
|
|
8762
|
-
|
|
8763
|
-
|
|
8764
|
-
/*canHaveSeparators*/
|
|
8765
|
-
false
|
|
8766
|
-
);
|
|
8767
|
-
const escapedValue = escapedValueString ? parseInt(escapedValueString, 16) : -1;
|
|
8768
|
-
if (!isCodePoint(escapedValue) || text.charCodeAt(pos) !== 125 /* closeBrace */) {
|
|
8769
|
-
tokenFlags |= 2048 /* ContainsInvalidEscape */;
|
|
8770
|
-
return text.substring(start2, pos);
|
|
8771
|
-
} else {
|
|
8772
|
-
pos = savePos;
|
|
8826
|
+
if (!isCodePoint(escapedValue)) {
|
|
8827
|
+
tokenFlags |= 2048 /* ContainsInvalidEscape */;
|
|
8828
|
+
if (shouldEmitInvalidEscapeError) {
|
|
8829
|
+
error(Diagnostics.An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive);
|
|
8773
8830
|
}
|
|
8831
|
+
return text.substring(start2, pos);
|
|
8774
8832
|
}
|
|
8833
|
+
if (pos >= end) {
|
|
8834
|
+
tokenFlags |= 2048 /* ContainsInvalidEscape */;
|
|
8835
|
+
if (shouldEmitInvalidEscapeError) {
|
|
8836
|
+
error(Diagnostics.Unexpected_end_of_text);
|
|
8837
|
+
}
|
|
8838
|
+
return text.substring(start2, pos);
|
|
8839
|
+
}
|
|
8840
|
+
if (text.charCodeAt(pos) !== 125 /* closeBrace */) {
|
|
8841
|
+
tokenFlags |= 2048 /* ContainsInvalidEscape */;
|
|
8842
|
+
if (shouldEmitInvalidEscapeError) {
|
|
8843
|
+
error(Diagnostics.Unterminated_Unicode_escape_sequence);
|
|
8844
|
+
}
|
|
8845
|
+
return text.substring(start2, pos);
|
|
8846
|
+
}
|
|
8847
|
+
pos++;
|
|
8775
8848
|
tokenFlags |= 8 /* ExtendedUnicodeEscape */;
|
|
8776
|
-
return
|
|
8849
|
+
return utf16EncodeAsString(escapedValue);
|
|
8777
8850
|
}
|
|
8778
|
-
|
|
8779
|
-
|
|
8780
|
-
/*numDigits*/
|
|
8781
|
-
4
|
|
8782
|
-
);
|
|
8783
|
-
case 120 /* x */:
|
|
8784
|
-
if (isTaggedTemplate) {
|
|
8785
|
-
if (!isHexDigit(text.charCodeAt(pos))) {
|
|
8851
|
+
for (; pos < start2 + 6; pos++) {
|
|
8852
|
+
if (!(pos < end && isHexDigit(text.charCodeAt(pos)))) {
|
|
8786
8853
|
tokenFlags |= 2048 /* ContainsInvalidEscape */;
|
|
8854
|
+
if (shouldEmitInvalidEscapeError) {
|
|
8855
|
+
error(Diagnostics.Hexadecimal_digit_expected);
|
|
8856
|
+
}
|
|
8787
8857
|
return text.substring(start2, pos);
|
|
8788
|
-
}
|
|
8789
|
-
|
|
8858
|
+
}
|
|
8859
|
+
}
|
|
8860
|
+
tokenFlags |= 1024 /* UnicodeEscape */;
|
|
8861
|
+
return String.fromCharCode(parseInt(text.substring(start2 + 2, pos), 16));
|
|
8862
|
+
case 120 /* x */:
|
|
8863
|
+
for (; pos < start2 + 4; pos++) {
|
|
8864
|
+
if (!(pos < end && isHexDigit(text.charCodeAt(pos)))) {
|
|
8790
8865
|
tokenFlags |= 2048 /* ContainsInvalidEscape */;
|
|
8866
|
+
if (shouldEmitInvalidEscapeError) {
|
|
8867
|
+
error(Diagnostics.Hexadecimal_digit_expected);
|
|
8868
|
+
}
|
|
8791
8869
|
return text.substring(start2, pos);
|
|
8792
8870
|
}
|
|
8793
8871
|
}
|
|
8794
|
-
|
|
8795
|
-
|
|
8796
|
-
2
|
|
8797
|
-
);
|
|
8872
|
+
tokenFlags |= 4096 /* HexEscape */;
|
|
8873
|
+
return String.fromCharCode(parseInt(text.substring(start2 + 2, pos), 16));
|
|
8798
8874
|
case 13 /* carriageReturn */:
|
|
8799
8875
|
if (pos < end && text.charCodeAt(pos) === 10 /* lineFeed */) {
|
|
8800
8876
|
pos++;
|
|
@@ -8807,19 +8883,6 @@ function createScanner(languageVersion, skipTrivia2, languageVariant = 0 /* Stan
|
|
|
8807
8883
|
return String.fromCharCode(ch);
|
|
8808
8884
|
}
|
|
8809
8885
|
}
|
|
8810
|
-
function scanHexadecimalEscape(numDigits) {
|
|
8811
|
-
const escapedValue = scanExactNumberOfHexDigits(
|
|
8812
|
-
numDigits,
|
|
8813
|
-
/*canHaveSeparators*/
|
|
8814
|
-
false
|
|
8815
|
-
);
|
|
8816
|
-
if (escapedValue >= 0) {
|
|
8817
|
-
return String.fromCharCode(escapedValue);
|
|
8818
|
-
} else {
|
|
8819
|
-
error(Diagnostics.Hexadecimal_digit_expected);
|
|
8820
|
-
return "";
|
|
8821
|
-
}
|
|
8822
|
-
}
|
|
8823
8886
|
function scanExtendedUnicodeEscape() {
|
|
8824
8887
|
const escapedValueString = scanMinimumNumberOfHexDigits(
|
|
8825
8888
|
1,
|
|
@@ -9048,7 +9111,7 @@ function createScanner(languageVersion, skipTrivia2, languageVariant = 0 /* Stan
|
|
|
9048
9111
|
return token = 10 /* StringLiteral */;
|
|
9049
9112
|
case 96 /* backtick */:
|
|
9050
9113
|
return token = scanTemplateAndSetTokenValue(
|
|
9051
|
-
/*
|
|
9114
|
+
/*shouldEmitInvalidEscapeError*/
|
|
9052
9115
|
false
|
|
9053
9116
|
);
|
|
9054
9117
|
case 37 /* percent */:
|
|
@@ -9223,11 +9286,6 @@ function createScanner(languageVersion, skipTrivia2, languageVariant = 0 /* Stan
|
|
|
9223
9286
|
tokenFlags |= 256 /* OctalSpecifier */;
|
|
9224
9287
|
return token = checkBigIntSuffix();
|
|
9225
9288
|
}
|
|
9226
|
-
if (pos + 1 < end && isOctalDigit(text.charCodeAt(pos + 1))) {
|
|
9227
|
-
tokenValue = "" + scanOctalDigits();
|
|
9228
|
-
tokenFlags |= 32 /* Octal */;
|
|
9229
|
-
return token = 8 /* NumericLiteral */;
|
|
9230
|
-
}
|
|
9231
9289
|
case 49 /* _1 */:
|
|
9232
9290
|
case 50 /* _2 */:
|
|
9233
9291
|
case 51 /* _3 */:
|
|
@@ -9544,14 +9602,13 @@ function createScanner(languageVersion, skipTrivia2, languageVariant = 0 /* Stan
|
|
|
9544
9602
|
return void 0;
|
|
9545
9603
|
}
|
|
9546
9604
|
function reScanTemplateToken(isTaggedTemplate) {
|
|
9547
|
-
Debug.assert(token === 19 /* CloseBraceToken */, "'reScanTemplateToken' should only be called on a '}'");
|
|
9548
9605
|
pos = tokenStart;
|
|
9549
|
-
return token = scanTemplateAndSetTokenValue(isTaggedTemplate);
|
|
9606
|
+
return token = scanTemplateAndSetTokenValue(!isTaggedTemplate);
|
|
9550
9607
|
}
|
|
9551
9608
|
function reScanTemplateHeadOrNoSubstitutionTemplate() {
|
|
9552
9609
|
pos = tokenStart;
|
|
9553
9610
|
return token = scanTemplateAndSetTokenValue(
|
|
9554
|
-
/*
|
|
9611
|
+
/*shouldEmitInvalidEscapeError*/
|
|
9555
9612
|
true
|
|
9556
9613
|
);
|
|
9557
9614
|
}
|
|
@@ -12041,8 +12098,13 @@ function canUseOriginalText(node, flags) {
|
|
|
12041
12098
|
if (nodeIsSynthesized(node) || !node.parent || flags & 4 /* TerminateUnterminatedLiterals */ && node.isUnterminated) {
|
|
12042
12099
|
return false;
|
|
12043
12100
|
}
|
|
12044
|
-
if (isNumericLiteral(node)
|
|
12045
|
-
|
|
12101
|
+
if (isNumericLiteral(node)) {
|
|
12102
|
+
if (node.numericLiteralFlags & 26656 /* IsInvalid */) {
|
|
12103
|
+
return false;
|
|
12104
|
+
}
|
|
12105
|
+
if (node.numericLiteralFlags & 512 /* ContainsSeparator */) {
|
|
12106
|
+
return !!(flags & 8 /* AllowNumericSeparator */);
|
|
12107
|
+
}
|
|
12046
12108
|
}
|
|
12047
12109
|
return !isBigIntLiteral(node);
|
|
12048
12110
|
}
|
|
@@ -12558,15 +12620,6 @@ function isPartOfTypeNode(node) {
|
|
|
12558
12620
|
}
|
|
12559
12621
|
return false;
|
|
12560
12622
|
}
|
|
12561
|
-
function isChildOfNodeWithKind(node, kind) {
|
|
12562
|
-
while (node) {
|
|
12563
|
-
if (node.kind === kind) {
|
|
12564
|
-
return true;
|
|
12565
|
-
}
|
|
12566
|
-
node = node.parent;
|
|
12567
|
-
}
|
|
12568
|
-
return false;
|
|
12569
|
-
}
|
|
12570
12623
|
function forEachReturnStatement(body, visitor) {
|
|
12571
12624
|
return traverse(body);
|
|
12572
12625
|
function traverse(node) {
|
|
@@ -19824,7 +19877,7 @@ function createNodeFactory(flags, baseFactory2) {
|
|
|
19824
19877
|
return node.head !== head || node.templateSpans !== templateSpans ? update(createTemplateExpression(head, templateSpans), node) : node;
|
|
19825
19878
|
}
|
|
19826
19879
|
function checkTemplateLiteralLikeNode(kind, text, rawText, templateFlags = 0 /* None */) {
|
|
19827
|
-
Debug.assert(!(templateFlags & ~
|
|
19880
|
+
Debug.assert(!(templateFlags & ~7176 /* TemplateLiteralLikeFlags */), "Unsupported template flags.");
|
|
19828
19881
|
let cooked = void 0;
|
|
19829
19882
|
if (rawText !== void 0 && rawText !== text) {
|
|
19830
19883
|
cooked = getCookedText(kind, rawText);
|
|
@@ -19853,7 +19906,7 @@ function createNodeFactory(flags, baseFactory2) {
|
|
|
19853
19906
|
const node = createBaseToken(kind);
|
|
19854
19907
|
node.text = text;
|
|
19855
19908
|
node.rawText = rawText;
|
|
19856
|
-
node.templateFlags = templateFlags &
|
|
19909
|
+
node.templateFlags = templateFlags & 7176 /* TemplateLiteralLikeFlags */;
|
|
19857
19910
|
node.transformFlags = getTransformFlagsOfTemplateLiteralLike(node.templateFlags);
|
|
19858
19911
|
return node;
|
|
19859
19912
|
}
|
|
@@ -19861,7 +19914,7 @@ function createNodeFactory(flags, baseFactory2) {
|
|
|
19861
19914
|
const node = createBaseDeclaration(kind);
|
|
19862
19915
|
node.text = text;
|
|
19863
19916
|
node.rawText = rawText;
|
|
19864
|
-
node.templateFlags = templateFlags &
|
|
19917
|
+
node.templateFlags = templateFlags & 7176 /* TemplateLiteralLikeFlags */;
|
|
19865
19918
|
node.transformFlags = getTransformFlagsOfTemplateLiteralLike(node.templateFlags);
|
|
19866
19919
|
return node;
|
|
19867
19920
|
}
|
|
@@ -26526,8 +26579,8 @@ var Parser;
|
|
|
26526
26579
|
function parseErrorAtRange(range, message, ...args) {
|
|
26527
26580
|
parseErrorAt(range.pos, range.end, message, ...args);
|
|
26528
26581
|
}
|
|
26529
|
-
function scanError(message, length2) {
|
|
26530
|
-
parseErrorAtPosition(scanner.getTokenEnd(), length2, message);
|
|
26582
|
+
function scanError(message, length2, arg0) {
|
|
26583
|
+
parseErrorAtPosition(scanner.getTokenEnd(), length2, message, arg0);
|
|
26531
26584
|
}
|
|
26532
26585
|
function getNodePos() {
|
|
26533
26586
|
return scanner.getTokenFullStart();
|
|
@@ -26566,9 +26619,6 @@ var Parser;
|
|
|
26566
26619
|
function reScanTemplateToken(isTaggedTemplate) {
|
|
26567
26620
|
return currentToken = scanner.reScanTemplateToken(isTaggedTemplate);
|
|
26568
26621
|
}
|
|
26569
|
-
function reScanTemplateHeadOrNoSubstitutionTemplate() {
|
|
26570
|
-
return currentToken = scanner.reScanTemplateHeadOrNoSubstitutionTemplate();
|
|
26571
|
-
}
|
|
26572
26622
|
function reScanLessThanToken() {
|
|
26573
26623
|
return currentToken = scanner.reScanLessThanToken();
|
|
26574
26624
|
}
|
|
@@ -27640,8 +27690,11 @@ var Parser;
|
|
|
27640
27690
|
return parseLiteralLikeNode(token());
|
|
27641
27691
|
}
|
|
27642
27692
|
function parseTemplateHead(isTaggedTemplate) {
|
|
27643
|
-
if (isTaggedTemplate) {
|
|
27644
|
-
|
|
27693
|
+
if (!isTaggedTemplate && scanner.getTokenFlags() & 26656 /* IsInvalid */) {
|
|
27694
|
+
reScanTemplateToken(
|
|
27695
|
+
/*isTaggedTemplate*/
|
|
27696
|
+
false
|
|
27697
|
+
);
|
|
27645
27698
|
}
|
|
27646
27699
|
const fragment = parseLiteralLikeNode(token());
|
|
27647
27700
|
Debug.assert(fragment.kind === 15 /* TemplateHead */, "Template head has wrong token kind");
|
|
@@ -27659,8 +27712,7 @@ var Parser;
|
|
|
27659
27712
|
}
|
|
27660
27713
|
function parseLiteralLikeNode(kind) {
|
|
27661
27714
|
const pos = getNodePos();
|
|
27662
|
-
const node = isTemplateLiteralKind(kind) ? factory2.createTemplateLiteralLikeNode(kind, scanner.getTokenValue(), getTemplateLiteralRawText(kind), scanner.getTokenFlags() &
|
|
27663
|
-
// Octal literals are not allowed in strict mode or ES5
|
|
27715
|
+
const node = isTemplateLiteralKind(kind) ? factory2.createTemplateLiteralLikeNode(kind, scanner.getTokenValue(), getTemplateLiteralRawText(kind), scanner.getTokenFlags() & 7176 /* TemplateLiteralLikeFlags */) : (
|
|
27664
27716
|
// Note that theoretically the following condition would hold true literals like 009,
|
|
27665
27717
|
// which is not octal. But because of how the scanner separates the tokens, we would
|
|
27666
27718
|
// never get a token like this. Instead, we would get 00 and 9 as two separate tokens.
|
|
@@ -29716,7 +29768,10 @@ var Parser;
|
|
|
29716
29768
|
const tagExpression = factory2.createTaggedTemplateExpression(
|
|
29717
29769
|
tag,
|
|
29718
29770
|
typeArguments,
|
|
29719
|
-
token() === 14 /* NoSubstitutionTemplateLiteral */ ? (
|
|
29771
|
+
token() === 14 /* NoSubstitutionTemplateLiteral */ ? (reScanTemplateToken(
|
|
29772
|
+
/*isTaggedTemplate*/
|
|
29773
|
+
true
|
|
29774
|
+
), parseLiteralNode()) : parseTemplateExpression(
|
|
29720
29775
|
/*isTaggedTemplate*/
|
|
29721
29776
|
true
|
|
29722
29777
|
)
|
|
@@ -29804,10 +29859,16 @@ var Parser;
|
|
|
29804
29859
|
}
|
|
29805
29860
|
function parsePrimaryExpression() {
|
|
29806
29861
|
switch (token()) {
|
|
29862
|
+
case 14 /* NoSubstitutionTemplateLiteral */:
|
|
29863
|
+
if (scanner.getTokenFlags() & 26656 /* IsInvalid */) {
|
|
29864
|
+
reScanTemplateToken(
|
|
29865
|
+
/*isTaggedTemplate*/
|
|
29866
|
+
false
|
|
29867
|
+
);
|
|
29868
|
+
}
|
|
29807
29869
|
case 8 /* NumericLiteral */:
|
|
29808
29870
|
case 9 /* BigIntLiteral */:
|
|
29809
29871
|
case 10 /* StringLiteral */:
|
|
29810
|
-
case 14 /* NoSubstitutionTemplateLiteral */:
|
|
29811
29872
|
return parseLiteralNode();
|
|
29812
29873
|
case 109 /* ThisKeyword */:
|
|
29813
29874
|
case 107 /* SuperKeyword */:
|
|
@@ -40414,11 +40475,6 @@ function createBinder() {
|
|
|
40414
40475
|
}
|
|
40415
40476
|
}
|
|
40416
40477
|
}
|
|
40417
|
-
function checkStrictModeNumericLiteral(node) {
|
|
40418
|
-
if (languageVersion < 1 /* ES5 */ && inStrictMode && node.numericLiteralFlags & 32 /* Octal */) {
|
|
40419
|
-
file.bindDiagnostics.push(createDiagnosticForNode2(node, Diagnostics.Octal_literals_are_not_allowed_in_strict_mode));
|
|
40420
|
-
}
|
|
40421
|
-
}
|
|
40422
40478
|
function checkStrictModePostfixUnaryExpression(node) {
|
|
40423
40479
|
if (inStrictMode) {
|
|
40424
40480
|
checkStrictModeEvalOrArguments(node, node.operand);
|
|
@@ -40610,8 +40666,6 @@ function createBinder() {
|
|
|
40610
40666
|
return checkStrictModeCatchClause(node);
|
|
40611
40667
|
case 218 /* DeleteExpression */:
|
|
40612
40668
|
return checkStrictModeDeleteExpression(node);
|
|
40613
|
-
case 8 /* NumericLiteral */:
|
|
40614
|
-
return checkStrictModeNumericLiteral(node);
|
|
40615
40669
|
case 223 /* PostfixUnaryExpression */:
|
|
40616
40670
|
return checkStrictModePostfixUnaryExpression(node);
|
|
40617
40671
|
case 222 /* PrefixUnaryExpression */:
|
|
@@ -49858,6 +49912,7 @@ function createTypeChecker(host) {
|
|
|
49858
49912
|
), 0 /* None */);
|
|
49859
49913
|
}
|
|
49860
49914
|
function serializeMaybeAliasAssignment(symbol) {
|
|
49915
|
+
var _a2;
|
|
49861
49916
|
if (symbol.flags & 4194304 /* Prototype */) {
|
|
49862
49917
|
return false;
|
|
49863
49918
|
}
|
|
@@ -49937,7 +49992,7 @@ function createTypeChecker(host) {
|
|
|
49937
49992
|
void 0,
|
|
49938
49993
|
serializeTypeForDeclaration(context, typeToSerialize, symbol, enclosingDeclaration, includePrivateSymbol, bundled)
|
|
49939
49994
|
)
|
|
49940
|
-
], 2 /* Const */)
|
|
49995
|
+
], ((_a2 = context.enclosingDeclaration) == null ? void 0 : _a2.kind) === 265 /* ModuleDeclaration */ ? 1 /* Let */ : 2 /* Const */)
|
|
49941
49996
|
);
|
|
49942
49997
|
addResult(
|
|
49943
49998
|
statement,
|
|
@@ -49973,7 +50028,7 @@ function createTypeChecker(host) {
|
|
|
49973
50028
|
if (isStatic2 && p.flags & (788968 /* Type */ | 1920 /* Namespace */ | 2097152 /* Alias */)) {
|
|
49974
50029
|
return [];
|
|
49975
50030
|
}
|
|
49976
|
-
if (p.flags & 4194304 /* Prototype */ || baseType && getPropertyOfType(baseType, p.escapedName) && isReadonlySymbol(getPropertyOfType(baseType, p.escapedName)) === isReadonlySymbol(p) && (p.flags & 16777216 /* Optional */) === (getPropertyOfType(baseType, p.escapedName).flags & 16777216 /* Optional */) && isTypeIdenticalTo(getTypeOfSymbol(p), getTypeOfPropertyOfType(baseType, p.escapedName))) {
|
|
50031
|
+
if (p.flags & 4194304 /* Prototype */ || p.escapedName === "constructor" || baseType && getPropertyOfType(baseType, p.escapedName) && isReadonlySymbol(getPropertyOfType(baseType, p.escapedName)) === isReadonlySymbol(p) && (p.flags & 16777216 /* Optional */) === (getPropertyOfType(baseType, p.escapedName).flags & 16777216 /* Optional */) && isTypeIdenticalTo(getTypeOfSymbol(p), getTypeOfPropertyOfType(baseType, p.escapedName))) {
|
|
49977
50032
|
return [];
|
|
49978
50033
|
}
|
|
49979
50034
|
const flag = modifierFlags & ~512 /* Async */ | (isStatic2 ? 32 /* Static */ : 0);
|
|
@@ -53473,6 +53528,9 @@ function createTypeChecker(host) {
|
|
|
53473
53528
|
return type.resolvedDefaultConstraint;
|
|
53474
53529
|
}
|
|
53475
53530
|
function getConstraintOfDistributiveConditionalType(type) {
|
|
53531
|
+
if (type.resolvedConstraintOfDistributive !== void 0) {
|
|
53532
|
+
return type.resolvedConstraintOfDistributive || void 0;
|
|
53533
|
+
}
|
|
53476
53534
|
if (type.root.isDistributive && type.restrictiveInstantiation !== type) {
|
|
53477
53535
|
const simplified = getSimplifiedType(
|
|
53478
53536
|
type.checkType,
|
|
@@ -53483,10 +53541,12 @@ function createTypeChecker(host) {
|
|
|
53483
53541
|
if (constraint && constraint !== type.checkType) {
|
|
53484
53542
|
const instantiated = getConditionalTypeInstantiation(type, prependTypeMapping(type.root.checkType, constraint, type.mapper));
|
|
53485
53543
|
if (!(instantiated.flags & 131072 /* Never */)) {
|
|
53544
|
+
type.resolvedConstraintOfDistributive = instantiated;
|
|
53486
53545
|
return instantiated;
|
|
53487
53546
|
}
|
|
53488
53547
|
}
|
|
53489
53548
|
}
|
|
53549
|
+
type.resolvedConstraintOfDistributive = false;
|
|
53490
53550
|
return void 0;
|
|
53491
53551
|
}
|
|
53492
53552
|
function getConstraintFromConditionalType(type) {
|
|
@@ -53978,35 +54038,7 @@ function createTypeChecker(host) {
|
|
|
53978
54038
|
return emptyArray;
|
|
53979
54039
|
}
|
|
53980
54040
|
function getSignaturesOfType(type, kind) {
|
|
53981
|
-
|
|
53982
|
-
if (kind === 0 /* Call */ && !length(result) && type.flags & 1048576 /* Union */) {
|
|
53983
|
-
if (type.arrayFallbackSignatures) {
|
|
53984
|
-
return type.arrayFallbackSignatures;
|
|
53985
|
-
}
|
|
53986
|
-
let memberName;
|
|
53987
|
-
if (everyType(type, (t) => {
|
|
53988
|
-
var _a2;
|
|
53989
|
-
return !!((_a2 = t.symbol) == null ? void 0 : _a2.parent) && isArrayOrTupleSymbol(t.symbol.parent) && (!memberName ? (memberName = t.symbol.escapedName, true) : memberName === t.symbol.escapedName);
|
|
53990
|
-
})) {
|
|
53991
|
-
const arrayArg = mapType(type, (t) => getMappedType((isReadonlyArraySymbol(t.symbol.parent) ? globalReadonlyArrayType : globalArrayType).typeParameters[0], t.mapper));
|
|
53992
|
-
const arrayType = createArrayType(arrayArg, someType(type, (t) => isReadonlyArraySymbol(t.symbol.parent)));
|
|
53993
|
-
return type.arrayFallbackSignatures = getSignaturesOfType(getTypeOfPropertyOfType(arrayType, memberName), kind);
|
|
53994
|
-
}
|
|
53995
|
-
type.arrayFallbackSignatures = result;
|
|
53996
|
-
}
|
|
53997
|
-
return result;
|
|
53998
|
-
}
|
|
53999
|
-
function isArrayOrTupleSymbol(symbol) {
|
|
54000
|
-
if (!symbol || !globalArrayType.symbol || !globalReadonlyArrayType.symbol) {
|
|
54001
|
-
return false;
|
|
54002
|
-
}
|
|
54003
|
-
return !!getSymbolIfSameReference(symbol, globalArrayType.symbol) || !!getSymbolIfSameReference(symbol, globalReadonlyArrayType.symbol);
|
|
54004
|
-
}
|
|
54005
|
-
function isReadonlyArraySymbol(symbol) {
|
|
54006
|
-
if (!symbol || !globalReadonlyArrayType.symbol) {
|
|
54007
|
-
return false;
|
|
54008
|
-
}
|
|
54009
|
-
return !!getSymbolIfSameReference(symbol, globalReadonlyArrayType.symbol);
|
|
54041
|
+
return getSignaturesOfStructuredType(getReducedApparentType(type), kind);
|
|
54010
54042
|
}
|
|
54011
54043
|
function findIndexInfo(indexInfos, keyType) {
|
|
54012
54044
|
return find(indexInfos, (info) => info.keyType === keyType);
|
|
@@ -72202,7 +72234,7 @@ function createTypeChecker(host) {
|
|
|
72202
72234
|
function checkAllCodePathsInNonVoidFunctionReturnOrThrowDiagnostics() {
|
|
72203
72235
|
const functionFlags = getFunctionFlags(func);
|
|
72204
72236
|
const type = returnType && unwrapReturnType(returnType, functionFlags);
|
|
72205
|
-
if (type && maybeTypeOfKind(type, 32768 /* Undefined */ | 16384 /* Void */ | 1 /* Any */)) {
|
|
72237
|
+
if (type && maybeTypeOfKind(type, 32768 /* Undefined */ | 16384 /* Void */ | 1 /* Any */ | 2 /* Unknown */)) {
|
|
72206
72238
|
return;
|
|
72207
72239
|
}
|
|
72208
72240
|
if (func.kind === 171 /* MethodSignature */ || nodeIsMissing(func.body) || func.body.kind !== 239 /* Block */ || !functionHasImplicitReturn(func)) {
|
|
@@ -82706,25 +82738,6 @@ function createTypeChecker(host) {
|
|
|
82706
82738
|
return false;
|
|
82707
82739
|
}
|
|
82708
82740
|
function checkGrammarNumericLiteral(node) {
|
|
82709
|
-
if (node.numericLiteralFlags & 32 /* Octal */) {
|
|
82710
|
-
let diagnosticMessage;
|
|
82711
|
-
if (languageVersion >= 1 /* ES5 */) {
|
|
82712
|
-
diagnosticMessage = Diagnostics.Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0;
|
|
82713
|
-
} else if (isChildOfNodeWithKind(node, 199 /* LiteralType */)) {
|
|
82714
|
-
diagnosticMessage = Diagnostics.Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0;
|
|
82715
|
-
} else if (isChildOfNodeWithKind(node, 303 /* EnumMember */)) {
|
|
82716
|
-
diagnosticMessage = Diagnostics.Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0;
|
|
82717
|
-
}
|
|
82718
|
-
if (diagnosticMessage) {
|
|
82719
|
-
const withMinus = isPrefixUnaryExpression(node.parent) && node.parent.operator === 40 /* MinusToken */;
|
|
82720
|
-
const literal = (withMinus ? "-" : "") + "0o" + node.text;
|
|
82721
|
-
return grammarErrorOnNode(withMinus ? node.parent : node, diagnosticMessage, literal);
|
|
82722
|
-
}
|
|
82723
|
-
}
|
|
82724
|
-
checkNumericLiteralValueSize(node);
|
|
82725
|
-
return false;
|
|
82726
|
-
}
|
|
82727
|
-
function checkNumericLiteralValueSize(node) {
|
|
82728
82741
|
const isFractional = getTextOfNode(node).indexOf(".") !== -1;
|
|
82729
82742
|
const isScientific = node.numericLiteralFlags & 16 /* Scientific */;
|
|
82730
82743
|
if (isFractional || isScientific) {
|
|
@@ -85665,7 +85678,7 @@ function processTaggedTemplateExpression(context, node, visitor, currentSourceFi
|
|
|
85665
85678
|
);
|
|
85666
85679
|
}
|
|
85667
85680
|
function createTemplateCooked(factory2, template) {
|
|
85668
|
-
return template.templateFlags ? factory2.createVoidZero() : factory2.createStringLiteral(template.text);
|
|
85681
|
+
return template.templateFlags & 26656 /* IsInvalid */ ? factory2.createVoidZero() : factory2.createStringLiteral(template.text);
|
|
85669
85682
|
}
|
|
85670
85683
|
function getRawLiteral(factory2, node, currentSourceFile) {
|
|
85671
85684
|
let text = node.rawText;
|
|
@@ -108863,7 +108876,7 @@ function createPrinter(printerOptions = {}, handlers = {}) {
|
|
|
108863
108876
|
/*jsxAttributeEscape*/
|
|
108864
108877
|
false
|
|
108865
108878
|
);
|
|
108866
|
-
return !expression.numericLiteralFlags && !stringContains(text, tokenToString(24 /* DotToken */));
|
|
108879
|
+
return !(expression.numericLiteralFlags & 448 /* WithSpecifier */) && !stringContains(text, tokenToString(24 /* DotToken */)) && !stringContains(text, String.fromCharCode(69 /* E */)) && !stringContains(text, String.fromCharCode(101 /* e */));
|
|
108867
108880
|
} else if (isAccessExpression(expression)) {
|
|
108868
108881
|
const constantValue = getConstantValue(expression);
|
|
108869
108882
|
return typeof constantValue === "number" && isFinite(constantValue) && Math.floor(constantValue) === constantValue;
|
|
@@ -113111,7 +113124,6 @@ var plainJSErrors = /* @__PURE__ */ new Set([
|
|
|
113111
113124
|
Diagnostics.Invalid_use_of_0_Modules_are_automatically_in_strict_mode.code,
|
|
113112
113125
|
Diagnostics.Invalid_use_of_0_in_strict_mode.code,
|
|
113113
113126
|
Diagnostics.A_label_is_not_allowed_here.code,
|
|
113114
|
-
Diagnostics.Octal_literals_are_not_allowed_in_strict_mode.code,
|
|
113115
113127
|
Diagnostics.with_statements_are_not_allowed_in_strict_mode.code,
|
|
113116
113128
|
// grammar errors
|
|
113117
113129
|
Diagnostics.A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement.code,
|