@typescript-deploys/pr-build 5.0.0-pr-52944-25 → 5.0.0-pr-49226-5
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 +172 -301
- package/lib/tsserver.js +172 -301
- package/lib/tsserverlibrary.js +172 -301
- package/lib/typescript.js +172 -301
- package/lib/typingsInstaller.js +80 -48
- package/package.json +1 -1
package/lib/tsc.js
CHANGED
|
@@ -23,7 +23,7 @@ var __export = (target, all) => {
|
|
|
23
23
|
|
|
24
24
|
// src/compiler/corePublic.ts
|
|
25
25
|
var versionMajorMinor = "5.0";
|
|
26
|
-
var version = `${versionMajorMinor}.0-insiders.
|
|
26
|
+
var version = `${versionMajorMinor}.0-insiders.20230225`;
|
|
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) {
|
|
@@ -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)) {
|
|
@@ -61618,7 +61657,7 @@ function createTypeChecker(host) {
|
|
|
61618
61657
|
return type.symbol;
|
|
61619
61658
|
}
|
|
61620
61659
|
if (isTupleType(type)) {
|
|
61621
|
-
return type
|
|
61660
|
+
return type;
|
|
61622
61661
|
}
|
|
61623
61662
|
}
|
|
61624
61663
|
if (type.flags & 262144 /* TypeParameter */) {
|
|
@@ -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
|
}
|
|
@@ -115402,10 +115270,10 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
|
|
|
115402
115270
|
}
|
|
115403
115271
|
}
|
|
115404
115272
|
if (options.preserveValueImports && getEmitModuleKind(options) < 5 /* ES2015 */) {
|
|
115405
|
-
createDiagnosticForOptionName(Diagnostics.
|
|
115273
|
+
createDiagnosticForOptionName(Diagnostics.Option_0_can_only_be_used_when_module_is_set_to_es2015_or_later, "preserveValueImports");
|
|
115406
115274
|
}
|
|
115275
|
+
const moduleKind = getEmitModuleKind(options);
|
|
115407
115276
|
if (options.verbatimModuleSyntax) {
|
|
115408
|
-
const moduleKind = getEmitModuleKind(options);
|
|
115409
115277
|
if (moduleKind === 2 /* AMD */ || moduleKind === 3 /* UMD */ || moduleKind === 4 /* System */) {
|
|
115410
115278
|
createDiagnosticForOptionName(Diagnostics.Option_verbatimModuleSyntax_cannot_be_used_when_module_is_set_to_UMD_AMD_or_System, "verbatimModuleSyntax");
|
|
115411
115279
|
}
|
|
@@ -115424,13 +115292,16 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
|
|
|
115424
115292
|
}
|
|
115425
115293
|
const moduleResolution = getEmitModuleResolutionKind(options);
|
|
115426
115294
|
if (options.resolvePackageJsonExports && !moduleResolutionSupportsPackageJsonExportsAndImports(moduleResolution)) {
|
|
115427
|
-
|
|
115295
|
+
createDiagnosticForOptionName(Diagnostics.Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler, "resolvePackageJsonExports");
|
|
115428
115296
|
}
|
|
115429
115297
|
if (options.resolvePackageJsonImports && !moduleResolutionSupportsPackageJsonExportsAndImports(moduleResolution)) {
|
|
115430
|
-
|
|
115298
|
+
createDiagnosticForOptionName(Diagnostics.Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler, "resolvePackageJsonImports");
|
|
115431
115299
|
}
|
|
115432
115300
|
if (options.customConditions && !moduleResolutionSupportsPackageJsonExportsAndImports(moduleResolution)) {
|
|
115433
|
-
|
|
115301
|
+
createDiagnosticForOptionName(Diagnostics.Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler, "customConditions");
|
|
115302
|
+
}
|
|
115303
|
+
if (moduleResolution === 100 /* Bundler */ && !emitModuleKindIsNonNodeESM(moduleKind)) {
|
|
115304
|
+
createOptionValueDiagnostic("moduleResolution", Diagnostics.Option_0_can_only_be_used_when_module_is_set_to_es2015_or_later, "bundler");
|
|
115434
115305
|
}
|
|
115435
115306
|
if (!options.noEmit && !options.suppressOutputPathCheck) {
|
|
115436
115307
|
const emitHost = getEmitHost();
|