@typescript-deploys/pr-build 5.0.0-pr-52944-25 → 5.1.0-pr-53001-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 +261 -385
- package/lib/tsserver.js +379 -471
- package/lib/tsserverlibrary.d.ts +3 -8
- package/lib/tsserverlibrary.js +379 -471
- package/lib/typescript.d.ts +1 -1
- package/lib/typescript.js +262 -387
- package/lib/typingsInstaller.js +81 -49
- package/package.json +2 -2
package/lib/tsc.js
CHANGED
|
@@ -22,8 +22,8 @@ var __export = (target, all) => {
|
|
|
22
22
|
};
|
|
23
23
|
|
|
24
24
|
// src/compiler/corePublic.ts
|
|
25
|
-
var versionMajorMinor = "5.
|
|
26
|
-
var version = `${versionMajorMinor}.0-insiders.
|
|
25
|
+
var versionMajorMinor = "5.1";
|
|
26
|
+
var version = `${versionMajorMinor}.0-insiders.20230228`;
|
|
27
27
|
|
|
28
28
|
// src/compiler/core.ts
|
|
29
29
|
var emptyArray = [];
|
|
@@ -6890,12 +6890,10 @@ var Diagnostics = {
|
|
|
6890
6890
|
The_root_value_of_a_0_file_must_be_an_object: diag(5092, 1 /* Error */, "The_root_value_of_a_0_file_must_be_an_object_5092", "The root value of a '{0}' file must be an object."),
|
|
6891
6891
|
Compiler_option_0_may_only_be_used_with_build: diag(5093, 1 /* Error */, "Compiler_option_0_may_only_be_used_with_build_5093", "Compiler option '--{0}' may only be used with '--build'."),
|
|
6892
6892
|
Compiler_option_0_may_not_be_used_with_build: diag(5094, 1 /* Error */, "Compiler_option_0_may_not_be_used_with_build_5094", "Compiler option '--{0}' may not be used with '--build'."),
|
|
6893
|
-
|
|
6893
|
+
Option_0_can_only_be_used_when_module_is_set_to_es2015_or_later: diag(5095, 1 /* Error */, "Option_0_can_only_be_used_when_module_is_set_to_es2015_or_later_5095", "Option '{0}' can only be used when 'module' is set to 'es2015' or later."),
|
|
6894
6894
|
Option_allowImportingTsExtensions_can_only_be_used_when_either_noEmit_or_emitDeclarationOnly_is_set: diag(5096, 1 /* Error */, "Option_allowImportingTsExtensions_can_only_be_used_when_either_noEmit_or_emitDeclarationOnly_is_set_5096", "Option 'allowImportingTsExtensions' can only be used when either 'noEmit' or 'emitDeclarationOnly' is set."),
|
|
6895
6895
|
An_import_path_can_only_end_with_a_0_extension_when_allowImportingTsExtensions_is_enabled: diag(5097, 1 /* Error */, "An_import_path_can_only_end_with_a_0_extension_when_allowImportingTsExtensions_is_enabled_5097", "An import path can only end with a '{0}' extension when 'allowImportingTsExtensions' is enabled."),
|
|
6896
6896
|
Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler: diag(5098, 1 /* Error */, "Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler_5098", "Option '{0}' can only be used when 'moduleResolution' is set to 'node16', 'nodenext', or 'bundler'."),
|
|
6897
|
-
Import_assignment_is_not_allowed_when_moduleResolution_is_set_to_bundler_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead: diag(5099, 1 /* Error */, "Import_assignment_is_not_allowed_when_moduleResolution_is_set_to_bundler_Consider_using_import_Aster_5099", `Import assignment is not allowed when 'moduleResolution' is set to 'bundler'. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead.`),
|
|
6898
|
-
Export_assignment_cannot_be_used_when_moduleResolution_is_set_to_bundler_Consider_using_export_default_or_another_module_format_instead: diag(5100, 1 /* Error */, "Export_assignment_cannot_be_used_when_moduleResolution_is_set_to_bundler_Consider_using_export_defau_5100", "Export assignment cannot be used when 'moduleResolution' is set to 'bundler'. Consider using 'export default' or another module format instead."),
|
|
6899
6897
|
Flag_0_is_deprecated_and_will_stop_functioning_in_TypeScript_1_Specify_compilerOption_ignoreDeprecations_Colon_2_to_silence_this_error: diag(5101, 1 /* Error */, "Flag_0_is_deprecated_and_will_stop_functioning_in_TypeScript_1_Specify_compilerOption_ignoreDeprecat_5101", `Flag '{0}' is deprecated and will stop functioning in TypeScript {1}. Specify compilerOption '"ignoreDeprecations": "{2}"' to silence this error.`),
|
|
6900
6898
|
Flag_0_is_deprecated_Please_remove_it_from_your_configuration: diag(5102, 1 /* Error */, "Flag_0_is_deprecated_Please_remove_it_from_your_configuration_5102", "Flag '{0}' is deprecated. Please remove it from your configuration."),
|
|
6901
6899
|
Invalid_value_for_ignoreDeprecations: diag(5103, 1 /* Error */, "Invalid_value_for_ignoreDeprecations_5103", "Invalid value for '--ignoreDeprecations'."),
|
|
@@ -26060,6 +26058,34 @@ var Parser;
|
|
|
26060
26058
|
))
|
|
26061
26059
|
};
|
|
26062
26060
|
var factory2 = createNodeFactory(1 /* NoParenthesizerRules */ | 2 /* NoNodeConverters */ | 8 /* NoOriginalNode */, baseNodeFactory);
|
|
26061
|
+
var {
|
|
26062
|
+
createNodeArray: factoryCreateNodeArray,
|
|
26063
|
+
createNumericLiteral: factoryCreateNumericLiteral,
|
|
26064
|
+
createStringLiteral: factoryCreateStringLiteral,
|
|
26065
|
+
createLiteralLikeNode: factoryCreateLiteralLikeNode,
|
|
26066
|
+
createIdentifier: factoryCreateIdentifier,
|
|
26067
|
+
createPrivateIdentifier: factoryCreatePrivateIdentifier,
|
|
26068
|
+
createToken: factoryCreateToken,
|
|
26069
|
+
createArrayLiteralExpression: factoryCreateArrayLiteralExpression,
|
|
26070
|
+
createObjectLiteralExpression: factoryCreateObjectLiteralExpression,
|
|
26071
|
+
createPropertyAccessExpression: factoryCreatePropertyAccessExpression,
|
|
26072
|
+
createPropertyAccessChain: factoryCreatePropertyAccessChain,
|
|
26073
|
+
createElementAccessExpression: factoryCreateElementAccessExpression,
|
|
26074
|
+
createElementAccessChain: factoryCreateElementAccessChain,
|
|
26075
|
+
createCallExpression: factoryCreateCallExpression,
|
|
26076
|
+
createCallChain: factoryCreateCallChain,
|
|
26077
|
+
createNewExpression: factoryCreateNewExpression,
|
|
26078
|
+
createParenthesizedExpression: factoryCreateParenthesizedExpression,
|
|
26079
|
+
createBlock: factoryCreateBlock,
|
|
26080
|
+
createVariableStatement: factoryCreateVariableStatement,
|
|
26081
|
+
createExpressionStatement: factoryCreateExpressionStatement,
|
|
26082
|
+
createIfStatement: factoryCreateIfStatement,
|
|
26083
|
+
createWhileStatement: factoryCreateWhileStatement,
|
|
26084
|
+
createForStatement: factoryCreateForStatement,
|
|
26085
|
+
createForOfStatement: factoryCreateForOfStatement,
|
|
26086
|
+
createVariableDeclaration: factoryCreateVariableDeclaration,
|
|
26087
|
+
createVariableDeclarationList: factoryCreateVariableDeclarationList
|
|
26088
|
+
} = factory2;
|
|
26063
26089
|
var fileName;
|
|
26064
26090
|
var sourceFlags;
|
|
26065
26091
|
var sourceText;
|
|
@@ -26177,8 +26203,8 @@ var Parser;
|
|
|
26177
26203
|
}
|
|
26178
26204
|
}
|
|
26179
26205
|
}
|
|
26180
|
-
const expression = isArray(expressions) ? finishNode(
|
|
26181
|
-
const statement =
|
|
26206
|
+
const expression = isArray(expressions) ? finishNode(factoryCreateArrayLiteralExpression(expressions), pos) : Debug.checkDefined(expressions);
|
|
26207
|
+
const statement = factoryCreateExpressionStatement(expression);
|
|
26182
26208
|
finishNode(statement, pos);
|
|
26183
26209
|
statements = createNodeArray([statement], pos);
|
|
26184
26210
|
endOfFileToken = parseExpectedToken(1 /* EndOfFileToken */, Diagnostics.Unexpected_token);
|
|
@@ -26361,7 +26387,7 @@ var Parser;
|
|
|
26361
26387
|
}
|
|
26362
26388
|
}
|
|
26363
26389
|
syntaxCursor = savedSyntaxCursor;
|
|
26364
|
-
return factory2.updateSourceFile(sourceFile, setTextRange(
|
|
26390
|
+
return factory2.updateSourceFile(sourceFile, setTextRange(factoryCreateNodeArray(statements), sourceFile.statements));
|
|
26365
26391
|
function containsPossibleTopLevelAwait(node) {
|
|
26366
26392
|
return !(node.flags & 32768 /* AwaitContext */) && !!(node.transformFlags & 67108864 /* ContainsPossibleTopLevelAwait */);
|
|
26367
26393
|
}
|
|
@@ -26802,13 +26828,13 @@ var Parser;
|
|
|
26802
26828
|
const pos = getNodePos();
|
|
26803
26829
|
const kind = token();
|
|
26804
26830
|
nextToken();
|
|
26805
|
-
return finishNode(
|
|
26831
|
+
return finishNode(factoryCreateToken(kind), pos);
|
|
26806
26832
|
}
|
|
26807
26833
|
function parseTokenNodeJSDoc() {
|
|
26808
26834
|
const pos = getNodePos();
|
|
26809
26835
|
const kind = token();
|
|
26810
26836
|
nextTokenJSDoc();
|
|
26811
|
-
return finishNode(
|
|
26837
|
+
return finishNode(factoryCreateToken(kind), pos);
|
|
26812
26838
|
}
|
|
26813
26839
|
function canParseSemicolon() {
|
|
26814
26840
|
if (token() === 26 /* SemicolonToken */) {
|
|
@@ -26829,7 +26855,7 @@ var Parser;
|
|
|
26829
26855
|
return tryParseSemicolon() || parseExpected(26 /* SemicolonToken */);
|
|
26830
26856
|
}
|
|
26831
26857
|
function createNodeArray(elements, pos, end, hasTrailingComma) {
|
|
26832
|
-
const array =
|
|
26858
|
+
const array = factoryCreateNodeArray(elements, hasTrailingComma);
|
|
26833
26859
|
setTextRangePosEnd(array, pos, end != null ? end : scanner.getStartPos());
|
|
26834
26860
|
return array;
|
|
26835
26861
|
}
|
|
@@ -26851,7 +26877,7 @@ var Parser;
|
|
|
26851
26877
|
parseErrorAtCurrentToken(diagnosticMessage, arg0);
|
|
26852
26878
|
}
|
|
26853
26879
|
const pos = getNodePos();
|
|
26854
|
-
const result = kind === 79 /* Identifier */ ?
|
|
26880
|
+
const result = kind === 79 /* Identifier */ ? factoryCreateIdentifier(
|
|
26855
26881
|
"",
|
|
26856
26882
|
/*originalKeywordKind*/
|
|
26857
26883
|
void 0
|
|
@@ -26861,15 +26887,15 @@ var Parser;
|
|
|
26861
26887
|
"",
|
|
26862
26888
|
/*templateFlags*/
|
|
26863
26889
|
void 0
|
|
26864
|
-
) : kind === 8 /* NumericLiteral */ ?
|
|
26890
|
+
) : kind === 8 /* NumericLiteral */ ? factoryCreateNumericLiteral(
|
|
26865
26891
|
"",
|
|
26866
26892
|
/*numericLiteralFlags*/
|
|
26867
26893
|
void 0
|
|
26868
|
-
) : kind === 10 /* StringLiteral */ ?
|
|
26894
|
+
) : kind === 10 /* StringLiteral */ ? factoryCreateStringLiteral(
|
|
26869
26895
|
"",
|
|
26870
26896
|
/*isSingleQuote*/
|
|
26871
26897
|
void 0
|
|
26872
|
-
) : kind === 279 /* MissingDeclaration */ ? factory2.createMissingDeclaration() :
|
|
26898
|
+
) : kind === 279 /* MissingDeclaration */ ? factory2.createMissingDeclaration() : factoryCreateToken(kind);
|
|
26873
26899
|
return finishNode(result, pos);
|
|
26874
26900
|
}
|
|
26875
26901
|
function internIdentifier(text) {
|
|
@@ -26887,7 +26913,7 @@ var Parser;
|
|
|
26887
26913
|
const text = internIdentifier(scanner.getTokenValue());
|
|
26888
26914
|
const hasExtendedUnicodeEscape = scanner.hasExtendedUnicodeEscape();
|
|
26889
26915
|
nextTokenWithoutCheck();
|
|
26890
|
-
return finishNode(
|
|
26916
|
+
return finishNode(factoryCreateIdentifier(text, originalKeywordKind, hasExtendedUnicodeEscape), pos);
|
|
26891
26917
|
}
|
|
26892
26918
|
if (token() === 80 /* PrivateIdentifier */) {
|
|
26893
26919
|
parseErrorAtCurrentToken(privateIdentifierDiagnosticMessage || Diagnostics.Private_identifiers_are_not_allowed_outside_class_bodies);
|
|
@@ -26958,7 +26984,7 @@ var Parser;
|
|
|
26958
26984
|
}
|
|
26959
26985
|
function parsePrivateIdentifier() {
|
|
26960
26986
|
const pos = getNodePos();
|
|
26961
|
-
const node =
|
|
26987
|
+
const node = factoryCreatePrivateIdentifier(internIdentifier(scanner.getTokenValue()));
|
|
26962
26988
|
nextToken();
|
|
26963
26989
|
return finishNode(node, pos);
|
|
26964
26990
|
}
|
|
@@ -27673,12 +27699,12 @@ var Parser;
|
|
|
27673
27699
|
// never get a token like this. Instead, we would get 00 and 9 as two separate tokens.
|
|
27674
27700
|
// We also do not need to check for negatives because any prefix operator would be part of a
|
|
27675
27701
|
// parent unary expression.
|
|
27676
|
-
kind === 8 /* NumericLiteral */ ?
|
|
27702
|
+
kind === 8 /* NumericLiteral */ ? factoryCreateNumericLiteral(scanner.getTokenValue(), scanner.getNumericLiteralFlags()) : kind === 10 /* StringLiteral */ ? factoryCreateStringLiteral(
|
|
27677
27703
|
scanner.getTokenValue(),
|
|
27678
27704
|
/*isSingleQuote*/
|
|
27679
27705
|
void 0,
|
|
27680
27706
|
scanner.hasExtendedUnicodeEscape()
|
|
27681
|
-
) : isLiteralKind(kind) ?
|
|
27707
|
+
) : isLiteralKind(kind) ? factoryCreateLiteralLikeNode(kind, scanner.getTokenValue()) : Debug.fail()
|
|
27682
27708
|
);
|
|
27683
27709
|
if (scanner.hasExtendedUnicodeEscape()) {
|
|
27684
27710
|
node.hasExtendedUnicodeEscape = true;
|
|
@@ -28269,7 +28295,7 @@ var Parser;
|
|
|
28269
28295
|
if (token() === 126 /* AbstractKeyword */) {
|
|
28270
28296
|
const pos = getNodePos();
|
|
28271
28297
|
nextToken();
|
|
28272
|
-
const modifier = finishNode(
|
|
28298
|
+
const modifier = finishNode(factoryCreateToken(126 /* AbstractKeyword */), pos);
|
|
28273
28299
|
modifiers = createNodeArray([modifier], pos);
|
|
28274
28300
|
}
|
|
28275
28301
|
return modifiers;
|
|
@@ -29326,7 +29352,7 @@ var Parser;
|
|
|
29326
29352
|
return expression;
|
|
29327
29353
|
}
|
|
29328
29354
|
parseExpectedToken(24 /* DotToken */, Diagnostics.super_must_be_followed_by_an_argument_list_or_member_access);
|
|
29329
|
-
return finishNode(
|
|
29355
|
+
return finishNode(factoryCreatePropertyAccessExpression(expression, parseRightSideOfDot(
|
|
29330
29356
|
/*allowIdentifierNames*/
|
|
29331
29357
|
true,
|
|
29332
29358
|
/*allowPrivateIdentifiers*/
|
|
@@ -29347,7 +29373,7 @@ var Parser;
|
|
|
29347
29373
|
factory2.createJsxElement(
|
|
29348
29374
|
lastChild.openingElement,
|
|
29349
29375
|
lastChild.children,
|
|
29350
|
-
finishNode(factory2.createJsxClosingElement(finishNode(
|
|
29376
|
+
finishNode(factory2.createJsxClosingElement(finishNode(factoryCreateIdentifier(""), end, end)), end, end)
|
|
29351
29377
|
),
|
|
29352
29378
|
lastChild.openingElement.pos,
|
|
29353
29379
|
end
|
|
@@ -29490,7 +29516,7 @@ var Parser;
|
|
|
29490
29516
|
scanJsxIdentifier();
|
|
29491
29517
|
let expression = token() === 108 /* ThisKeyword */ ? parseTokenNode() : parseIdentifierName();
|
|
29492
29518
|
while (parseOptional(24 /* DotToken */)) {
|
|
29493
|
-
expression = finishNode(
|
|
29519
|
+
expression = finishNode(factoryCreatePropertyAccessExpression(expression, parseRightSideOfDot(
|
|
29494
29520
|
/*allowIdentifierNames*/
|
|
29495
29521
|
true,
|
|
29496
29522
|
/*allowPrivateIdentifiers*/
|
|
@@ -29641,7 +29667,7 @@ var Parser;
|
|
|
29641
29667
|
true
|
|
29642
29668
|
);
|
|
29643
29669
|
const isOptionalChain2 = questionDotToken || tryReparseOptionalChain(expression);
|
|
29644
|
-
const propertyAccess = isOptionalChain2 ?
|
|
29670
|
+
const propertyAccess = isOptionalChain2 ? factoryCreatePropertyAccessChain(expression, questionDotToken, name) : factoryCreatePropertyAccessExpression(expression, name);
|
|
29645
29671
|
if (isOptionalChain2 && isPrivateIdentifier(propertyAccess.name)) {
|
|
29646
29672
|
parseErrorAtRange(propertyAccess.name, Diagnostics.An_optional_chain_cannot_contain_private_identifiers);
|
|
29647
29673
|
}
|
|
@@ -29669,7 +29695,7 @@ var Parser;
|
|
|
29669
29695
|
argumentExpression = argument;
|
|
29670
29696
|
}
|
|
29671
29697
|
parseExpected(23 /* CloseBracketToken */);
|
|
29672
|
-
const indexedAccess = questionDotToken || tryReparseOptionalChain(expression) ?
|
|
29698
|
+
const indexedAccess = questionDotToken || tryReparseOptionalChain(expression) ? factoryCreateElementAccessChain(expression, questionDotToken, argumentExpression) : factoryCreateElementAccessExpression(expression, argumentExpression);
|
|
29673
29699
|
return finishNode(indexedAccess, pos);
|
|
29674
29700
|
}
|
|
29675
29701
|
function parseMemberExpressionRest(pos, expression, allowOptionalChain) {
|
|
@@ -29756,7 +29782,7 @@ var Parser;
|
|
|
29756
29782
|
expression = expression.expression;
|
|
29757
29783
|
}
|
|
29758
29784
|
const argumentList = parseArgumentList();
|
|
29759
|
-
const callExpr = questionDotToken || tryReparseOptionalChain(expression) ?
|
|
29785
|
+
const callExpr = questionDotToken || tryReparseOptionalChain(expression) ? factoryCreateCallChain(expression, questionDotToken, typeArguments, argumentList) : factoryCreateCallExpression(expression, typeArguments, argumentList);
|
|
29760
29786
|
expression = finishNode(callExpr, pos);
|
|
29761
29787
|
continue;
|
|
29762
29788
|
}
|
|
@@ -29767,7 +29793,7 @@ var Parser;
|
|
|
29767
29793
|
false,
|
|
29768
29794
|
Diagnostics.Identifier_expected
|
|
29769
29795
|
);
|
|
29770
|
-
expression = finishNode(
|
|
29796
|
+
expression = finishNode(factoryCreatePropertyAccessChain(expression, questionDotToken, name), pos);
|
|
29771
29797
|
}
|
|
29772
29798
|
break;
|
|
29773
29799
|
}
|
|
@@ -29862,7 +29888,7 @@ var Parser;
|
|
|
29862
29888
|
parseExpected(20 /* OpenParenToken */);
|
|
29863
29889
|
const expression = allowInAnd(parseExpression);
|
|
29864
29890
|
parseExpected(21 /* CloseParenToken */);
|
|
29865
|
-
return withJSDoc(finishNode(
|
|
29891
|
+
return withJSDoc(finishNode(factoryCreateParenthesizedExpression(expression), pos), hasJSDoc);
|
|
29866
29892
|
}
|
|
29867
29893
|
function parseSpreadElement() {
|
|
29868
29894
|
const pos = getNodePos();
|
|
@@ -29889,7 +29915,7 @@ var Parser;
|
|
|
29889
29915
|
const multiLine = scanner.hasPrecedingLineBreak();
|
|
29890
29916
|
const elements = parseDelimitedList(15 /* ArrayLiteralMembers */, parseArgumentOrArrayLiteralElement);
|
|
29891
29917
|
parseExpectedMatchingBrackets(22 /* OpenBracketToken */, 23 /* CloseBracketToken */, openBracketParsed, openBracketPosition);
|
|
29892
|
-
return finishNode(
|
|
29918
|
+
return finishNode(factoryCreateArrayLiteralExpression(elements, multiLine), pos);
|
|
29893
29919
|
}
|
|
29894
29920
|
function parseObjectLiteralElement() {
|
|
29895
29921
|
const pos = getNodePos();
|
|
@@ -29954,7 +29980,7 @@ var Parser;
|
|
|
29954
29980
|
true
|
|
29955
29981
|
);
|
|
29956
29982
|
parseExpectedMatchingBrackets(18 /* OpenBraceToken */, 19 /* CloseBraceToken */, openBraceParsed, openBracePosition);
|
|
29957
|
-
return finishNode(
|
|
29983
|
+
return finishNode(factoryCreateObjectLiteralExpression(properties, multiLine), pos);
|
|
29958
29984
|
}
|
|
29959
29985
|
function parseFunctionExpression() {
|
|
29960
29986
|
const savedDecoratorContext = inDecoratorContext();
|
|
@@ -30011,7 +30037,7 @@ var Parser;
|
|
|
30011
30037
|
parseErrorAtCurrentToken(Diagnostics.Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0, getTextOfNodeFromSourceText(sourceText, expression));
|
|
30012
30038
|
}
|
|
30013
30039
|
const argumentList = token() === 20 /* OpenParenToken */ ? parseArgumentList() : void 0;
|
|
30014
|
-
return finishNode(
|
|
30040
|
+
return finishNode(factoryCreateNewExpression(expression, typeArguments, argumentList), pos);
|
|
30015
30041
|
}
|
|
30016
30042
|
function parseBlock(ignoreMissingOpenBrace, diagnosticMessage) {
|
|
30017
30043
|
const pos = getNodePos();
|
|
@@ -30022,7 +30048,7 @@ var Parser;
|
|
|
30022
30048
|
const multiLine = scanner.hasPrecedingLineBreak();
|
|
30023
30049
|
const statements = parseList(1 /* BlockStatements */, parseStatement);
|
|
30024
30050
|
parseExpectedMatchingBrackets(18 /* OpenBraceToken */, 19 /* CloseBraceToken */, openBraceParsed, openBracePosition);
|
|
30025
|
-
const result = withJSDoc(finishNode(
|
|
30051
|
+
const result = withJSDoc(finishNode(factoryCreateBlock(statements, multiLine), pos), hasJSDoc);
|
|
30026
30052
|
if (token() === 63 /* EqualsToken */) {
|
|
30027
30053
|
parseErrorAtCurrentToken(Diagnostics.Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_destructuring_assignment_you_might_need_to_wrap_the_whole_assignment_in_parentheses);
|
|
30028
30054
|
nextToken();
|
|
@@ -30030,7 +30056,7 @@ var Parser;
|
|
|
30030
30056
|
return result;
|
|
30031
30057
|
} else {
|
|
30032
30058
|
const statements = createMissingList();
|
|
30033
|
-
return withJSDoc(finishNode(
|
|
30059
|
+
return withJSDoc(finishNode(factoryCreateBlock(
|
|
30034
30060
|
statements,
|
|
30035
30061
|
/*multiLine*/
|
|
30036
30062
|
void 0
|
|
@@ -30079,7 +30105,7 @@ var Parser;
|
|
|
30079
30105
|
parseExpectedMatchingBrackets(20 /* OpenParenToken */, 21 /* CloseParenToken */, openParenParsed, openParenPosition);
|
|
30080
30106
|
const thenStatement = parseStatement();
|
|
30081
30107
|
const elseStatement = parseOptional(91 /* ElseKeyword */) ? parseStatement() : void 0;
|
|
30082
|
-
return withJSDoc(finishNode(
|
|
30108
|
+
return withJSDoc(finishNode(factoryCreateIfStatement(expression, thenStatement, elseStatement), pos), hasJSDoc);
|
|
30083
30109
|
}
|
|
30084
30110
|
function parseDoStatement() {
|
|
30085
30111
|
const pos = getNodePos();
|
|
@@ -30103,7 +30129,7 @@ var Parser;
|
|
|
30103
30129
|
const expression = allowInAnd(parseExpression);
|
|
30104
30130
|
parseExpectedMatchingBrackets(20 /* OpenParenToken */, 21 /* CloseParenToken */, openParenParsed, openParenPosition);
|
|
30105
30131
|
const statement = parseStatement();
|
|
30106
|
-
return withJSDoc(finishNode(
|
|
30132
|
+
return withJSDoc(finishNode(factoryCreateWhileStatement(expression, statement), pos), hasJSDoc);
|
|
30107
30133
|
}
|
|
30108
30134
|
function parseForOrForInOrForOfStatement() {
|
|
30109
30135
|
const pos = getNodePos();
|
|
@@ -30129,7 +30155,7 @@ var Parser;
|
|
|
30129
30155
|
true
|
|
30130
30156
|
));
|
|
30131
30157
|
parseExpected(21 /* CloseParenToken */);
|
|
30132
|
-
node =
|
|
30158
|
+
node = factoryCreateForOfStatement(awaitToken, initializer, expression, parseStatement());
|
|
30133
30159
|
} else if (parseOptional(101 /* InKeyword */)) {
|
|
30134
30160
|
const expression = allowInAnd(parseExpression);
|
|
30135
30161
|
parseExpected(21 /* CloseParenToken */);
|
|
@@ -30140,7 +30166,7 @@ var Parser;
|
|
|
30140
30166
|
parseExpected(26 /* SemicolonToken */);
|
|
30141
30167
|
const incrementor = token() !== 21 /* CloseParenToken */ ? allowInAnd(parseExpression) : void 0;
|
|
30142
30168
|
parseExpected(21 /* CloseParenToken */);
|
|
30143
|
-
node =
|
|
30169
|
+
node = factoryCreateForStatement(initializer, condition, incrementor, parseStatement());
|
|
30144
30170
|
}
|
|
30145
30171
|
return withJSDoc(finishNode(node, pos), hasJSDoc);
|
|
30146
30172
|
}
|
|
@@ -30215,7 +30241,7 @@ var Parser;
|
|
|
30215
30241
|
let expression = scanner.hasPrecedingLineBreak() ? void 0 : allowInAnd(parseExpression);
|
|
30216
30242
|
if (expression === void 0) {
|
|
30217
30243
|
identifierCount++;
|
|
30218
|
-
expression = finishNode(
|
|
30244
|
+
expression = finishNode(factoryCreateIdentifier(""), getNodePos());
|
|
30219
30245
|
}
|
|
30220
30246
|
if (!tryParseSemicolon()) {
|
|
30221
30247
|
parseErrorForMissingSemicolonAfter(expression);
|
|
@@ -30276,7 +30302,7 @@ var Parser;
|
|
|
30276
30302
|
if (!tryParseSemicolon()) {
|
|
30277
30303
|
parseErrorForMissingSemicolonAfter(expression);
|
|
30278
30304
|
}
|
|
30279
|
-
node =
|
|
30305
|
+
node = factoryCreateExpressionStatement(expression);
|
|
30280
30306
|
if (hasParen) {
|
|
30281
30307
|
hasJSDoc = false;
|
|
30282
30308
|
}
|
|
@@ -30674,7 +30700,7 @@ var Parser;
|
|
|
30674
30700
|
}
|
|
30675
30701
|
const type = parseTypeAnnotation();
|
|
30676
30702
|
const initializer = isInOrOfKeyword(token()) ? void 0 : parseInitializer();
|
|
30677
|
-
const node =
|
|
30703
|
+
const node = factoryCreateVariableDeclaration(name, exclamationToken, type, initializer);
|
|
30678
30704
|
return withJSDoc(finishNode(node, pos), hasJSDoc);
|
|
30679
30705
|
}
|
|
30680
30706
|
function parseVariableDeclarationList(inForStatementInitializer) {
|
|
@@ -30705,7 +30731,7 @@ var Parser;
|
|
|
30705
30731
|
);
|
|
30706
30732
|
setDisallowInContext(savedDisallowIn);
|
|
30707
30733
|
}
|
|
30708
|
-
return finishNode(
|
|
30734
|
+
return finishNode(factoryCreateVariableDeclarationList(declarations, flags), pos);
|
|
30709
30735
|
}
|
|
30710
30736
|
function canFollowContextualOfKeyword() {
|
|
30711
30737
|
return nextTokenIsIdentifier() && nextToken() === 21 /* CloseParenToken */;
|
|
@@ -30716,7 +30742,7 @@ var Parser;
|
|
|
30716
30742
|
false
|
|
30717
30743
|
);
|
|
30718
30744
|
parseSemicolon();
|
|
30719
|
-
const node =
|
|
30745
|
+
const node = factoryCreateVariableStatement(modifiers, declarationList);
|
|
30720
30746
|
return withJSDoc(finishNode(node, pos), hasJSDoc);
|
|
30721
30747
|
}
|
|
30722
30748
|
function parseFunctionDeclaration(pos, hasJSDoc, modifiers) {
|
|
@@ -30945,7 +30971,7 @@ var Parser;
|
|
|
30945
30971
|
return void 0;
|
|
30946
30972
|
}
|
|
30947
30973
|
}
|
|
30948
|
-
return finishNode(
|
|
30974
|
+
return finishNode(factoryCreateToken(kind), pos);
|
|
30949
30975
|
}
|
|
30950
30976
|
function parseModifiers(allowDecorators, permitConstAsModifier, stopOnStartOfClassStaticBlock) {
|
|
30951
30977
|
const pos = getNodePos();
|
|
@@ -30982,7 +31008,7 @@ var Parser;
|
|
|
30982
31008
|
if (token() === 132 /* AsyncKeyword */) {
|
|
30983
31009
|
const pos = getNodePos();
|
|
30984
31010
|
nextToken();
|
|
30985
|
-
const modifier = finishNode(
|
|
31011
|
+
const modifier = finishNode(factoryCreateToken(132 /* AsyncKeyword */), pos);
|
|
30986
31012
|
modifiers = createNodeArray([modifier], pos);
|
|
30987
31013
|
}
|
|
30988
31014
|
return modifiers;
|
|
@@ -31569,7 +31595,7 @@ var Parser;
|
|
|
31569
31595
|
/*isDeclarationFile*/
|
|
31570
31596
|
false,
|
|
31571
31597
|
[],
|
|
31572
|
-
|
|
31598
|
+
factoryCreateToken(1 /* EndOfFileToken */),
|
|
31573
31599
|
0 /* None */,
|
|
31574
31600
|
noop
|
|
31575
31601
|
);
|
|
@@ -32230,7 +32256,7 @@ var Parser;
|
|
|
32230
32256
|
let node = parseJSDocIdentifierName();
|
|
32231
32257
|
while (parseOptional(24 /* DotToken */)) {
|
|
32232
32258
|
const name = parseJSDocIdentifierName();
|
|
32233
|
-
node = finishNode(
|
|
32259
|
+
node = finishNode(factoryCreatePropertyAccessExpression(node, name), pos);
|
|
32234
32260
|
}
|
|
32235
32261
|
return node;
|
|
32236
32262
|
}
|
|
@@ -32521,7 +32547,7 @@ var Parser;
|
|
|
32521
32547
|
const end2 = scanner.getTextPos();
|
|
32522
32548
|
const originalKeywordKind = token();
|
|
32523
32549
|
const text = internIdentifier(scanner.getTokenValue());
|
|
32524
|
-
const result = finishNode(
|
|
32550
|
+
const result = finishNode(factoryCreateIdentifier(text, originalKeywordKind), pos, end2);
|
|
32525
32551
|
nextTokenJSDoc();
|
|
32526
32552
|
return result;
|
|
32527
32553
|
}
|
|
@@ -36751,10 +36777,13 @@ function getNodeResolutionFeatures(options) {
|
|
|
36751
36777
|
return features;
|
|
36752
36778
|
}
|
|
36753
36779
|
function getConditions(options, esmMode) {
|
|
36754
|
-
const conditions = esmMode || getEmitModuleResolutionKind(options) === 100 /* Bundler */ ? ["
|
|
36780
|
+
const conditions = esmMode || getEmitModuleResolutionKind(options) === 100 /* Bundler */ ? ["import"] : ["require"];
|
|
36755
36781
|
if (!options.noDtsResolution) {
|
|
36756
36782
|
conditions.push("types");
|
|
36757
36783
|
}
|
|
36784
|
+
if (getEmitModuleResolutionKind(options) !== 100 /* Bundler */) {
|
|
36785
|
+
conditions.push("node");
|
|
36786
|
+
}
|
|
36758
36787
|
return concatenate(conditions, options.customConditions);
|
|
36759
36788
|
}
|
|
36760
36789
|
function getAutomaticTypeDirectiveNames(options, host) {
|
|
@@ -37443,7 +37472,7 @@ function nodeModuleNameResolverWorker(features, moduleName, containingDirectory,
|
|
|
37443
37472
|
isConfigLookup,
|
|
37444
37473
|
candidateIsFromPackageJsonField: false
|
|
37445
37474
|
};
|
|
37446
|
-
if (traceEnabled &&
|
|
37475
|
+
if (traceEnabled && moduleResolutionSupportsPackageJsonExportsAndImports(getEmitModuleResolutionKind(compilerOptions))) {
|
|
37447
37476
|
trace(host, Diagnostics.Resolving_in_0_mode_with_conditions_1, features & 32 /* EsmMode */ ? "ESM" : "CJS", conditions.map((c) => `'${c}'`).join(", "));
|
|
37448
37477
|
}
|
|
37449
37478
|
let result;
|
|
@@ -45802,7 +45831,9 @@ function createTypeChecker(host) {
|
|
|
45802
45831
|
function getSuggestedImportSource(tsExtension) {
|
|
45803
45832
|
const importSourceWithoutExtension = removeExtension(moduleReference, tsExtension);
|
|
45804
45833
|
if (emitModuleKindIsNonNodeESM(moduleKind) || mode === 99 /* ESNext */) {
|
|
45805
|
-
|
|
45834
|
+
const preferTs = isDeclarationFileName(moduleReference) && shouldAllowImportingTsExtension(compilerOptions);
|
|
45835
|
+
const ext = tsExtension === ".mts" /* Mts */ || tsExtension === ".d.mts" /* Dmts */ ? preferTs ? ".mts" : ".mjs" : tsExtension === ".cts" /* Cts */ || tsExtension === ".d.mts" /* Dmts */ ? preferTs ? ".cts" : ".cjs" : preferTs ? ".ts" : ".js";
|
|
45836
|
+
return importSourceWithoutExtension + ext;
|
|
45806
45837
|
}
|
|
45807
45838
|
return importSourceWithoutExtension;
|
|
45808
45839
|
}
|
|
@@ -54421,15 +54452,27 @@ function createTypeChecker(host) {
|
|
|
54421
54452
|
isInJSFile(signature.declaration)
|
|
54422
54453
|
);
|
|
54423
54454
|
}
|
|
54424
|
-
function
|
|
54425
|
-
const
|
|
54426
|
-
|
|
54427
|
-
|
|
54428
|
-
|
|
54429
|
-
|
|
54455
|
+
function getBaseSignature(signature) {
|
|
54456
|
+
const typeParameters = signature.typeParameters;
|
|
54457
|
+
if (typeParameters) {
|
|
54458
|
+
if (signature.baseSignatureCache) {
|
|
54459
|
+
return signature.baseSignatureCache;
|
|
54460
|
+
}
|
|
54461
|
+
const typeEraser = createTypeEraser(typeParameters);
|
|
54462
|
+
const baseConstraintMapper = createTypeMapper(typeParameters, map(typeParameters, (tp) => getConstraintOfTypeParameter(tp) || unknownType));
|
|
54463
|
+
let baseConstraints = map(typeParameters, (tp) => instantiateType(tp, baseConstraintMapper) || unknownType);
|
|
54464
|
+
for (let i = 0; i < typeParameters.length - 1; i++) {
|
|
54465
|
+
baseConstraints = instantiateTypes(baseConstraints, baseConstraintMapper);
|
|
54466
|
+
}
|
|
54467
|
+
baseConstraints = instantiateTypes(baseConstraints, typeEraser);
|
|
54468
|
+
return signature.baseSignatureCache = instantiateSignature(
|
|
54469
|
+
signature,
|
|
54470
|
+
createTypeMapper(typeParameters, baseConstraints),
|
|
54471
|
+
/*eraseTypeParameters*/
|
|
54472
|
+
true
|
|
54473
|
+
);
|
|
54430
54474
|
}
|
|
54431
|
-
|
|
54432
|
-
return createTypeMapper(typeParameters, baseConstraints);
|
|
54475
|
+
return signature;
|
|
54433
54476
|
}
|
|
54434
54477
|
function getOrCreateTypeFromSignature(signature) {
|
|
54435
54478
|
var _a2;
|
|
@@ -56954,9 +56997,9 @@ function createTypeChecker(host) {
|
|
|
56954
56997
|
}
|
|
56955
56998
|
}
|
|
56956
56999
|
if (!checkTypeDeferred) {
|
|
56957
|
-
inferTypes(context, checkType, instantiateType(extendsType, freshMapper), 512 /* NoConstraints */ | 1024 /* AlwaysStrict */);
|
|
57000
|
+
inferTypes(context.inferences, checkType, instantiateType(extendsType, freshMapper), 512 /* NoConstraints */ | 1024 /* AlwaysStrict */);
|
|
56958
57001
|
}
|
|
56959
|
-
const innerMapper = combineTypeMappers(freshMapper,
|
|
57002
|
+
const innerMapper = combineTypeMappers(freshMapper, context.mapper);
|
|
56960
57003
|
combinedMapper = mapper ? combineTypeMappers(innerMapper, mapper) : innerMapper;
|
|
56961
57004
|
}
|
|
56962
57005
|
const inferredExtendsType = combinedMapper ? instantiateType(root.extendsType, combinedMapper) : extendsType;
|
|
@@ -57643,11 +57686,8 @@ function createTypeChecker(host) {
|
|
|
57643
57686
|
void 0
|
|
57644
57687
|
);
|
|
57645
57688
|
}
|
|
57646
|
-
function createBackreferenceMapper(context,
|
|
57647
|
-
const
|
|
57648
|
-
Debug.assert(inferences, "Inference for backreference mapper must exist within provided context");
|
|
57649
|
-
const index = inferences.indexOf(inference);
|
|
57650
|
-
const forwardInferences = inferences.slice(index);
|
|
57689
|
+
function createBackreferenceMapper(context, index) {
|
|
57690
|
+
const forwardInferences = context.inferences.slice(index);
|
|
57651
57691
|
return createTypeMapper(map(forwardInferences, (i) => i.typeParameter), map(forwardInferences, () => unknownType));
|
|
57652
57692
|
}
|
|
57653
57693
|
function combineTypeMappers(mapper1, mapper2) {
|
|
@@ -60035,7 +60075,7 @@ function createTypeChecker(host) {
|
|
|
60035
60075
|
0 /* None */
|
|
60036
60076
|
);
|
|
60037
60077
|
}
|
|
60038
|
-
} else if (result2 && isNonGenericObjectType(target2) && !isArrayOrTupleType(target2) && source2.flags & 2097152 /* Intersection */ && getApparentType(source2).flags & 3670016 /* StructuredType */ && !some(source2.types, (t) => !!(getObjectFlags(t) & 262144 /* NonInferrableType */))) {
|
|
60078
|
+
} else if (result2 && isNonGenericObjectType(target2) && !isArrayOrTupleType(target2) && source2.flags & 2097152 /* Intersection */ && getApparentType(source2).flags & 3670016 /* StructuredType */ && !some(source2.types, (t) => t === target2 || !!(getObjectFlags(t) & 262144 /* NonInferrableType */))) {
|
|
60039
60079
|
result2 &= propertiesRelatedTo(
|
|
60040
60080
|
source2,
|
|
60041
60081
|
target2,
|
|
@@ -60461,10 +60501,9 @@ function createTypeChecker(host) {
|
|
|
60461
60501
|
0 /* None */,
|
|
60462
60502
|
isRelatedToWorker
|
|
60463
60503
|
);
|
|
60464
|
-
inferTypes(ctx, target2.extendsType, sourceExtends, 512 /* NoConstraints */ | 1024 /* AlwaysStrict */);
|
|
60465
|
-
|
|
60466
|
-
|
|
60467
|
-
mapper = newMapper;
|
|
60504
|
+
inferTypes(ctx.inferences, target2.extendsType, sourceExtends, 512 /* NoConstraints */ | 1024 /* AlwaysStrict */);
|
|
60505
|
+
sourceExtends = instantiateType(sourceExtends, ctx.mapper);
|
|
60506
|
+
mapper = ctx.mapper;
|
|
60468
60507
|
}
|
|
60469
60508
|
if (isTypeIdenticalTo(sourceExtends, target2.extendsType) && (isRelatedTo(source2.checkType, target2.checkType, 3 /* Both */) || isRelatedTo(target2.checkType, source2.checkType, 3 /* Both */))) {
|
|
60470
60509
|
if (result2 = isRelatedTo(instantiateType(getTrueTypeFromConditionalType(source2), mapper), getTrueTypeFromConditionalType(target2), 3 /* Both */, reportErrors2)) {
|
|
@@ -62302,12 +62341,7 @@ function createTypeChecker(host) {
|
|
|
62302
62341
|
return createInferenceContextWorker(typeParameters.map(createInferenceInfo), signature, flags, compareTypes || compareTypesAssignable);
|
|
62303
62342
|
}
|
|
62304
62343
|
function cloneInferenceContext(context, extraFlags = 0) {
|
|
62305
|
-
|
|
62306
|
-
if (context && context.freeTypeVariables) {
|
|
62307
|
-
newContext.freeTypeVariables = map(context.freeTypeVariables, cloneInferenceInfo);
|
|
62308
|
-
newContext.freeTypeVariableSourceSignatures = new Map(mapIterator(context.freeTypeVariableSourceSignatures.entries(), ([k, v]) => [k, new Map(v.entries())]));
|
|
62309
|
-
}
|
|
62310
|
-
return newContext;
|
|
62344
|
+
return context && createInferenceContextWorker(map(context.inferences, cloneInferenceInfo), context.signature, context.flags | extraFlags, context.compareTypes);
|
|
62311
62345
|
}
|
|
62312
62346
|
function createInferenceContextWorker(inferences, signature, flags, compareTypes) {
|
|
62313
62347
|
const context = {
|
|
@@ -62324,29 +62358,20 @@ function createTypeChecker(host) {
|
|
|
62324
62358
|
return context;
|
|
62325
62359
|
}
|
|
62326
62360
|
function makeFixingMapperForContext(context) {
|
|
62327
|
-
return makeDeferredTypeMapper(map(context.inferences, (i) => i.typeParameter), map(context.inferences, (inference) => () => {
|
|
62361
|
+
return makeDeferredTypeMapper(map(context.inferences, (i) => i.typeParameter), map(context.inferences, (inference, i) => () => {
|
|
62328
62362
|
if (!inference.isFixed) {
|
|
62329
62363
|
inferFromIntraExpressionSites(context);
|
|
62330
62364
|
clearCachedInferences(context.inferences);
|
|
62331
62365
|
inference.isFixed = true;
|
|
62332
62366
|
}
|
|
62333
|
-
return getInferredType(context,
|
|
62367
|
+
return getInferredType(context, i);
|
|
62334
62368
|
}));
|
|
62335
62369
|
}
|
|
62336
62370
|
function makeNonFixingMapperForContext(context) {
|
|
62337
|
-
return makeDeferredTypeMapper(map(context.inferences, (i) => i.typeParameter), map(context.inferences, (
|
|
62338
|
-
return getInferredType(context,
|
|
62371
|
+
return makeDeferredTypeMapper(map(context.inferences, (i) => i.typeParameter), map(context.inferences, (_, i) => () => {
|
|
62372
|
+
return getInferredType(context, i);
|
|
62339
62373
|
}));
|
|
62340
62374
|
}
|
|
62341
|
-
function makeFreeTypeVariableMapperForContext(context) {
|
|
62342
|
-
if (!context.freeTypeVariables)
|
|
62343
|
-
return void 0;
|
|
62344
|
-
const baseMapper = getTypeParameterConstraintMapper(map(context.freeTypeVariables, (i) => i.typeParameter));
|
|
62345
|
-
return context.freeTypeVariables.reduceRight(
|
|
62346
|
-
(previous, i) => combineTypeMappers(makeDeferredTypeMapper([i.typeParameter], [() => hasInferenceCandidatesOrDefault(i) ? getInferredType(context, i) : instantiateType(i.typeParameter, baseMapper)]), previous),
|
|
62347
|
-
baseMapper
|
|
62348
|
-
);
|
|
62349
|
-
}
|
|
62350
62375
|
function clearCachedInferences(inferences) {
|
|
62351
62376
|
for (const inference of inferences) {
|
|
62352
62377
|
if (!inference.isFixed) {
|
|
@@ -62363,7 +62388,7 @@ function createTypeChecker(host) {
|
|
|
62363
62388
|
for (const { node, type } of context.intraExpressionInferenceSites) {
|
|
62364
62389
|
const contextualType = node.kind === 171 /* MethodDeclaration */ ? getContextualTypeForObjectLiteralMethod(node, 2 /* NoConstraints */) : getContextualType(node, 2 /* NoConstraints */);
|
|
62365
62390
|
if (contextualType) {
|
|
62366
|
-
inferTypes(context, type, contextualType);
|
|
62391
|
+
inferTypes(context.inferences, type, contextualType);
|
|
62367
62392
|
}
|
|
62368
62393
|
}
|
|
62369
62394
|
context.intraExpressionInferenceSites = void 0;
|
|
@@ -62398,8 +62423,7 @@ function createTypeChecker(host) {
|
|
|
62398
62423
|
return inferences.length ? createInferenceContextWorker(map(inferences, cloneInferenceInfo), context.signature, context.flags, context.compareTypes) : void 0;
|
|
62399
62424
|
}
|
|
62400
62425
|
function getMapperFromContext(context) {
|
|
62401
|
-
|
|
62402
|
-
return innerContext && innerContext.mapper && (innerContext.freeTypeVariables ? combineTypeMappers(innerContext.mapper, makeFreeTypeVariableMapperForContext(innerContext)) : innerContext.mapper);
|
|
62426
|
+
return context && context.mapper;
|
|
62403
62427
|
}
|
|
62404
62428
|
function couldContainTypeVariables(type) {
|
|
62405
62429
|
const objectFlags = getObjectFlags(type);
|
|
@@ -62499,15 +62523,8 @@ function createTypeChecker(host) {
|
|
|
62499
62523
|
const typeParameter = getIndexedAccessType(constraint.type, getTypeParameterFromMappedType(target));
|
|
62500
62524
|
const templateType = getTemplateTypeFromMappedType(target);
|
|
62501
62525
|
const inference = createInferenceInfo(typeParameter);
|
|
62502
|
-
|
|
62503
|
-
|
|
62504
|
-
/*signature*/
|
|
62505
|
-
void 0,
|
|
62506
|
-
0 /* None */,
|
|
62507
|
-
compareTypesAssignable
|
|
62508
|
-
);
|
|
62509
|
-
inferTypes(context, sourceType, templateType);
|
|
62510
|
-
return getInferredTypes(context, returnFalse)[0] || unknownType;
|
|
62526
|
+
inferTypes([inference], sourceType, templateType);
|
|
62527
|
+
return getTypeFromInference(inference) || unknownType;
|
|
62511
62528
|
}
|
|
62512
62529
|
function* getUnmatchedProperties(source, target, requireOptionalProperties, matchDiscriminantProperties) {
|
|
62513
62530
|
const properties = getPropertiesOfType(target);
|
|
@@ -62684,15 +62701,7 @@ function createTypeChecker(host) {
|
|
|
62684
62701
|
pos = p;
|
|
62685
62702
|
}
|
|
62686
62703
|
}
|
|
62687
|
-
function
|
|
62688
|
-
return context.alternatives ? (context.alternatives.forEach((a) => mergeInferenceContexts(
|
|
62689
|
-
a,
|
|
62690
|
-
context,
|
|
62691
|
-
/*clone*/
|
|
62692
|
-
true
|
|
62693
|
-
)), context.alternatives) : [context];
|
|
62694
|
-
}
|
|
62695
|
-
function inferTypes(context, originalSource, originalTarget, priority = 0 /* None */, contravariant = false) {
|
|
62704
|
+
function inferTypes(inferences, originalSource, originalTarget, priority = 0 /* None */, contravariant = false) {
|
|
62696
62705
|
let bivariant = false;
|
|
62697
62706
|
let propagationType;
|
|
62698
62707
|
let inferencePriority = 2048 /* MaxValue */;
|
|
@@ -62701,21 +62710,7 @@ function createTypeChecker(host) {
|
|
|
62701
62710
|
let sourceStack;
|
|
62702
62711
|
let targetStack;
|
|
62703
62712
|
let expandingFlags = 0 /* None */;
|
|
62704
|
-
let useOnlyCachedAlternativeRoutes = false;
|
|
62705
62713
|
inferFromTypes(originalSource, originalTarget);
|
|
62706
|
-
useOnlyCachedAlternativeRoutes = true;
|
|
62707
|
-
const group2 = forkInferenceContext();
|
|
62708
|
-
spawnAlternativeInferenceContext(
|
|
62709
|
-
group2,
|
|
62710
|
-
() => {
|
|
62711
|
-
if (length(context.freeTypeVariables)) {
|
|
62712
|
-
inferFromTypes(originalSource, instantiateType(originalTarget, context.nonFixingMapper));
|
|
62713
|
-
}
|
|
62714
|
-
},
|
|
62715
|
-
/*fork*/
|
|
62716
|
-
false
|
|
62717
|
-
);
|
|
62718
|
-
joinInferenceContext(group2);
|
|
62719
62714
|
function inferFromTypes(source, target) {
|
|
62720
62715
|
if (!couldContainTypeVariables(target)) {
|
|
62721
62716
|
return;
|
|
@@ -62776,9 +62771,6 @@ function createTypeChecker(host) {
|
|
|
62776
62771
|
if (getObjectFlags(source) & 262144 /* NonInferrableType */ || source === nonInferrableAnyType) {
|
|
62777
62772
|
return;
|
|
62778
62773
|
}
|
|
62779
|
-
if (useOnlyCachedAlternativeRoutes && source === target) {
|
|
62780
|
-
return;
|
|
62781
|
-
}
|
|
62782
62774
|
if (!inference.isFixed) {
|
|
62783
62775
|
if (inference.priority === void 0 || priority < inference.priority) {
|
|
62784
62776
|
inference.candidates = void 0;
|
|
@@ -62791,16 +62783,16 @@ function createTypeChecker(host) {
|
|
|
62791
62783
|
if (contravariant && !bivariant) {
|
|
62792
62784
|
if (!contains(inference.contraCandidates, candidate)) {
|
|
62793
62785
|
inference.contraCandidates = append(inference.contraCandidates, candidate);
|
|
62794
|
-
clearCachedInferences(
|
|
62786
|
+
clearCachedInferences(inferences);
|
|
62795
62787
|
}
|
|
62796
62788
|
} else if (!contains(inference.candidates, candidate)) {
|
|
62797
62789
|
inference.candidates = append(inference.candidates, candidate);
|
|
62798
|
-
clearCachedInferences(
|
|
62790
|
+
clearCachedInferences(inferences);
|
|
62799
62791
|
}
|
|
62800
62792
|
}
|
|
62801
62793
|
if (!(priority & 128 /* ReturnType */) && target.flags & 262144 /* TypeParameter */ && inference.topLevel && !isTypeParameterAtTopLevel(originalTarget, target)) {
|
|
62802
62794
|
inference.topLevel = false;
|
|
62803
|
-
clearCachedInferences(
|
|
62795
|
+
clearCachedInferences(inferences);
|
|
62804
62796
|
}
|
|
62805
62797
|
}
|
|
62806
62798
|
inferencePriority = Math.min(inferencePriority, priority);
|
|
@@ -62968,12 +62960,7 @@ function createTypeChecker(host) {
|
|
|
62968
62960
|
}
|
|
62969
62961
|
function getInferenceInfoForType(type) {
|
|
62970
62962
|
if (type.flags & 8650752 /* TypeVariable */) {
|
|
62971
|
-
for (const inference of
|
|
62972
|
-
if (type === inference.typeParameter) {
|
|
62973
|
-
return inference;
|
|
62974
|
-
}
|
|
62975
|
-
}
|
|
62976
|
-
for (const inference of context.freeTypeVariables || []) {
|
|
62963
|
+
for (const inference of inferences) {
|
|
62977
62964
|
if (type === inference.typeParameter) {
|
|
62978
62965
|
return inference;
|
|
62979
62966
|
}
|
|
@@ -63254,88 +63241,17 @@ function createTypeChecker(host) {
|
|
|
63254
63241
|
}
|
|
63255
63242
|
}
|
|
63256
63243
|
}
|
|
63257
|
-
function forkInferenceContext() {
|
|
63258
|
-
return [];
|
|
63259
|
-
}
|
|
63260
|
-
function spawnAlternativeInferenceContext(group3, action, fork = true) {
|
|
63261
|
-
const oldContext = context;
|
|
63262
|
-
flattenInferenceContextAlternatives(context).forEach((alternative) => {
|
|
63263
|
-
const newContext = fork ? cloneInferenceContext(alternative) : alternative;
|
|
63264
|
-
context = newContext;
|
|
63265
|
-
action();
|
|
63266
|
-
context = oldContext;
|
|
63267
|
-
group3.push(...flattenInferenceContextAlternatives(newContext));
|
|
63268
|
-
});
|
|
63269
|
-
}
|
|
63270
|
-
function joinInferenceContext(group3) {
|
|
63271
|
-
group3 = group3.length < 10 ? deduplicate(group3, compareInferenceContext) : group3;
|
|
63272
|
-
if (group3.length === 1) {
|
|
63273
|
-
mergeInferenceContexts(context, group3[0]);
|
|
63274
|
-
context.freeTypeVariables = group3[0].freeTypeVariables;
|
|
63275
|
-
context.freeTypeVariableSourceSignatures = group3[0].freeTypeVariableSourceSignatures;
|
|
63276
|
-
context.inferredTypeParameters = group3[0].inferredTypeParameters;
|
|
63277
|
-
context.flags = group3[0].flags;
|
|
63278
|
-
context.alternatives = void 0;
|
|
63279
|
-
return;
|
|
63280
|
-
}
|
|
63281
|
-
context.alternatives = group3;
|
|
63282
|
-
}
|
|
63283
|
-
function compareInferenceContext(a, b) {
|
|
63284
|
-
return a.compareTypes === b.compareTypes && a.flags === b.flags && a.inferredTypeParameters === b.inferredTypeParameters && a.intraExpressionInferenceSites === b.intraExpressionInferenceSites && a.signature === b.signature && compareInferencesIdentical(a, a.inferences, b, b.inferences) && compareInferencesIdentical(a, a.freeTypeVariables, b, b.freeTypeVariables);
|
|
63285
|
-
}
|
|
63286
|
-
function compareInferencesIdentical(ctxA, a, ctxB, b) {
|
|
63287
|
-
if (length(a) !== length(b))
|
|
63288
|
-
return false;
|
|
63289
|
-
if (length(a) === 0)
|
|
63290
|
-
return true;
|
|
63291
|
-
for (let i = 0; i < length(a); i++) {
|
|
63292
|
-
if (a[i].typeParameter !== b[i].typeParameter || a[i].impliedArity !== b[i].impliedArity || a[i].isFixed !== b[i].isFixed || a[i].priority !== b[i].priority || a[i].topLevel !== b[i].topLevel || forEach(a, (_, i2) => getInferredType(ctxA, a[i2]) !== getInferredType(ctxB, b[i2])))
|
|
63293
|
-
return false;
|
|
63294
|
-
}
|
|
63295
|
-
return true;
|
|
63296
|
-
}
|
|
63297
63244
|
function inferFromSignatures(source, target, kind) {
|
|
63298
|
-
var _a2, _b;
|
|
63299
63245
|
const sourceSignatures = getSignaturesOfType(source, kind);
|
|
63300
63246
|
const targetSignatures = getSignaturesOfType(target, kind);
|
|
63301
63247
|
const sourceLen = sourceSignatures.length;
|
|
63302
63248
|
const targetLen = targetSignatures.length;
|
|
63303
|
-
|
|
63304
|
-
|
|
63305
|
-
|
|
63306
|
-
if (useOnlyCachedAlternativeRoutes && !((_b = (_a2 = context.freeTypeVariableSourceSignatures) == null ? void 0 : _a2.get(last(sourceStack))) == null ? void 0 : _b.get(sourceSignatures[i]))) {
|
|
63307
|
-
continue;
|
|
63308
|
-
}
|
|
63309
|
-
spawnAlternativeInferenceContext(
|
|
63310
|
-
group3,
|
|
63311
|
-
() => inferFromSignature(sourceSignatures[i], targetSignatures[0])
|
|
63312
|
-
);
|
|
63313
|
-
}
|
|
63314
|
-
joinInferenceContext(group3);
|
|
63315
|
-
} else {
|
|
63316
|
-
const len = sourceLen < targetLen ? sourceLen : targetLen;
|
|
63317
|
-
for (let i = 0; i < len; i++) {
|
|
63318
|
-
inferFromSignature(sourceSignatures[sourceLen - len + i], targetSignatures[targetLen - len + i]);
|
|
63319
|
-
}
|
|
63249
|
+
const len = sourceLen < targetLen ? sourceLen : targetLen;
|
|
63250
|
+
for (let i = 0; i < len; i++) {
|
|
63251
|
+
inferFromSignature(getBaseSignature(sourceSignatures[sourceLen - len + i]), getErasedSignature(targetSignatures[targetLen - len + i]));
|
|
63320
63252
|
}
|
|
63321
63253
|
}
|
|
63322
63254
|
function inferFromSignature(source, target) {
|
|
63323
|
-
target = getErasedSignature(target);
|
|
63324
|
-
if (source.typeParameters) {
|
|
63325
|
-
let cache = (context.freeTypeVariableSourceSignatures || (context.freeTypeVariableSourceSignatures = /* @__PURE__ */ new Map())).get(last(sourceStack));
|
|
63326
|
-
if (!cache) {
|
|
63327
|
-
context.freeTypeVariableSourceSignatures.set(last(sourceStack), cache = /* @__PURE__ */ new Map());
|
|
63328
|
-
}
|
|
63329
|
-
const cached = cache.get(source);
|
|
63330
|
-
if (cached) {
|
|
63331
|
-
source = cached;
|
|
63332
|
-
} else {
|
|
63333
|
-
const originalSignature = source;
|
|
63334
|
-
source = instantiateSignature(source, makeUnaryTypeMapper(unknownType, unknownType));
|
|
63335
|
-
cache.set(originalSignature, source);
|
|
63336
|
-
(context.freeTypeVariables || (context.freeTypeVariables = [])).push(...map(source.typeParameters, createInferenceInfo));
|
|
63337
|
-
}
|
|
63338
|
-
}
|
|
63339
63255
|
const saveBivariant = bivariant;
|
|
63340
63256
|
const kind = target.declaration ? target.declaration.kind : 0 /* Unknown */;
|
|
63341
63257
|
bivariant = bivariant || kind === 171 /* MethodDeclaration */ || kind === 170 /* MethodSignature */ || kind === 173 /* Constructor */;
|
|
@@ -63410,7 +63326,8 @@ function createTypeChecker(host) {
|
|
|
63410
63326
|
const unwidenedType = inference.priority & 416 /* PriorityImpliesCombination */ ? getUnionType(baseCandidates, 2 /* Subtype */) : getCommonSupertype(baseCandidates);
|
|
63411
63327
|
return getWidenedType(unwidenedType);
|
|
63412
63328
|
}
|
|
63413
|
-
function getInferredType(context,
|
|
63329
|
+
function getInferredType(context, index) {
|
|
63330
|
+
const inference = context.inferences[index];
|
|
63414
63331
|
if (!inference.inferredType) {
|
|
63415
63332
|
let inferredType;
|
|
63416
63333
|
const signature = context.signature;
|
|
@@ -63426,7 +63343,7 @@ function createTypeChecker(host) {
|
|
|
63426
63343
|
} else {
|
|
63427
63344
|
const defaultType = getDefaultFromTypeParameter(inference.typeParameter);
|
|
63428
63345
|
if (defaultType) {
|
|
63429
|
-
inferredType = instantiateType(defaultType, mergeTypeMappers(createBackreferenceMapper(context,
|
|
63346
|
+
inferredType = instantiateType(defaultType, mergeTypeMappers(createBackreferenceMapper(context, index), context.nonFixingMapper));
|
|
63430
63347
|
}
|
|
63431
63348
|
}
|
|
63432
63349
|
} else {
|
|
@@ -63446,24 +63363,12 @@ function createTypeChecker(host) {
|
|
|
63446
63363
|
function getDefaultTypeArgumentType(isInJavaScriptFile) {
|
|
63447
63364
|
return isInJavaScriptFile ? anyType : unknownType;
|
|
63448
63365
|
}
|
|
63449
|
-
function getInferredTypes(context
|
|
63450
|
-
const
|
|
63451
|
-
let
|
|
63452
|
-
|
|
63453
|
-
const context2 = alternatives[a];
|
|
63454
|
-
const freeTypeVariableMapper = makeFreeTypeVariableMapperForContext(context2);
|
|
63455
|
-
const result = [];
|
|
63456
|
-
for (const inference of context2.inferences) {
|
|
63457
|
-
result.push(instantiateType(getInferredType(context2, inference), freeTypeVariableMapper));
|
|
63458
|
-
}
|
|
63459
|
-
if (alternatives.length === 1 || accept(result)) {
|
|
63460
|
-
return result;
|
|
63461
|
-
}
|
|
63462
|
-
if (!finalAlternative) {
|
|
63463
|
-
finalAlternative = result;
|
|
63464
|
-
}
|
|
63366
|
+
function getInferredTypes(context) {
|
|
63367
|
+
const result = [];
|
|
63368
|
+
for (let i = 0; i < context.inferences.length; i++) {
|
|
63369
|
+
result.push(getInferredType(context, i));
|
|
63465
63370
|
}
|
|
63466
|
-
return
|
|
63371
|
+
return result;
|
|
63467
63372
|
}
|
|
63468
63373
|
function getCannotFindNameDiagnosticForName(node) {
|
|
63469
63374
|
switch (node.escapedText) {
|
|
@@ -66841,11 +66746,8 @@ function createTypeChecker(host) {
|
|
|
66841
66746
|
function instantiateContextualType(contextualType, node, contextFlags) {
|
|
66842
66747
|
if (contextualType && maybeTypeOfKind(contextualType, 465829888 /* Instantiable */)) {
|
|
66843
66748
|
const inferenceContext = getInferenceContext(node);
|
|
66844
|
-
if (inferenceContext && contextFlags & 1 /* Signature */ && some(
|
|
66845
|
-
return
|
|
66846
|
-
flattenInferenceContextAlternatives(inferenceContext),
|
|
66847
|
-
(c) => instantiateInstantiableTypes(contextualType, c.nonFixingMapper)
|
|
66848
|
-
));
|
|
66749
|
+
if (inferenceContext && contextFlags & 1 /* Signature */ && some(inferenceContext.inferences, hasInferenceCandidatesOrDefault)) {
|
|
66750
|
+
return instantiateInstantiableTypes(contextualType, inferenceContext.nonFixingMapper);
|
|
66849
66751
|
}
|
|
66850
66752
|
if (inferenceContext == null ? void 0 : inferenceContext.returnMapper) {
|
|
66851
66753
|
const type = instantiateInstantiableTypes(contextualType, inferenceContext.returnMapper);
|
|
@@ -69204,23 +69106,23 @@ function createTypeChecker(host) {
|
|
|
69204
69106
|
function instantiateSignatureInContextOf(signature, contextualSignature, inferenceContext, compareTypes) {
|
|
69205
69107
|
const context = createInferenceContext(signature.typeParameters, signature, 0 /* None */, compareTypes);
|
|
69206
69108
|
const restType = getEffectiveRestType(contextualSignature);
|
|
69207
|
-
const mapper = inferenceContext && (restType && restType.flags & 262144 /* TypeParameter */ ? inferenceContext.nonFixingMapper :
|
|
69109
|
+
const mapper = inferenceContext && (restType && restType.flags & 262144 /* TypeParameter */ ? inferenceContext.nonFixingMapper : inferenceContext.mapper);
|
|
69208
69110
|
const sourceSignature = mapper ? instantiateSignature(contextualSignature, mapper) : contextualSignature;
|
|
69209
69111
|
applyToParameterTypes(sourceSignature, signature, (source, target) => {
|
|
69210
|
-
inferTypes(context, source, target);
|
|
69112
|
+
inferTypes(context.inferences, source, target);
|
|
69211
69113
|
});
|
|
69212
69114
|
if (!inferenceContext) {
|
|
69213
69115
|
applyToReturnTypes(contextualSignature, signature, (source, target) => {
|
|
69214
|
-
inferTypes(context, source, target, 128 /* ReturnType */);
|
|
69116
|
+
inferTypes(context.inferences, source, target, 128 /* ReturnType */);
|
|
69215
69117
|
});
|
|
69216
69118
|
}
|
|
69217
|
-
return getSignatureInstantiation(signature, getInferredTypes(context
|
|
69119
|
+
return getSignatureInstantiation(signature, getInferredTypes(context), isInJSFile(contextualSignature.declaration));
|
|
69218
69120
|
}
|
|
69219
|
-
function inferJsxTypeArguments(node, signature, checkMode, context
|
|
69121
|
+
function inferJsxTypeArguments(node, signature, checkMode, context) {
|
|
69220
69122
|
const paramType = getEffectiveFirstArgumentForJsxSignature(signature, node);
|
|
69221
69123
|
const checkAttrType = checkExpressionWithContextualType(node.attributes, paramType, context, checkMode);
|
|
69222
|
-
inferTypes(context, checkAttrType, paramType);
|
|
69223
|
-
return getInferredTypes(context
|
|
69124
|
+
inferTypes(context.inferences, checkAttrType, paramType);
|
|
69125
|
+
return getInferredTypes(context);
|
|
69224
69126
|
}
|
|
69225
69127
|
function getThisArgumentType(thisArgumentNode) {
|
|
69226
69128
|
if (!thisArgumentNode) {
|
|
@@ -69229,9 +69131,9 @@ function createTypeChecker(host) {
|
|
|
69229
69131
|
const thisArgumentType = checkExpression(thisArgumentNode);
|
|
69230
69132
|
return isOptionalChainRoot(thisArgumentNode.parent) ? getNonNullableType(thisArgumentType) : isOptionalChain(thisArgumentNode.parent) ? removeOptionalTypeMarker(thisArgumentType) : thisArgumentType;
|
|
69231
69133
|
}
|
|
69232
|
-
function inferTypeArguments(node, signature, args, checkMode, context
|
|
69134
|
+
function inferTypeArguments(node, signature, args, checkMode, context) {
|
|
69233
69135
|
if (isJsxOpeningLikeElement(node)) {
|
|
69234
|
-
return inferJsxTypeArguments(node, signature, checkMode, context
|
|
69136
|
+
return inferJsxTypeArguments(node, signature, checkMode, context);
|
|
69235
69137
|
}
|
|
69236
69138
|
if (node.kind !== 167 /* Decorator */) {
|
|
69237
69139
|
const skipBindingPatterns = every(signature.typeParameters, (p) => !!getDefaultFromTypeParameter(p));
|
|
@@ -69246,11 +69148,11 @@ function createTypeChecker(host) {
|
|
|
69246
69148
|
const instantiatedType = instantiateType(contextualType, outerMapper);
|
|
69247
69149
|
const contextualSignature = getSingleCallSignature(instantiatedType);
|
|
69248
69150
|
const inferenceSourceType = contextualSignature && contextualSignature.typeParameters ? getOrCreateTypeFromSignature(getSignatureInstantiationWithoutFillingInTypeArguments(contextualSignature, contextualSignature.typeParameters)) : instantiatedType;
|
|
69249
|
-
inferTypes(context, inferenceSourceType, inferenceTargetType, 128 /* ReturnType */);
|
|
69151
|
+
inferTypes(context.inferences, inferenceSourceType, inferenceTargetType, 128 /* ReturnType */);
|
|
69250
69152
|
}
|
|
69251
69153
|
const returnContext = createInferenceContext(signature.typeParameters, signature, context.flags);
|
|
69252
69154
|
const returnSourceType = instantiateType(contextualType, outerContext && outerContext.returnMapper);
|
|
69253
|
-
inferTypes(returnContext, returnSourceType, inferenceTargetType);
|
|
69155
|
+
inferTypes(returnContext.inferences, returnSourceType, inferenceTargetType);
|
|
69254
69156
|
context.returnMapper = some(returnContext.inferences, hasInferenceCandidates) ? getMapperFromContext(cloneInferredPartOfContext(returnContext)) : void 0;
|
|
69255
69157
|
}
|
|
69256
69158
|
}
|
|
@@ -69266,7 +69168,7 @@ function createTypeChecker(host) {
|
|
|
69266
69168
|
const thisType = getThisTypeOfSignature(signature);
|
|
69267
69169
|
if (thisType && couldContainTypeVariables(thisType)) {
|
|
69268
69170
|
const thisArgumentNode = getThisArgumentOfCall(node);
|
|
69269
|
-
inferTypes(context, getThisArgumentType(thisArgumentNode), thisType);
|
|
69171
|
+
inferTypes(context.inferences, getThisArgumentType(thisArgumentNode), thisType);
|
|
69270
69172
|
}
|
|
69271
69173
|
for (let i = 0; i < argCount; i++) {
|
|
69272
69174
|
const arg = args[i];
|
|
@@ -69274,15 +69176,15 @@ function createTypeChecker(host) {
|
|
|
69274
69176
|
const paramType = getTypeAtPosition(signature, i);
|
|
69275
69177
|
if (couldContainTypeVariables(paramType)) {
|
|
69276
69178
|
const argType = checkExpressionWithContextualType(arg, paramType, context, checkMode);
|
|
69277
|
-
inferTypes(context, argType, paramType);
|
|
69179
|
+
inferTypes(context.inferences, argType, paramType);
|
|
69278
69180
|
}
|
|
69279
69181
|
}
|
|
69280
69182
|
}
|
|
69281
69183
|
if (restType && couldContainTypeVariables(restType)) {
|
|
69282
69184
|
const spreadType = getSpreadArgumentType(args, argCount, args.length, restType, context, checkMode);
|
|
69283
|
-
inferTypes(context, spreadType, restType);
|
|
69185
|
+
inferTypes(context.inferences, spreadType, restType);
|
|
69284
69186
|
}
|
|
69285
|
-
return getInferredTypes(context
|
|
69187
|
+
return getInferredTypes(context);
|
|
69286
69188
|
}
|
|
69287
69189
|
function getMutableArrayOrTupleType(type) {
|
|
69288
69190
|
return type.flags & 1048576 /* Union */ ? mapType(type, getMutableArrayOrTupleType) : type.flags & 1 /* Any */ || isMutableArrayOrTuple(getBaseConstraintOfType(type) || type) ? type : isTupleType(type) ? createTupleType(
|
|
@@ -70049,26 +69951,6 @@ function createTypeChecker(host) {
|
|
|
70049
69951
|
}
|
|
70050
69952
|
let checkCandidate;
|
|
70051
69953
|
let inferenceContext;
|
|
70052
|
-
const acceptor = (types) => {
|
|
70053
|
-
const checkCandidate2 = getSignatureInstantiation(candidate, types, isInJSFile(candidate.declaration), inferenceContext && inferenceContext.inferredTypeParameters);
|
|
70054
|
-
if (getNonArrayRestType(candidate) && !hasCorrectArity(node, args, checkCandidate2, signatureHelpTrailingComma2)) {
|
|
70055
|
-
return false;
|
|
70056
|
-
}
|
|
70057
|
-
if (getSignatureApplicabilityError(
|
|
70058
|
-
node,
|
|
70059
|
-
args,
|
|
70060
|
-
checkCandidate2,
|
|
70061
|
-
relation,
|
|
70062
|
-
argCheckMode,
|
|
70063
|
-
/*reportErrors*/
|
|
70064
|
-
false,
|
|
70065
|
-
/*containingMessageChain*/
|
|
70066
|
-
void 0
|
|
70067
|
-
)) {
|
|
70068
|
-
return false;
|
|
70069
|
-
}
|
|
70070
|
-
return true;
|
|
70071
|
-
};
|
|
70072
69954
|
if (candidate.typeParameters) {
|
|
70073
69955
|
let typeArgumentTypes;
|
|
70074
69956
|
if (some(typeArguments)) {
|
|
@@ -70089,7 +69971,7 @@ function createTypeChecker(host) {
|
|
|
70089
69971
|
/*flags*/
|
|
70090
69972
|
isInJSFile(node) ? 2 /* AnyDefault */ : 0 /* None */
|
|
70091
69973
|
);
|
|
70092
|
-
typeArgumentTypes = inferTypeArguments(node, candidate, args, argCheckMode | 8 /* SkipGenericFunctions */, inferenceContext
|
|
69974
|
+
typeArgumentTypes = inferTypeArguments(node, candidate, args, argCheckMode | 8 /* SkipGenericFunctions */, inferenceContext);
|
|
70093
69975
|
argCheckMode |= inferenceContext.flags & 4 /* SkippedGenericFunction */ ? 8 /* SkipGenericFunctions */ : 0 /* Normal */;
|
|
70094
69976
|
}
|
|
70095
69977
|
checkCandidate = getSignatureInstantiation(candidate, typeArgumentTypes, isInJSFile(candidate.declaration), inferenceContext && inferenceContext.inferredTypeParameters);
|
|
@@ -70117,7 +69999,7 @@ function createTypeChecker(host) {
|
|
|
70117
69999
|
if (argCheckMode) {
|
|
70118
70000
|
argCheckMode = checkMode & 32 /* IsForStringLiteralArgumentCompletions */;
|
|
70119
70001
|
if (inferenceContext) {
|
|
70120
|
-
const typeArgumentTypes = inferTypeArguments(node, candidate, args, argCheckMode, inferenceContext
|
|
70002
|
+
const typeArgumentTypes = inferTypeArguments(node, candidate, args, argCheckMode, inferenceContext);
|
|
70121
70003
|
checkCandidate = getSignatureInstantiation(candidate, typeArgumentTypes, isInJSFile(candidate.declaration), inferenceContext.inferredTypeParameters);
|
|
70122
70004
|
if (getNonArrayRestType(candidate) && !hasCorrectArity(node, args, checkCandidate, signatureHelpTrailingComma2)) {
|
|
70123
70005
|
candidateForArgumentArityError = checkCandidate;
|
|
@@ -70227,7 +70109,7 @@ function createTypeChecker(host) {
|
|
|
70227
70109
|
/*flags*/
|
|
70228
70110
|
isInJSFile(node) ? 2 /* AnyDefault */ : 0 /* None */
|
|
70229
70111
|
);
|
|
70230
|
-
const typeArgumentTypes = inferTypeArguments(node, candidate, args, checkMode | 4 /* SkipContextSensitive */ | 8 /* SkipGenericFunctions */, inferenceContext
|
|
70112
|
+
const typeArgumentTypes = inferTypeArguments(node, candidate, args, checkMode | 4 /* SkipContextSensitive */ | 8 /* SkipGenericFunctions */, inferenceContext);
|
|
70231
70113
|
return createSignatureInstantiation(candidate, typeArgumentTypes);
|
|
70232
70114
|
}
|
|
70233
70115
|
function getLongestCandidateIndex(candidates, argsCount) {
|
|
@@ -71495,7 +71377,7 @@ function createTypeChecker(host) {
|
|
|
71495
71377
|
if (declaration.type) {
|
|
71496
71378
|
const typeNode = getEffectiveTypeAnnotationNode(declaration);
|
|
71497
71379
|
if (typeNode) {
|
|
71498
|
-
inferTypes(inferenceContext, getTypeFromTypeNode(typeNode), getTypeAtPosition(context, i));
|
|
71380
|
+
inferTypes(inferenceContext.inferences, getTypeFromTypeNode(typeNode), getTypeAtPosition(context, i));
|
|
71499
71381
|
}
|
|
71500
71382
|
}
|
|
71501
71383
|
}
|
|
@@ -72207,7 +72089,7 @@ function createTypeChecker(host) {
|
|
|
72207
72089
|
instantiatedContextualSignature = instantiateSignature(contextualSignature, inferenceContext.nonFixingMapper);
|
|
72208
72090
|
}
|
|
72209
72091
|
}
|
|
72210
|
-
instantiatedContextualSignature || (instantiatedContextualSignature = inferenceContext ? instantiateSignature(contextualSignature,
|
|
72092
|
+
instantiatedContextualSignature || (instantiatedContextualSignature = inferenceContext ? instantiateSignature(contextualSignature, inferenceContext.mapper) : contextualSignature);
|
|
72211
72093
|
assignContextualParameterTypes(signature, instantiatedContextualSignature);
|
|
72212
72094
|
} else {
|
|
72213
72095
|
assignNonContextualParameterTypes(signature);
|
|
@@ -73588,7 +73470,7 @@ function createTypeChecker(host) {
|
|
|
73588
73470
|
return isAssertionExpression(parent) && isConstTypeReference(parent.type) || isJSDocTypeAssertion(parent) && isConstTypeReference(getJSDocTypeAssertionType(parent)) || isValidConstAssertionArgument(node) && isConstTypeParameterContext(node) || (isParenthesizedExpression(parent) || isArrayLiteralExpression(parent) || isSpreadElement(parent)) && isConstContext(parent) || (isPropertyAssignment(parent) || isShorthandPropertyAssignment(parent) || isTemplateSpan(parent)) && isConstContext(parent.parent);
|
|
73589
73471
|
}
|
|
73590
73472
|
function isConstTypeParameterContext(node) {
|
|
73591
|
-
const contextualType = getContextualType(node,
|
|
73473
|
+
const contextualType = getContextualType(node, 0 /* None */);
|
|
73592
73474
|
return !!contextualType && someType(contextualType, isConstTypeVariable);
|
|
73593
73475
|
}
|
|
73594
73476
|
function checkExpressionForMutableLocation(node, checkMode, forceTuple) {
|
|
@@ -73653,11 +73535,10 @@ function createTypeChecker(host) {
|
|
|
73653
73535
|
if (returnSignature && !returnSignature.typeParameters && !every(context.inferences, hasInferenceCandidates)) {
|
|
73654
73536
|
const uniqueTypeParameters = getUniqueTypeParameters(context, signature.typeParameters);
|
|
73655
73537
|
const instantiatedSignature = getSignatureInstantiationWithoutFillingInTypeArguments(signature, uniqueTypeParameters);
|
|
73656
|
-
const
|
|
73657
|
-
subcontext.inferences = map(context.inferences, (info) => createInferenceInfo(info.typeParameter));
|
|
73538
|
+
const inferences = map(context.inferences, (info) => createInferenceInfo(info.typeParameter));
|
|
73658
73539
|
applyToParameterTypes(instantiatedSignature, contextualSignature, (source, target) => {
|
|
73659
73540
|
inferTypes(
|
|
73660
|
-
|
|
73541
|
+
inferences,
|
|
73661
73542
|
source,
|
|
73662
73543
|
target,
|
|
73663
73544
|
/*priority*/
|
|
@@ -73666,12 +73547,12 @@ function createTypeChecker(host) {
|
|
|
73666
73547
|
true
|
|
73667
73548
|
);
|
|
73668
73549
|
});
|
|
73669
|
-
if (some(
|
|
73550
|
+
if (some(inferences, hasInferenceCandidates)) {
|
|
73670
73551
|
applyToReturnTypes(instantiatedSignature, contextualSignature, (source, target) => {
|
|
73671
|
-
inferTypes(
|
|
73552
|
+
inferTypes(inferences, source, target);
|
|
73672
73553
|
});
|
|
73673
|
-
if (!hasOverlappingInferences(context.inferences,
|
|
73674
|
-
|
|
73554
|
+
if (!hasOverlappingInferences(context.inferences, inferences)) {
|
|
73555
|
+
mergeInferences(context.inferences, inferences);
|
|
73675
73556
|
context.inferredTypeParameters = concatenate(context.inferredTypeParameters, uniqueTypeParameters);
|
|
73676
73557
|
return getOrCreateTypeFromSignature(instantiatedSignature);
|
|
73677
73558
|
}
|
|
@@ -73704,22 +73585,13 @@ function createTypeChecker(host) {
|
|
|
73704
73585
|
}
|
|
73705
73586
|
return false;
|
|
73706
73587
|
}
|
|
73707
|
-
function mergeInferences(target, source
|
|
73588
|
+
function mergeInferences(target, source) {
|
|
73708
73589
|
for (let i = 0; i < target.length; i++) {
|
|
73709
73590
|
if (!hasInferenceCandidates(target[i]) && hasInferenceCandidates(source[i])) {
|
|
73710
|
-
target[i] =
|
|
73711
|
-
...source[i],
|
|
73712
|
-
candidates: source[i].candidates && [...source[i].candidates],
|
|
73713
|
-
contraCandidates: source[i].contraCandidates && [...source[i].contraCandidates]
|
|
73714
|
-
} : source[i];
|
|
73591
|
+
target[i] = source[i];
|
|
73715
73592
|
}
|
|
73716
73593
|
}
|
|
73717
73594
|
}
|
|
73718
|
-
function mergeInferenceContexts(target, source, cloneInferences = false) {
|
|
73719
|
-
mergeInferences(target.inferences, source.inferences, cloneInferences);
|
|
73720
|
-
target.mapper = makeFixingMapperForContext(target);
|
|
73721
|
-
target.nonFixingMapper = makeNonFixingMapperForContext(target);
|
|
73722
|
-
}
|
|
73723
73595
|
function getUniqueTypeParameters(context, typeParameters) {
|
|
73724
73596
|
const result = [];
|
|
73725
73597
|
let oldTypeParameters;
|
|
@@ -78954,8 +78826,6 @@ function createTypeChecker(host) {
|
|
|
78954
78826
|
} else {
|
|
78955
78827
|
if (moduleKind >= 5 /* ES2015 */ && getSourceFileOfNode(node).impliedNodeFormat === void 0 && !node.isTypeOnly && !(node.flags & 16777216 /* Ambient */)) {
|
|
78956
78828
|
grammarErrorOnNode(node, Diagnostics.Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead);
|
|
78957
|
-
} else if (!(node.flags & 16777216 /* Ambient */) && getEmitModuleResolutionKind(compilerOptions) === 100 /* Bundler */) {
|
|
78958
|
-
grammarErrorOnNode(node, Diagnostics.Import_assignment_is_not_allowed_when_moduleResolution_is_set_to_bundler_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead);
|
|
78959
78829
|
}
|
|
78960
78830
|
}
|
|
78961
78831
|
}
|
|
@@ -79162,8 +79032,6 @@ function createTypeChecker(host) {
|
|
|
79162
79032
|
grammarErrorOnNode(node, Diagnostics.Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead);
|
|
79163
79033
|
} else if (moduleKind === 4 /* System */ && !(node.flags & 16777216 /* Ambient */)) {
|
|
79164
79034
|
grammarErrorOnNode(node, Diagnostics.Export_assignment_is_not_supported_when_module_flag_is_system);
|
|
79165
|
-
} else if (getEmitModuleResolutionKind(compilerOptions) === 100 /* Bundler */ && !(node.flags & 16777216 /* Ambient */)) {
|
|
79166
|
-
grammarErrorOnNode(node, Diagnostics.Export_assignment_cannot_be_used_when_moduleResolution_is_set_to_bundler_Consider_using_export_default_or_another_module_format_instead);
|
|
79167
79035
|
}
|
|
79168
79036
|
}
|
|
79169
79037
|
}
|
|
@@ -85411,6 +85279,7 @@ function createDefaultValueCheck(flattenContext, value, defaultValue, location)
|
|
|
85411
85279
|
);
|
|
85412
85280
|
}
|
|
85413
85281
|
function createDestructuringPropertyAccess(flattenContext, value, propertyName) {
|
|
85282
|
+
const { factory: factory2 } = flattenContext.context;
|
|
85414
85283
|
if (isComputedPropertyName(propertyName)) {
|
|
85415
85284
|
const argumentExpression = ensureIdentifier(
|
|
85416
85285
|
flattenContext,
|
|
@@ -85422,7 +85291,7 @@ function createDestructuringPropertyAccess(flattenContext, value, propertyName)
|
|
|
85422
85291
|
);
|
|
85423
85292
|
return flattenContext.context.factory.createElementAccessExpression(value, argumentExpression);
|
|
85424
85293
|
} else if (isStringOrNumericLiteralLike(propertyName)) {
|
|
85425
|
-
const argumentExpression =
|
|
85294
|
+
const argumentExpression = factory2.cloneNode(propertyName);
|
|
85426
85295
|
return flattenContext.context.factory.createElementAccessExpression(value, argumentExpression);
|
|
85427
85296
|
} else {
|
|
85428
85297
|
const name = flattenContext.context.factory.createIdentifier(idText(propertyName));
|
|
@@ -85492,28 +85361,29 @@ function processTaggedTemplateExpression(context, node, visitor, currentSourceFi
|
|
|
85492
85361
|
if (level === 0 /* LiftRestriction */ && !hasInvalidEscape(template)) {
|
|
85493
85362
|
return visitEachChild(node, visitor, context);
|
|
85494
85363
|
}
|
|
85364
|
+
const { factory: factory2 } = context;
|
|
85495
85365
|
if (isNoSubstitutionTemplateLiteral(template)) {
|
|
85496
|
-
cookedStrings.push(createTemplateCooked(template));
|
|
85497
|
-
rawStrings.push(getRawLiteral(template, currentSourceFile));
|
|
85366
|
+
cookedStrings.push(createTemplateCooked(factory2, template));
|
|
85367
|
+
rawStrings.push(getRawLiteral(factory2, template, currentSourceFile));
|
|
85498
85368
|
} else {
|
|
85499
|
-
cookedStrings.push(createTemplateCooked(template.head));
|
|
85500
|
-
rawStrings.push(getRawLiteral(template.head, currentSourceFile));
|
|
85369
|
+
cookedStrings.push(createTemplateCooked(factory2, template.head));
|
|
85370
|
+
rawStrings.push(getRawLiteral(factory2, template.head, currentSourceFile));
|
|
85501
85371
|
for (const templateSpan of template.templateSpans) {
|
|
85502
|
-
cookedStrings.push(createTemplateCooked(templateSpan.literal));
|
|
85503
|
-
rawStrings.push(getRawLiteral(templateSpan.literal, currentSourceFile));
|
|
85372
|
+
cookedStrings.push(createTemplateCooked(factory2, templateSpan.literal));
|
|
85373
|
+
rawStrings.push(getRawLiteral(factory2, templateSpan.literal, currentSourceFile));
|
|
85504
85374
|
templateArguments.push(Debug.checkDefined(visitNode(templateSpan.expression, visitor, isExpression)));
|
|
85505
85375
|
}
|
|
85506
85376
|
}
|
|
85507
85377
|
const helperCall = context.getEmitHelperFactory().createTemplateObjectHelper(
|
|
85508
|
-
|
|
85509
|
-
|
|
85378
|
+
factory2.createArrayLiteralExpression(cookedStrings),
|
|
85379
|
+
factory2.createArrayLiteralExpression(rawStrings)
|
|
85510
85380
|
);
|
|
85511
85381
|
if (isExternalModule(currentSourceFile)) {
|
|
85512
|
-
const tempVar =
|
|
85382
|
+
const tempVar = factory2.createUniqueName("templateObject");
|
|
85513
85383
|
recordTaggedTemplateString(tempVar);
|
|
85514
|
-
templateArguments[0] =
|
|
85384
|
+
templateArguments[0] = factory2.createLogicalOr(
|
|
85515
85385
|
tempVar,
|
|
85516
|
-
|
|
85386
|
+
factory2.createAssignment(
|
|
85517
85387
|
tempVar,
|
|
85518
85388
|
helperCall
|
|
85519
85389
|
)
|
|
@@ -85521,17 +85391,17 @@ function processTaggedTemplateExpression(context, node, visitor, currentSourceFi
|
|
|
85521
85391
|
} else {
|
|
85522
85392
|
templateArguments[0] = helperCall;
|
|
85523
85393
|
}
|
|
85524
|
-
return
|
|
85394
|
+
return factory2.createCallExpression(
|
|
85525
85395
|
tag,
|
|
85526
85396
|
/*typeArguments*/
|
|
85527
85397
|
void 0,
|
|
85528
85398
|
templateArguments
|
|
85529
85399
|
);
|
|
85530
85400
|
}
|
|
85531
|
-
function createTemplateCooked(template) {
|
|
85532
|
-
return template.templateFlags ?
|
|
85401
|
+
function createTemplateCooked(factory2, template) {
|
|
85402
|
+
return template.templateFlags ? factory2.createVoidZero() : factory2.createStringLiteral(template.text);
|
|
85533
85403
|
}
|
|
85534
|
-
function getRawLiteral(node, currentSourceFile) {
|
|
85404
|
+
function getRawLiteral(factory2, node, currentSourceFile) {
|
|
85535
85405
|
let text = node.rawText;
|
|
85536
85406
|
if (text === void 0) {
|
|
85537
85407
|
Debug.assertIsDefined(
|
|
@@ -85543,7 +85413,7 @@ function getRawLiteral(node, currentSourceFile) {
|
|
|
85543
85413
|
text = text.substring(1, text.length - (isLast ? 1 : 2));
|
|
85544
85414
|
}
|
|
85545
85415
|
text = text.replace(/\r\n?/g, "\n");
|
|
85546
|
-
return setTextRange(
|
|
85416
|
+
return setTextRange(factory2.createStringLiteral(text), node);
|
|
85547
85417
|
}
|
|
85548
85418
|
|
|
85549
85419
|
// src/compiler/transformers/ts.ts
|
|
@@ -88999,12 +88869,14 @@ function transformClassFields(context) {
|
|
|
88999
88869
|
if (privateIdentifierInfo.kind === "f" /* Field */) {
|
|
89000
88870
|
if (!privateIdentifierInfo.isStatic) {
|
|
89001
88871
|
return createPrivateInstanceFieldInitializer(
|
|
88872
|
+
factory2,
|
|
89002
88873
|
receiver,
|
|
89003
88874
|
visitNode(property.initializer, initializerVisitor, isExpression),
|
|
89004
88875
|
privateIdentifierInfo.brandCheckIdentifier
|
|
89005
88876
|
);
|
|
89006
88877
|
} else {
|
|
89007
88878
|
return createPrivateStaticFieldInitializer(
|
|
88879
|
+
factory2,
|
|
89008
88880
|
privateIdentifierInfo.variableName,
|
|
89009
88881
|
visitNode(property.initializer, initializerVisitor, isExpression)
|
|
89010
88882
|
);
|
|
@@ -89086,7 +88958,7 @@ function transformClassFields(context) {
|
|
|
89086
88958
|
Debug.assert(weakSetName, "weakSetName should be set in private identifier environment");
|
|
89087
88959
|
statements.push(
|
|
89088
88960
|
factory2.createExpressionStatement(
|
|
89089
|
-
createPrivateInstanceMethodInitializer(receiver, weakSetName)
|
|
88961
|
+
createPrivateInstanceMethodInitializer(factory2, receiver, weakSetName)
|
|
89090
88962
|
)
|
|
89091
88963
|
);
|
|
89092
88964
|
}
|
|
@@ -89539,25 +89411,25 @@ function transformClassFields(context) {
|
|
|
89539
89411
|
return void 0;
|
|
89540
89412
|
}
|
|
89541
89413
|
}
|
|
89542
|
-
function createPrivateStaticFieldInitializer(variableName, initializer) {
|
|
89543
|
-
return
|
|
89414
|
+
function createPrivateStaticFieldInitializer(factory2, variableName, initializer) {
|
|
89415
|
+
return factory2.createAssignment(
|
|
89544
89416
|
variableName,
|
|
89545
|
-
|
|
89546
|
-
|
|
89417
|
+
factory2.createObjectLiteralExpression([
|
|
89418
|
+
factory2.createPropertyAssignment("value", initializer || factory2.createVoidZero())
|
|
89547
89419
|
])
|
|
89548
89420
|
);
|
|
89549
89421
|
}
|
|
89550
|
-
function createPrivateInstanceFieldInitializer(receiver, initializer, weakMapName) {
|
|
89551
|
-
return
|
|
89552
|
-
|
|
89422
|
+
function createPrivateInstanceFieldInitializer(factory2, receiver, initializer, weakMapName) {
|
|
89423
|
+
return factory2.createCallExpression(
|
|
89424
|
+
factory2.createPropertyAccessExpression(weakMapName, "set"),
|
|
89553
89425
|
/*typeArguments*/
|
|
89554
89426
|
void 0,
|
|
89555
|
-
[receiver, initializer ||
|
|
89427
|
+
[receiver, initializer || factory2.createVoidZero()]
|
|
89556
89428
|
);
|
|
89557
89429
|
}
|
|
89558
|
-
function createPrivateInstanceMethodInitializer(receiver, weakSetName) {
|
|
89559
|
-
return
|
|
89560
|
-
|
|
89430
|
+
function createPrivateInstanceMethodInitializer(factory2, receiver, weakSetName) {
|
|
89431
|
+
return factory2.createCallExpression(
|
|
89432
|
+
factory2.createPropertyAccessExpression(weakSetName, "add"),
|
|
89561
89433
|
/*typeArguments*/
|
|
89562
89434
|
void 0,
|
|
89563
89435
|
[receiver]
|
|
@@ -89573,6 +89445,7 @@ function isPrivateIdentifierInExpression(node) {
|
|
|
89573
89445
|
// src/compiler/transformers/typeSerializer.ts
|
|
89574
89446
|
function createRuntimeTypeSerializer(context) {
|
|
89575
89447
|
const {
|
|
89448
|
+
factory: factory2,
|
|
89576
89449
|
hoistVariableDeclaration
|
|
89577
89450
|
} = context;
|
|
89578
89451
|
const resolver = context.getEmitResolver();
|
|
@@ -89612,9 +89485,9 @@ function createRuntimeTypeSerializer(context) {
|
|
|
89612
89485
|
case 260 /* ClassDeclaration */:
|
|
89613
89486
|
case 228 /* ClassExpression */:
|
|
89614
89487
|
case 171 /* MethodDeclaration */:
|
|
89615
|
-
return
|
|
89488
|
+
return factory2.createIdentifier("Function");
|
|
89616
89489
|
default:
|
|
89617
|
-
return
|
|
89490
|
+
return factory2.createVoidZero();
|
|
89618
89491
|
}
|
|
89619
89492
|
}
|
|
89620
89493
|
function serializeParameterTypesOfNode(node, container) {
|
|
@@ -89635,7 +89508,7 @@ function createRuntimeTypeSerializer(context) {
|
|
|
89635
89508
|
}
|
|
89636
89509
|
}
|
|
89637
89510
|
}
|
|
89638
|
-
return
|
|
89511
|
+
return factory2.createArrayLiteralExpression(expressions);
|
|
89639
89512
|
}
|
|
89640
89513
|
function getParametersOfDecoratedDeclaration(node, container) {
|
|
89641
89514
|
if (container && node.kind === 174 /* GetAccessor */) {
|
|
@@ -89650,39 +89523,39 @@ function createRuntimeTypeSerializer(context) {
|
|
|
89650
89523
|
if (isFunctionLike(node) && node.type) {
|
|
89651
89524
|
return serializeTypeNode(node.type);
|
|
89652
89525
|
} else if (isAsyncFunction(node)) {
|
|
89653
|
-
return
|
|
89526
|
+
return factory2.createIdentifier("Promise");
|
|
89654
89527
|
}
|
|
89655
|
-
return
|
|
89528
|
+
return factory2.createVoidZero();
|
|
89656
89529
|
}
|
|
89657
89530
|
function serializeTypeNode(node) {
|
|
89658
89531
|
if (node === void 0) {
|
|
89659
|
-
return
|
|
89532
|
+
return factory2.createIdentifier("Object");
|
|
89660
89533
|
}
|
|
89661
89534
|
node = skipTypeParentheses(node);
|
|
89662
89535
|
switch (node.kind) {
|
|
89663
89536
|
case 114 /* VoidKeyword */:
|
|
89664
89537
|
case 155 /* UndefinedKeyword */:
|
|
89665
89538
|
case 144 /* NeverKeyword */:
|
|
89666
|
-
return
|
|
89539
|
+
return factory2.createVoidZero();
|
|
89667
89540
|
case 181 /* FunctionType */:
|
|
89668
89541
|
case 182 /* ConstructorType */:
|
|
89669
|
-
return
|
|
89542
|
+
return factory2.createIdentifier("Function");
|
|
89670
89543
|
case 185 /* ArrayType */:
|
|
89671
89544
|
case 186 /* TupleType */:
|
|
89672
|
-
return
|
|
89545
|
+
return factory2.createIdentifier("Array");
|
|
89673
89546
|
case 179 /* TypePredicate */:
|
|
89674
|
-
return node.assertsModifier ?
|
|
89547
|
+
return node.assertsModifier ? factory2.createVoidZero() : factory2.createIdentifier("Boolean");
|
|
89675
89548
|
case 134 /* BooleanKeyword */:
|
|
89676
|
-
return
|
|
89549
|
+
return factory2.createIdentifier("Boolean");
|
|
89677
89550
|
case 200 /* TemplateLiteralType */:
|
|
89678
89551
|
case 152 /* StringKeyword */:
|
|
89679
|
-
return
|
|
89552
|
+
return factory2.createIdentifier("String");
|
|
89680
89553
|
case 149 /* ObjectKeyword */:
|
|
89681
|
-
return
|
|
89554
|
+
return factory2.createIdentifier("Object");
|
|
89682
89555
|
case 198 /* LiteralType */:
|
|
89683
89556
|
return serializeLiteralOfLiteralTypeNode(node.literal);
|
|
89684
89557
|
case 148 /* NumberKeyword */:
|
|
89685
|
-
return
|
|
89558
|
+
return factory2.createIdentifier("Number");
|
|
89686
89559
|
case 160 /* BigIntKeyword */:
|
|
89687
89560
|
return getGlobalConstructor("BigInt", 7 /* ES2020 */);
|
|
89688
89561
|
case 153 /* SymbolKeyword */:
|
|
@@ -89734,13 +89607,13 @@ function createRuntimeTypeSerializer(context) {
|
|
|
89734
89607
|
default:
|
|
89735
89608
|
return Debug.failBadSyntaxKind(node);
|
|
89736
89609
|
}
|
|
89737
|
-
return
|
|
89610
|
+
return factory2.createIdentifier("Object");
|
|
89738
89611
|
}
|
|
89739
89612
|
function serializeLiteralOfLiteralTypeNode(node) {
|
|
89740
89613
|
switch (node.kind) {
|
|
89741
89614
|
case 10 /* StringLiteral */:
|
|
89742
89615
|
case 14 /* NoSubstitutionTemplateLiteral */:
|
|
89743
|
-
return
|
|
89616
|
+
return factory2.createIdentifier("String");
|
|
89744
89617
|
case 221 /* PrefixUnaryExpression */: {
|
|
89745
89618
|
const operand = node.operand;
|
|
89746
89619
|
switch (operand.kind) {
|
|
@@ -89752,14 +89625,14 @@ function createRuntimeTypeSerializer(context) {
|
|
|
89752
89625
|
}
|
|
89753
89626
|
}
|
|
89754
89627
|
case 8 /* NumericLiteral */:
|
|
89755
|
-
return
|
|
89628
|
+
return factory2.createIdentifier("Number");
|
|
89756
89629
|
case 9 /* BigIntLiteral */:
|
|
89757
89630
|
return getGlobalConstructor("BigInt", 7 /* ES2020 */);
|
|
89758
89631
|
case 110 /* TrueKeyword */:
|
|
89759
89632
|
case 95 /* FalseKeyword */:
|
|
89760
|
-
return
|
|
89633
|
+
return factory2.createIdentifier("Boolean");
|
|
89761
89634
|
case 104 /* NullKeyword */:
|
|
89762
|
-
return
|
|
89635
|
+
return factory2.createVoidZero();
|
|
89763
89636
|
default:
|
|
89764
89637
|
return Debug.failBadSyntaxKind(node);
|
|
89765
89638
|
}
|
|
@@ -89770,16 +89643,16 @@ function createRuntimeTypeSerializer(context) {
|
|
|
89770
89643
|
typeNode = skipTypeParentheses(typeNode);
|
|
89771
89644
|
if (typeNode.kind === 144 /* NeverKeyword */) {
|
|
89772
89645
|
if (isIntersection)
|
|
89773
|
-
return
|
|
89646
|
+
return factory2.createVoidZero();
|
|
89774
89647
|
continue;
|
|
89775
89648
|
}
|
|
89776
89649
|
if (typeNode.kind === 157 /* UnknownKeyword */) {
|
|
89777
89650
|
if (!isIntersection)
|
|
89778
|
-
return
|
|
89651
|
+
return factory2.createIdentifier("Object");
|
|
89779
89652
|
continue;
|
|
89780
89653
|
}
|
|
89781
89654
|
if (typeNode.kind === 131 /* AnyKeyword */) {
|
|
89782
|
-
return
|
|
89655
|
+
return factory2.createIdentifier("Object");
|
|
89783
89656
|
}
|
|
89784
89657
|
if (!strictNullChecks && (isLiteralTypeNode(typeNode) && typeNode.literal.kind === 104 /* NullKeyword */ || typeNode.kind === 155 /* UndefinedKeyword */)) {
|
|
89785
89658
|
continue;
|
|
@@ -89790,13 +89663,13 @@ function createRuntimeTypeSerializer(context) {
|
|
|
89790
89663
|
}
|
|
89791
89664
|
if (serializedType) {
|
|
89792
89665
|
if (!equateSerializedTypeNodes(serializedType, serializedConstituent)) {
|
|
89793
|
-
return
|
|
89666
|
+
return factory2.createIdentifier("Object");
|
|
89794
89667
|
}
|
|
89795
89668
|
} else {
|
|
89796
89669
|
serializedType = serializedConstituent;
|
|
89797
89670
|
}
|
|
89798
89671
|
}
|
|
89799
|
-
return serializedType != null ? serializedType :
|
|
89672
|
+
return serializedType != null ? serializedType : factory2.createVoidZero();
|
|
89800
89673
|
}
|
|
89801
89674
|
function equateSerializedTypeNodes(left, right) {
|
|
89802
89675
|
return (
|
|
@@ -89830,48 +89703,48 @@ function createRuntimeTypeSerializer(context) {
|
|
|
89830
89703
|
switch (kind) {
|
|
89831
89704
|
case 0 /* Unknown */:
|
|
89832
89705
|
if (findAncestor(node, (n) => n.parent && isConditionalTypeNode(n.parent) && (n.parent.trueType === n || n.parent.falseType === n))) {
|
|
89833
|
-
return
|
|
89706
|
+
return factory2.createIdentifier("Object");
|
|
89834
89707
|
}
|
|
89835
89708
|
const serialized = serializeEntityNameAsExpressionFallback(node.typeName);
|
|
89836
|
-
const temp =
|
|
89837
|
-
return
|
|
89838
|
-
|
|
89709
|
+
const temp = factory2.createTempVariable(hoistVariableDeclaration);
|
|
89710
|
+
return factory2.createConditionalExpression(
|
|
89711
|
+
factory2.createTypeCheck(factory2.createAssignment(temp, serialized), "function"),
|
|
89839
89712
|
/*questionToken*/
|
|
89840
89713
|
void 0,
|
|
89841
89714
|
temp,
|
|
89842
89715
|
/*colonToken*/
|
|
89843
89716
|
void 0,
|
|
89844
|
-
|
|
89717
|
+
factory2.createIdentifier("Object")
|
|
89845
89718
|
);
|
|
89846
89719
|
case 1 /* TypeWithConstructSignatureAndValue */:
|
|
89847
89720
|
return serializeEntityNameAsExpression(node.typeName);
|
|
89848
89721
|
case 2 /* VoidNullableOrNeverType */:
|
|
89849
|
-
return
|
|
89722
|
+
return factory2.createVoidZero();
|
|
89850
89723
|
case 4 /* BigIntLikeType */:
|
|
89851
89724
|
return getGlobalConstructor("BigInt", 7 /* ES2020 */);
|
|
89852
89725
|
case 6 /* BooleanType */:
|
|
89853
|
-
return
|
|
89726
|
+
return factory2.createIdentifier("Boolean");
|
|
89854
89727
|
case 3 /* NumberLikeType */:
|
|
89855
|
-
return
|
|
89728
|
+
return factory2.createIdentifier("Number");
|
|
89856
89729
|
case 5 /* StringLikeType */:
|
|
89857
|
-
return
|
|
89730
|
+
return factory2.createIdentifier("String");
|
|
89858
89731
|
case 7 /* ArrayLikeType */:
|
|
89859
|
-
return
|
|
89732
|
+
return factory2.createIdentifier("Array");
|
|
89860
89733
|
case 8 /* ESSymbolType */:
|
|
89861
89734
|
return getGlobalConstructor("Symbol", 2 /* ES2015 */);
|
|
89862
89735
|
case 10 /* TypeWithCallSignature */:
|
|
89863
|
-
return
|
|
89736
|
+
return factory2.createIdentifier("Function");
|
|
89864
89737
|
case 9 /* Promise */:
|
|
89865
|
-
return
|
|
89738
|
+
return factory2.createIdentifier("Promise");
|
|
89866
89739
|
case 11 /* ObjectType */:
|
|
89867
|
-
return
|
|
89740
|
+
return factory2.createIdentifier("Object");
|
|
89868
89741
|
default:
|
|
89869
89742
|
return Debug.assertNever(kind);
|
|
89870
89743
|
}
|
|
89871
89744
|
}
|
|
89872
89745
|
function createCheckedValue(left, right) {
|
|
89873
|
-
return
|
|
89874
|
-
|
|
89746
|
+
return factory2.createLogicalAnd(
|
|
89747
|
+
factory2.createStrictInequality(factory2.createTypeOfExpression(left), factory2.createStringLiteral("undefined")),
|
|
89875
89748
|
right
|
|
89876
89749
|
);
|
|
89877
89750
|
}
|
|
@@ -89884,13 +89757,13 @@ function createRuntimeTypeSerializer(context) {
|
|
|
89884
89757
|
return createCheckedValue(serializeEntityNameAsExpression(node.left), serializeEntityNameAsExpression(node));
|
|
89885
89758
|
}
|
|
89886
89759
|
const left = serializeEntityNameAsExpressionFallback(node.left);
|
|
89887
|
-
const temp =
|
|
89888
|
-
return
|
|
89889
|
-
|
|
89760
|
+
const temp = factory2.createTempVariable(hoistVariableDeclaration);
|
|
89761
|
+
return factory2.createLogicalAnd(
|
|
89762
|
+
factory2.createLogicalAnd(
|
|
89890
89763
|
left.left,
|
|
89891
|
-
|
|
89764
|
+
factory2.createStrictInequality(factory2.createAssignment(temp, left.right), factory2.createVoidZero())
|
|
89892
89765
|
),
|
|
89893
|
-
|
|
89766
|
+
factory2.createPropertyAccessExpression(temp, node.right)
|
|
89894
89767
|
);
|
|
89895
89768
|
}
|
|
89896
89769
|
function serializeEntityNameAsExpression(node) {
|
|
@@ -89905,21 +89778,21 @@ function createRuntimeTypeSerializer(context) {
|
|
|
89905
89778
|
}
|
|
89906
89779
|
}
|
|
89907
89780
|
function serializeQualifiedNameAsExpression(node) {
|
|
89908
|
-
return
|
|
89781
|
+
return factory2.createPropertyAccessExpression(serializeEntityNameAsExpression(node.left), node.right);
|
|
89909
89782
|
}
|
|
89910
89783
|
function getGlobalConstructorWithFallback(name) {
|
|
89911
|
-
return
|
|
89912
|
-
|
|
89784
|
+
return factory2.createConditionalExpression(
|
|
89785
|
+
factory2.createTypeCheck(factory2.createIdentifier(name), "function"),
|
|
89913
89786
|
/*questionToken*/
|
|
89914
89787
|
void 0,
|
|
89915
|
-
|
|
89788
|
+
factory2.createIdentifier(name),
|
|
89916
89789
|
/*colonToken*/
|
|
89917
89790
|
void 0,
|
|
89918
|
-
|
|
89791
|
+
factory2.createIdentifier("Object")
|
|
89919
89792
|
);
|
|
89920
89793
|
}
|
|
89921
89794
|
function getGlobalConstructor(name, minLanguageVersion) {
|
|
89922
|
-
return languageVersion < minLanguageVersion ? getGlobalConstructorWithFallback(name) :
|
|
89795
|
+
return languageVersion < minLanguageVersion ? getGlobalConstructorWithFallback(name) : factory2.createIdentifier(name);
|
|
89923
89796
|
}
|
|
89924
89797
|
}
|
|
89925
89798
|
|
|
@@ -104750,7 +104623,7 @@ function transformDeclarations(context) {
|
|
|
104750
104623
|
}
|
|
104751
104624
|
const newParam = factory2.updateParameterDeclaration(
|
|
104752
104625
|
p,
|
|
104753
|
-
maskModifiers(p, modifierMask),
|
|
104626
|
+
maskModifiers(factory2, p, modifierMask),
|
|
104754
104627
|
p.dotDotDotToken,
|
|
104755
104628
|
filterBindingPatternInitializersAndRenamings(p.name),
|
|
104756
104629
|
resolver.isOptionalParameter(p) ? p.questionToken || factory2.createToken(57 /* QuestionToken */) : void 0,
|
|
@@ -105864,8 +105737,8 @@ function isAlwaysType(node) {
|
|
|
105864
105737
|
}
|
|
105865
105738
|
return false;
|
|
105866
105739
|
}
|
|
105867
|
-
function maskModifiers(node, modifierMask, modifierAdditions) {
|
|
105868
|
-
return
|
|
105740
|
+
function maskModifiers(factory2, node, modifierMask, modifierAdditions) {
|
|
105741
|
+
return factory2.createModifiersFromModifierFlags(maskModifierFlags(node, modifierMask, modifierAdditions));
|
|
105869
105742
|
}
|
|
105870
105743
|
function maskModifierFlags(node, modifierMask = 258047 /* All */ ^ 4 /* Public */, modifierAdditions = 0 /* None */) {
|
|
105871
105744
|
let flags = getEffectiveModifierFlags(node) & modifierMask | modifierAdditions;
|
|
@@ -115402,10 +115275,10 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
|
|
|
115402
115275
|
}
|
|
115403
115276
|
}
|
|
115404
115277
|
if (options.preserveValueImports && getEmitModuleKind(options) < 5 /* ES2015 */) {
|
|
115405
|
-
createDiagnosticForOptionName(Diagnostics.
|
|
115278
|
+
createDiagnosticForOptionName(Diagnostics.Option_0_can_only_be_used_when_module_is_set_to_es2015_or_later, "preserveValueImports");
|
|
115406
115279
|
}
|
|
115280
|
+
const moduleKind = getEmitModuleKind(options);
|
|
115407
115281
|
if (options.verbatimModuleSyntax) {
|
|
115408
|
-
const moduleKind = getEmitModuleKind(options);
|
|
115409
115282
|
if (moduleKind === 2 /* AMD */ || moduleKind === 3 /* UMD */ || moduleKind === 4 /* System */) {
|
|
115410
115283
|
createDiagnosticForOptionName(Diagnostics.Option_verbatimModuleSyntax_cannot_be_used_when_module_is_set_to_UMD_AMD_or_System, "verbatimModuleSyntax");
|
|
115411
115284
|
}
|
|
@@ -115424,13 +115297,16 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
|
|
|
115424
115297
|
}
|
|
115425
115298
|
const moduleResolution = getEmitModuleResolutionKind(options);
|
|
115426
115299
|
if (options.resolvePackageJsonExports && !moduleResolutionSupportsPackageJsonExportsAndImports(moduleResolution)) {
|
|
115427
|
-
|
|
115300
|
+
createDiagnosticForOptionName(Diagnostics.Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler, "resolvePackageJsonExports");
|
|
115428
115301
|
}
|
|
115429
115302
|
if (options.resolvePackageJsonImports && !moduleResolutionSupportsPackageJsonExportsAndImports(moduleResolution)) {
|
|
115430
|
-
|
|
115303
|
+
createDiagnosticForOptionName(Diagnostics.Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler, "resolvePackageJsonImports");
|
|
115431
115304
|
}
|
|
115432
115305
|
if (options.customConditions && !moduleResolutionSupportsPackageJsonExportsAndImports(moduleResolution)) {
|
|
115433
|
-
|
|
115306
|
+
createDiagnosticForOptionName(Diagnostics.Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler, "customConditions");
|
|
115307
|
+
}
|
|
115308
|
+
if (moduleResolution === 100 /* Bundler */ && !emitModuleKindIsNonNodeESM(moduleKind)) {
|
|
115309
|
+
createOptionValueDiagnostic("moduleResolution", Diagnostics.Option_0_can_only_be_used_when_module_is_set_to_es2015_or_later, "bundler");
|
|
115434
115310
|
}
|
|
115435
115311
|
if (!options.noEmit && !options.suppressOutputPathCheck) {
|
|
115436
115312
|
const emitHost = getEmitHost();
|
|
@@ -115470,7 +115346,7 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
|
|
|
115470
115346
|
const version2 = typeScriptVersion2 || versionMajorMinor;
|
|
115471
115347
|
const ignoreDeprecations = options.ignoreDeprecations;
|
|
115472
115348
|
if (ignoreDeprecations) {
|
|
115473
|
-
if (ignoreDeprecations === "5.0" /* v5_0 */ &&
|
|
115349
|
+
if (ignoreDeprecations === "5.0" /* v5_0 */ && version2.startsWith("5.")) {
|
|
115474
115350
|
return;
|
|
115475
115351
|
} else if (reportInvalidIgnoreDeprecations) {
|
|
115476
115352
|
createOptionValueDiagnostic("ignoreDeprecations", Diagnostics.Invalid_value_for_ignoreDeprecations);
|