typescript 4.7.0-dev.20220314 → 4.7.0-dev.20220317
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/lib.es5.d.ts +1 -1
- package/lib/tsc.js +69 -47
- package/lib/tsserver.js +125 -61
- package/lib/tsserverlibrary.js +125 -61
- package/lib/typescript.js +125 -61
- package/lib/typescriptServices.js +125 -61
- package/lib/typingsInstaller.js +75 -48
- package/package.json +1 -1
package/lib/tsserver.js
CHANGED
|
@@ -100,7 +100,7 @@ var ts;
|
|
|
100
100
|
// The following is baselined as a literal template type without intervention
|
|
101
101
|
/** The version of the TypeScript compiler release */
|
|
102
102
|
// eslint-disable-next-line @typescript-eslint/no-inferrable-types
|
|
103
|
-
ts.version = ts.versionMajorMinor + ".0-dev.
|
|
103
|
+
ts.version = ts.versionMajorMinor + ".0-dev.20220317";
|
|
104
104
|
/* @internal */
|
|
105
105
|
var Comparison;
|
|
106
106
|
(function (Comparison) {
|
|
@@ -8034,7 +8034,7 @@ var ts;
|
|
|
8034
8034
|
Identifier_expected: diag(1003, ts.DiagnosticCategory.Error, "Identifier_expected_1003", "Identifier expected."),
|
|
8035
8035
|
_0_expected: diag(1005, ts.DiagnosticCategory.Error, "_0_expected_1005", "'{0}' expected."),
|
|
8036
8036
|
A_file_cannot_have_a_reference_to_itself: diag(1006, ts.DiagnosticCategory.Error, "A_file_cannot_have_a_reference_to_itself_1006", "A file cannot have a reference to itself."),
|
|
8037
|
-
|
|
8037
|
+
The_parser_expected_to_find_a_1_to_match_the_0_token_here: diag(1007, ts.DiagnosticCategory.Error, "The_parser_expected_to_find_a_1_to_match_the_0_token_here_1007", "The parser expected to find a '{1}' to match the '{0}' token here."),
|
|
8038
8038
|
Trailing_comma_not_allowed: diag(1009, ts.DiagnosticCategory.Error, "Trailing_comma_not_allowed_1009", "Trailing comma not allowed."),
|
|
8039
8039
|
Asterisk_Slash_expected: diag(1010, ts.DiagnosticCategory.Error, "Asterisk_Slash_expected_1010", "'*/' expected."),
|
|
8040
8040
|
An_element_access_expression_should_take_an_argument: diag(1011, ts.DiagnosticCategory.Error, "An_element_access_expression_should_take_an_argument_1011", "An element access expression should take an argument."),
|
|
@@ -31426,20 +31426,23 @@ var ts;
|
|
|
31426
31426
|
return inContext(32768 /* AwaitContext */);
|
|
31427
31427
|
}
|
|
31428
31428
|
function parseErrorAtCurrentToken(message, arg0) {
|
|
31429
|
-
parseErrorAt(scanner.getTokenPos(), scanner.getTextPos(), message, arg0);
|
|
31429
|
+
return parseErrorAt(scanner.getTokenPos(), scanner.getTextPos(), message, arg0);
|
|
31430
31430
|
}
|
|
31431
31431
|
function parseErrorAtPosition(start, length, message, arg0) {
|
|
31432
31432
|
// Don't report another error if it would just be at the same position as the last error.
|
|
31433
31433
|
var lastError = ts.lastOrUndefined(parseDiagnostics);
|
|
31434
|
+
var result;
|
|
31434
31435
|
if (!lastError || start !== lastError.start) {
|
|
31435
|
-
|
|
31436
|
+
result = ts.createDetachedDiagnostic(fileName, start, length, message, arg0);
|
|
31437
|
+
parseDiagnostics.push(result);
|
|
31436
31438
|
}
|
|
31437
31439
|
// Mark that we've encountered an error. We'll set an appropriate bit on the next
|
|
31438
31440
|
// node we finish so that it can't be reused incrementally.
|
|
31439
31441
|
parseErrorBeforeNextFinishedNode = true;
|
|
31442
|
+
return result;
|
|
31440
31443
|
}
|
|
31441
31444
|
function parseErrorAt(start, end, message, arg0) {
|
|
31442
|
-
parseErrorAtPosition(start, end - start, message, arg0);
|
|
31445
|
+
return parseErrorAtPosition(start, end - start, message, arg0);
|
|
31443
31446
|
}
|
|
31444
31447
|
function parseErrorAtRange(range, message, arg0) {
|
|
31445
31448
|
parseErrorAt(range.pos, range.end, message, arg0);
|
|
@@ -31712,6 +31715,19 @@ var ts;
|
|
|
31712
31715
|
parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.tokenToString(kind));
|
|
31713
31716
|
return false;
|
|
31714
31717
|
}
|
|
31718
|
+
function parseExpectedMatchingBrackets(openKind, closeKind, openParsed, openPosition) {
|
|
31719
|
+
if (token() === closeKind) {
|
|
31720
|
+
nextToken();
|
|
31721
|
+
return;
|
|
31722
|
+
}
|
|
31723
|
+
var lastError = parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.tokenToString(closeKind));
|
|
31724
|
+
if (!openParsed) {
|
|
31725
|
+
return;
|
|
31726
|
+
}
|
|
31727
|
+
if (lastError) {
|
|
31728
|
+
ts.addRelatedInfo(lastError, ts.createDetachedDiagnostic(fileName, openPosition, 1, ts.Diagnostics.The_parser_expected_to_find_a_1_to_match_the_0_token_here, ts.tokenToString(openKind), ts.tokenToString(closeKind)));
|
|
31729
|
+
}
|
|
31730
|
+
}
|
|
31715
31731
|
function parseOptional(t) {
|
|
31716
31732
|
if (token() === t) {
|
|
31717
31733
|
nextToken();
|
|
@@ -33360,7 +33376,7 @@ var ts;
|
|
|
33360
33376
|
if (!parseExpected(19 /* CloseBraceToken */)) {
|
|
33361
33377
|
var lastError = ts.lastOrUndefined(parseDiagnostics);
|
|
33362
33378
|
if (lastError && lastError.code === ts.Diagnostics._0_expected.code) {
|
|
33363
|
-
ts.addRelatedInfo(lastError, ts.createDetachedDiagnostic(fileName, openBracePosition, 1, ts.Diagnostics.
|
|
33379
|
+
ts.addRelatedInfo(lastError, ts.createDetachedDiagnostic(fileName, openBracePosition, 1, ts.Diagnostics.The_parser_expected_to_find_a_1_to_match_the_0_token_here, "{", "}"));
|
|
33364
33380
|
}
|
|
33365
33381
|
}
|
|
33366
33382
|
return finishNode(factory.createImportTypeAssertionContainer(clause, multiLine), pos);
|
|
@@ -35170,10 +35186,11 @@ var ts;
|
|
|
35170
35186
|
}
|
|
35171
35187
|
function parseArrayLiteralExpression() {
|
|
35172
35188
|
var pos = getNodePos();
|
|
35173
|
-
|
|
35189
|
+
var openBracketPosition = scanner.getTokenPos();
|
|
35190
|
+
var openBracketParsed = parseExpected(22 /* OpenBracketToken */);
|
|
35174
35191
|
var multiLine = scanner.hasPrecedingLineBreak();
|
|
35175
35192
|
var elements = parseDelimitedList(15 /* ArrayLiteralMembers */, parseArgumentOrArrayLiteralElement);
|
|
35176
|
-
|
|
35193
|
+
parseExpectedMatchingBrackets(22 /* OpenBracketToken */, 23 /* CloseBracketToken */, openBracketParsed, openBracketPosition);
|
|
35177
35194
|
return finishNode(factory.createArrayLiteralExpression(elements, multiLine), pos);
|
|
35178
35195
|
}
|
|
35179
35196
|
function parseObjectLiteralElement() {
|
|
@@ -35230,15 +35247,10 @@ var ts;
|
|
|
35230
35247
|
function parseObjectLiteralExpression() {
|
|
35231
35248
|
var pos = getNodePos();
|
|
35232
35249
|
var openBracePosition = scanner.getTokenPos();
|
|
35233
|
-
parseExpected(18 /* OpenBraceToken */);
|
|
35250
|
+
var openBraceParsed = parseExpected(18 /* OpenBraceToken */);
|
|
35234
35251
|
var multiLine = scanner.hasPrecedingLineBreak();
|
|
35235
35252
|
var properties = parseDelimitedList(12 /* ObjectLiteralMembers */, parseObjectLiteralElement, /*considerSemicolonAsDelimiter*/ true);
|
|
35236
|
-
|
|
35237
|
-
var lastError = ts.lastOrUndefined(parseDiagnostics);
|
|
35238
|
-
if (lastError && lastError.code === ts.Diagnostics._0_expected.code) {
|
|
35239
|
-
ts.addRelatedInfo(lastError, ts.createDetachedDiagnostic(fileName, openBracePosition, 1, ts.Diagnostics.The_parser_expected_to_find_a_to_match_the_token_here));
|
|
35240
|
-
}
|
|
35241
|
-
}
|
|
35253
|
+
parseExpectedMatchingBrackets(18 /* OpenBraceToken */, 19 /* CloseBraceToken */, openBraceParsed, openBracePosition);
|
|
35242
35254
|
return finishNode(factory.createObjectLiteralExpression(properties, multiLine), pos);
|
|
35243
35255
|
}
|
|
35244
35256
|
function parseFunctionExpression() {
|
|
@@ -35294,15 +35306,11 @@ var ts;
|
|
|
35294
35306
|
var pos = getNodePos();
|
|
35295
35307
|
var hasJSDoc = hasPrecedingJSDocComment();
|
|
35296
35308
|
var openBracePosition = scanner.getTokenPos();
|
|
35297
|
-
|
|
35309
|
+
var openBraceParsed = parseExpected(18 /* OpenBraceToken */, diagnosticMessage);
|
|
35310
|
+
if (openBraceParsed || ignoreMissingOpenBrace) {
|
|
35298
35311
|
var multiLine = scanner.hasPrecedingLineBreak();
|
|
35299
35312
|
var statements = parseList(1 /* BlockStatements */, parseStatement);
|
|
35300
|
-
|
|
35301
|
-
var lastError = ts.lastOrUndefined(parseDiagnostics);
|
|
35302
|
-
if (lastError && lastError.code === ts.Diagnostics._0_expected.code) {
|
|
35303
|
-
ts.addRelatedInfo(lastError, ts.createDetachedDiagnostic(fileName, openBracePosition, 1, ts.Diagnostics.The_parser_expected_to_find_a_to_match_the_token_here));
|
|
35304
|
-
}
|
|
35305
|
-
}
|
|
35313
|
+
parseExpectedMatchingBrackets(18 /* OpenBraceToken */, 19 /* CloseBraceToken */, openBraceParsed, openBracePosition);
|
|
35306
35314
|
var result = withJSDoc(finishNode(factory.createBlock(statements, multiLine), pos), hasJSDoc);
|
|
35307
35315
|
if (token() === 63 /* EqualsToken */) {
|
|
35308
35316
|
parseErrorAtCurrentToken(ts.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_the_whole_assignment_in_parentheses);
|
|
@@ -35347,9 +35355,10 @@ var ts;
|
|
|
35347
35355
|
var pos = getNodePos();
|
|
35348
35356
|
var hasJSDoc = hasPrecedingJSDocComment();
|
|
35349
35357
|
parseExpected(99 /* IfKeyword */);
|
|
35350
|
-
|
|
35358
|
+
var openParenPosition = scanner.getTokenPos();
|
|
35359
|
+
var openParenParsed = parseExpected(20 /* OpenParenToken */);
|
|
35351
35360
|
var expression = allowInAnd(parseExpression);
|
|
35352
|
-
|
|
35361
|
+
parseExpectedMatchingBrackets(20 /* OpenParenToken */, 21 /* CloseParenToken */, openParenParsed, openParenPosition);
|
|
35353
35362
|
var thenStatement = parseStatement();
|
|
35354
35363
|
var elseStatement = parseOptional(91 /* ElseKeyword */) ? parseStatement() : undefined;
|
|
35355
35364
|
return withJSDoc(finishNode(factory.createIfStatement(expression, thenStatement, elseStatement), pos), hasJSDoc);
|
|
@@ -35360,9 +35369,10 @@ var ts;
|
|
|
35360
35369
|
parseExpected(90 /* DoKeyword */);
|
|
35361
35370
|
var statement = parseStatement();
|
|
35362
35371
|
parseExpected(115 /* WhileKeyword */);
|
|
35363
|
-
|
|
35372
|
+
var openParenPosition = scanner.getTokenPos();
|
|
35373
|
+
var openParenParsed = parseExpected(20 /* OpenParenToken */);
|
|
35364
35374
|
var expression = allowInAnd(parseExpression);
|
|
35365
|
-
|
|
35375
|
+
parseExpectedMatchingBrackets(20 /* OpenParenToken */, 21 /* CloseParenToken */, openParenParsed, openParenPosition);
|
|
35366
35376
|
// From: https://mail.mozilla.org/pipermail/es-discuss/2011-August/016188.html
|
|
35367
35377
|
// 157 min --- All allen at wirfs-brock.com CONF --- "do{;}while(false)false" prohibited in
|
|
35368
35378
|
// spec but allowed in consensus reality. Approved -- this is the de-facto standard whereby
|
|
@@ -35374,9 +35384,10 @@ var ts;
|
|
|
35374
35384
|
var pos = getNodePos();
|
|
35375
35385
|
var hasJSDoc = hasPrecedingJSDocComment();
|
|
35376
35386
|
parseExpected(115 /* WhileKeyword */);
|
|
35377
|
-
|
|
35387
|
+
var openParenPosition = scanner.getTokenPos();
|
|
35388
|
+
var openParenParsed = parseExpected(20 /* OpenParenToken */);
|
|
35378
35389
|
var expression = allowInAnd(parseExpression);
|
|
35379
|
-
|
|
35390
|
+
parseExpectedMatchingBrackets(20 /* OpenParenToken */, 21 /* CloseParenToken */, openParenParsed, openParenPosition);
|
|
35380
35391
|
var statement = parseStatement();
|
|
35381
35392
|
return withJSDoc(finishNode(factory.createWhileStatement(expression, statement), pos), hasJSDoc);
|
|
35382
35393
|
}
|
|
@@ -35443,9 +35454,10 @@ var ts;
|
|
|
35443
35454
|
var pos = getNodePos();
|
|
35444
35455
|
var hasJSDoc = hasPrecedingJSDocComment();
|
|
35445
35456
|
parseExpected(116 /* WithKeyword */);
|
|
35446
|
-
|
|
35457
|
+
var openParenPosition = scanner.getTokenPos();
|
|
35458
|
+
var openParenParsed = parseExpected(20 /* OpenParenToken */);
|
|
35447
35459
|
var expression = allowInAnd(parseExpression);
|
|
35448
|
-
|
|
35460
|
+
parseExpectedMatchingBrackets(20 /* OpenParenToken */, 21 /* CloseParenToken */, openParenParsed, openParenPosition);
|
|
35449
35461
|
var statement = doInsideOfContext(16777216 /* InWithStatement */, parseStatement);
|
|
35450
35462
|
return withJSDoc(finishNode(factory.createWithStatement(expression, statement), pos), hasJSDoc);
|
|
35451
35463
|
}
|
|
@@ -36579,7 +36591,7 @@ var ts;
|
|
|
36579
36591
|
if (!parseExpected(19 /* CloseBraceToken */)) {
|
|
36580
36592
|
var lastError = ts.lastOrUndefined(parseDiagnostics);
|
|
36581
36593
|
if (lastError && lastError.code === ts.Diagnostics._0_expected.code) {
|
|
36582
|
-
ts.addRelatedInfo(lastError, ts.createDetachedDiagnostic(fileName, openBracePosition, 1, ts.Diagnostics.
|
|
36594
|
+
ts.addRelatedInfo(lastError, ts.createDetachedDiagnostic(fileName, openBracePosition, 1, ts.Diagnostics.The_parser_expected_to_find_a_1_to_match_the_0_token_here, "{", "}"));
|
|
36583
36595
|
}
|
|
36584
36596
|
}
|
|
36585
36597
|
return finishNode(factory.createAssertClause(elements, multiLine), pos);
|
|
@@ -37555,8 +37567,7 @@ var ts;
|
|
|
37555
37567
|
hasChildren = true;
|
|
37556
37568
|
if (child.kind === 342 /* JSDocTypeTag */) {
|
|
37557
37569
|
if (childTypeTag) {
|
|
37558
|
-
parseErrorAtCurrentToken(ts.Diagnostics.A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags);
|
|
37559
|
-
var lastError = ts.lastOrUndefined(parseDiagnostics);
|
|
37570
|
+
var lastError = parseErrorAtCurrentToken(ts.Diagnostics.A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags);
|
|
37560
37571
|
if (lastError) {
|
|
37561
37572
|
ts.addRelatedInfo(lastError, ts.createDetachedDiagnostic(fileName, 0, 0, ts.Diagnostics.The_tag_was_first_specified_here));
|
|
37562
37573
|
}
|
|
@@ -44760,7 +44771,6 @@ var ts;
|
|
|
44760
44771
|
node = node.parent;
|
|
44761
44772
|
}
|
|
44762
44773
|
return !isStatementCondition(node) &&
|
|
44763
|
-
!isLogicalAssignmentExpression(node.parent) &&
|
|
44764
44774
|
!isLogicalExpression(node.parent) &&
|
|
44765
44775
|
!(ts.isOptionalChain(node.parent) && node.parent.expression === node);
|
|
44766
44776
|
}
|
|
@@ -46790,7 +46800,7 @@ var ts;
|
|
|
46790
46800
|
checkStrictModeEvalOrArguments(node, node.name);
|
|
46791
46801
|
}
|
|
46792
46802
|
if (!ts.isBindingPattern(node.name)) {
|
|
46793
|
-
if (ts.isInJSFile(node) && ts.isVariableDeclarationInitializedToBareOrAccessedRequire(node) && !ts.getJSDocTypeTag(node)) {
|
|
46803
|
+
if (ts.isInJSFile(node) && ts.isVariableDeclarationInitializedToBareOrAccessedRequire(node) && !ts.getJSDocTypeTag(node) && !(ts.getCombinedModifierFlags(node) & 1 /* Export */)) {
|
|
46794
46804
|
declareSymbolAndAddToSymbolTable(node, 2097152 /* Alias */, 2097152 /* AliasExcludes */);
|
|
46795
46805
|
}
|
|
46796
46806
|
else if (ts.isBlockOrCatchScoped(node)) {
|
|
@@ -58295,8 +58305,10 @@ var ts;
|
|
|
58295
58305
|
return type;
|
|
58296
58306
|
}
|
|
58297
58307
|
function isMappedTypeGenericIndexedAccess(type) {
|
|
58298
|
-
|
|
58299
|
-
|
|
58308
|
+
var objectType;
|
|
58309
|
+
return !!(type.flags & 8388608 /* IndexedAccess */ && ts.getObjectFlags(objectType = type.objectType) & 32 /* Mapped */ &&
|
|
58310
|
+
!isGenericMappedType(objectType) && isGenericIndexType(type.indexType) &&
|
|
58311
|
+
!objectType.declaration.questionToken && !objectType.declaration.nameType);
|
|
58300
58312
|
}
|
|
58301
58313
|
/**
|
|
58302
58314
|
* For a type parameter, return the base constraint of the type parameter. For the string, number,
|
|
@@ -58884,7 +58896,19 @@ var ts;
|
|
|
58884
58896
|
return p.typeExpression && ts.isJSDocVariadicType(p.typeExpression.type) ? p.typeExpression.type : undefined;
|
|
58885
58897
|
});
|
|
58886
58898
|
var syntheticArgsSymbol = createSymbol(3 /* Variable */, "args", 32768 /* RestParameter */);
|
|
58887
|
-
|
|
58899
|
+
if (lastParamVariadicType) {
|
|
58900
|
+
// Parameter has effective annotation, lock in type
|
|
58901
|
+
syntheticArgsSymbol.type = createArrayType(getTypeFromTypeNode(lastParamVariadicType.type));
|
|
58902
|
+
}
|
|
58903
|
+
else {
|
|
58904
|
+
// Parameter has no annotation
|
|
58905
|
+
// By using a `DeferredType` symbol, we allow the type of this rest arg to be overriden by contextual type assignment so long as its type hasn't been
|
|
58906
|
+
// cached by `getTypeOfSymbol` yet.
|
|
58907
|
+
syntheticArgsSymbol.checkFlags |= 65536 /* DeferredType */;
|
|
58908
|
+
syntheticArgsSymbol.deferralParent = neverType;
|
|
58909
|
+
syntheticArgsSymbol.deferralConstituents = [anyArrayType];
|
|
58910
|
+
syntheticArgsSymbol.deferralWriteConstituents = [anyArrayType];
|
|
58911
|
+
}
|
|
58888
58912
|
if (lastParamVariadicType) {
|
|
58889
58913
|
// Replace the last parameter with a rest parameter.
|
|
58890
58914
|
parameters.pop();
|
|
@@ -61481,7 +61505,7 @@ var ts;
|
|
|
61481
61505
|
// If the object type is a mapped type { [P in K]: E }, where K is generic, instantiate E using a mapper
|
|
61482
61506
|
// that substitutes the index type for P. For example, for an index access { [P in K]: Box<T[P]> }[X], we
|
|
61483
61507
|
// construct the type Box<T[X]>.
|
|
61484
|
-
if (isGenericMappedType(objectType)) {
|
|
61508
|
+
if (isGenericMappedType(objectType) && !objectType.declaration.nameType) {
|
|
61485
61509
|
return type[cache] = mapType(substituteIndexedMappedType(objectType, type.indexType), function (t) { return getSimplifiedType(t, writing); });
|
|
61486
61510
|
}
|
|
61487
61511
|
return type[cache] = type;
|
|
@@ -63554,7 +63578,7 @@ var ts;
|
|
|
63554
63578
|
var targetReturnType = isResolvingReturnTypeOfSignature(target) ? anyType
|
|
63555
63579
|
: target.declaration && isJSConstructor(target.declaration) ? getDeclaredTypeOfClassOrInterface(getMergedSymbol(target.declaration.symbol))
|
|
63556
63580
|
: getReturnTypeOfSignature(target);
|
|
63557
|
-
if (targetReturnType === voidType) {
|
|
63581
|
+
if (targetReturnType === voidType || targetReturnType === anyType) {
|
|
63558
63582
|
return result;
|
|
63559
63583
|
}
|
|
63560
63584
|
var sourceReturnType = isResolvingReturnTypeOfSignature(source) ? anyType
|
|
@@ -71843,7 +71867,7 @@ var ts;
|
|
|
71843
71867
|
function getTypeOfPropertyOfContextualType(type, name, nameType) {
|
|
71844
71868
|
return mapType(type, function (t) {
|
|
71845
71869
|
var _a;
|
|
71846
|
-
if (isGenericMappedType(t)) {
|
|
71870
|
+
if (isGenericMappedType(t) && !t.declaration.nameType) {
|
|
71847
71871
|
var constraint = getConstraintTypeFromMappedType(t);
|
|
71848
71872
|
var constraintOfConstraint = getBaseConstraintOfType(constraint) || constraint;
|
|
71849
71873
|
var propertyNameType = nameType || getStringLiteralType(ts.unescapeLeadingUnderscores(name));
|
|
@@ -76771,7 +76795,11 @@ var ts;
|
|
|
76771
76795
|
if (signatureHasRestParameter(signature)) {
|
|
76772
76796
|
// parameter might be a transient symbol generated by use of `arguments` in the function body.
|
|
76773
76797
|
var parameter = ts.last(signature.parameters);
|
|
76774
|
-
if (
|
|
76798
|
+
if (parameter.valueDeclaration
|
|
76799
|
+
? !ts.getEffectiveTypeAnnotationNode(parameter.valueDeclaration)
|
|
76800
|
+
// a declarationless parameter may still have a `.type` already set by its construction logic
|
|
76801
|
+
// (which may pull a type from a jsdoc) - only allow fixing on `DeferredType` parameters with a fallback type
|
|
76802
|
+
: !!(ts.getCheckFlags(parameter) & 65536 /* DeferredType */)) {
|
|
76775
76803
|
var contextualParameterType = getRestTypeAtPosition(context, len);
|
|
76776
76804
|
assignParameterType(parameter, contextualParameterType);
|
|
76777
76805
|
}
|
|
@@ -76790,8 +76818,8 @@ var ts;
|
|
|
76790
76818
|
var links = getSymbolLinks(parameter);
|
|
76791
76819
|
if (!links.type) {
|
|
76792
76820
|
var declaration = parameter.valueDeclaration;
|
|
76793
|
-
links.type = type || getWidenedTypeForVariableLikeDeclaration(declaration, /*reportErrors*/ true);
|
|
76794
|
-
if (declaration.name.kind !== 79 /* Identifier */) {
|
|
76821
|
+
links.type = type || (declaration ? getWidenedTypeForVariableLikeDeclaration(declaration, /*reportErrors*/ true) : getTypeOfSymbol(parameter));
|
|
76822
|
+
if (declaration && declaration.name.kind !== 79 /* Identifier */) {
|
|
76795
76823
|
// if inference didn't come up with anything but unknown, fall back to the binding pattern if present.
|
|
76796
76824
|
if (links.type === unknownType) {
|
|
76797
76825
|
links.type = getTypeFromBindingPattern(declaration.name);
|
|
@@ -87459,10 +87487,9 @@ var ts;
|
|
|
87459
87487
|
}
|
|
87460
87488
|
var parent = ts.walkUpParenthesizedTypes(node.parent);
|
|
87461
87489
|
if (ts.isInJSFile(parent) && ts.isJSDocTypeExpression(parent)) {
|
|
87462
|
-
|
|
87463
|
-
if (
|
|
87464
|
-
|
|
87465
|
-
parent = parent.parent.parent;
|
|
87490
|
+
var host_2 = ts.getJSDocHost(parent);
|
|
87491
|
+
if (host_2) {
|
|
87492
|
+
parent = ts.getSingleVariableOfVariableStatement(host_2) || host_2;
|
|
87466
87493
|
}
|
|
87467
87494
|
}
|
|
87468
87495
|
switch (parent.kind) {
|
|
@@ -130280,14 +130307,15 @@ var ts;
|
|
|
130280
130307
|
SortText["SuggestedClassMembers"] = "14";
|
|
130281
130308
|
SortText["GlobalsOrKeywords"] = "15";
|
|
130282
130309
|
SortText["AutoImportSuggestions"] = "16";
|
|
130283
|
-
SortText["
|
|
130284
|
-
SortText["
|
|
130285
|
-
SortText["
|
|
130286
|
-
SortText["
|
|
130287
|
-
SortText["
|
|
130288
|
-
SortText["
|
|
130289
|
-
SortText["
|
|
130290
|
-
SortText["
|
|
130310
|
+
SortText["ClassMemberSnippets"] = "17";
|
|
130311
|
+
SortText["JavascriptIdentifiers"] = "18";
|
|
130312
|
+
SortText["DeprecatedLocalDeclarationPriority"] = "19";
|
|
130313
|
+
SortText["DeprecatedLocationPriority"] = "20";
|
|
130314
|
+
SortText["DeprecatedOptionalMember"] = "21";
|
|
130315
|
+
SortText["DeprecatedMemberDeclaredBySpreadAssignment"] = "22";
|
|
130316
|
+
SortText["DeprecatedSuggestedClassMembers"] = "23";
|
|
130317
|
+
SortText["DeprecatedGlobalsOrKeywords"] = "24";
|
|
130318
|
+
SortText["DeprecatedAutoImportSuggestions"] = "25";
|
|
130291
130319
|
})(SortText = Completions.SortText || (Completions.SortText = {}));
|
|
130292
130320
|
var SortTextId;
|
|
130293
130321
|
(function (SortTextId) {
|
|
@@ -130299,10 +130327,10 @@ var ts;
|
|
|
130299
130327
|
SortTextId[SortTextId["GlobalsOrKeywords"] = 15] = "GlobalsOrKeywords";
|
|
130300
130328
|
SortTextId[SortTextId["AutoImportSuggestions"] = 16] = "AutoImportSuggestions";
|
|
130301
130329
|
// Don't use these directly.
|
|
130302
|
-
SortTextId[SortTextId["_JavaScriptIdentifiers"] =
|
|
130303
|
-
SortTextId[SortTextId["_DeprecatedStart"] =
|
|
130330
|
+
SortTextId[SortTextId["_JavaScriptIdentifiers"] = 18] = "_JavaScriptIdentifiers";
|
|
130331
|
+
SortTextId[SortTextId["_DeprecatedStart"] = 19] = "_DeprecatedStart";
|
|
130304
130332
|
SortTextId[SortTextId["_First"] = 10] = "_First";
|
|
130305
|
-
SortTextId[SortTextId["DeprecatedOffset"] =
|
|
130333
|
+
SortTextId[SortTextId["DeprecatedOffset"] = 9] = "DeprecatedOffset";
|
|
130306
130334
|
})(SortTextId || (SortTextId = {}));
|
|
130307
130335
|
/**
|
|
130308
130336
|
* Special values for `CompletionInfo['source']` used to disambiguate
|
|
@@ -130783,6 +130811,7 @@ var ts;
|
|
|
130783
130811
|
isClassLikeMemberCompletion(symbol, location)) {
|
|
130784
130812
|
var importAdder = void 0;
|
|
130785
130813
|
(_b = getEntryForMemberCompletion(host, program, options, preferences, name, symbol, location, contextToken, formatContext), insertText = _b.insertText, isSnippet = _b.isSnippet, importAdder = _b.importAdder, replacementSpan = _b.replacementSpan);
|
|
130814
|
+
sortText = SortText.ClassMemberSnippets; // sortText has to be lower priority than the sortText for keywords. See #47852.
|
|
130786
130815
|
if (importAdder === null || importAdder === void 0 ? void 0 : importAdder.hasFixes()) {
|
|
130787
130816
|
hasAction = true;
|
|
130788
130817
|
source = CompletionSource.ClassMemberSnippet;
|
|
@@ -131146,7 +131175,7 @@ var ts;
|
|
|
131146
131175
|
}
|
|
131147
131176
|
var name = info.name, needsConvertPropertyAccess = info.needsConvertPropertyAccess;
|
|
131148
131177
|
var sortTextId = (_a = symbolToSortTextIdMap === null || symbolToSortTextIdMap === void 0 ? void 0 : symbolToSortTextIdMap[ts.getSymbolId(symbol)]) !== null && _a !== void 0 ? _a : 11 /* LocationPriority */;
|
|
131149
|
-
var sortText = (isDeprecated(symbol, typeChecker) ?
|
|
131178
|
+
var sortText = (isDeprecated(symbol, typeChecker) ? 9 /* DeprecatedOffset */ + sortTextId : sortTextId).toString();
|
|
131150
131179
|
var entry = createCompletionEntry(symbol, sortText, replacementToken, contextToken, location, sourceFile, host, program, name, needsConvertPropertyAccess, origin, recommendedCompletion, propertyAccessToConvert, isJsxInitializer, importCompletionNode, useSemicolons, compilerOptions, preferences, kind, formatContext, isJsxIdentifierExpected, isRightOfOpenTag);
|
|
131151
131180
|
if (!entry) {
|
|
131152
131181
|
continue;
|
|
@@ -141058,6 +141087,41 @@ var ts;
|
|
|
141058
141087
|
if (ts.scanner.getToken() === 1 /* EndOfFileToken */) {
|
|
141059
141088
|
break;
|
|
141060
141089
|
}
|
|
141090
|
+
if (ts.scanner.getToken() === 15 /* TemplateHead */) {
|
|
141091
|
+
var stack = [ts.scanner.getToken()];
|
|
141092
|
+
var token = ts.scanner.scan();
|
|
141093
|
+
loop: while (ts.length(stack)) {
|
|
141094
|
+
switch (token) {
|
|
141095
|
+
case 1 /* EndOfFileToken */:
|
|
141096
|
+
break loop;
|
|
141097
|
+
case 100 /* ImportKeyword */:
|
|
141098
|
+
tryConsumeImport();
|
|
141099
|
+
break;
|
|
141100
|
+
case 15 /* TemplateHead */:
|
|
141101
|
+
stack.push(token);
|
|
141102
|
+
break;
|
|
141103
|
+
case 18 /* OpenBraceToken */:
|
|
141104
|
+
if (ts.length(stack)) {
|
|
141105
|
+
stack.push(token);
|
|
141106
|
+
}
|
|
141107
|
+
break;
|
|
141108
|
+
case 19 /* CloseBraceToken */:
|
|
141109
|
+
if (ts.length(stack)) {
|
|
141110
|
+
if (ts.lastOrUndefined(stack) === 15 /* TemplateHead */) {
|
|
141111
|
+
if (ts.scanner.reScanTemplateToken(/* isTaggedTemplate */ false) === 17 /* TemplateTail */) {
|
|
141112
|
+
stack.pop();
|
|
141113
|
+
}
|
|
141114
|
+
}
|
|
141115
|
+
else {
|
|
141116
|
+
stack.pop();
|
|
141117
|
+
}
|
|
141118
|
+
}
|
|
141119
|
+
break;
|
|
141120
|
+
}
|
|
141121
|
+
token = ts.scanner.scan();
|
|
141122
|
+
}
|
|
141123
|
+
nextToken();
|
|
141124
|
+
}
|
|
141061
141125
|
// check if at least one of alternative have moved scanner forward
|
|
141062
141126
|
if (tryConsumeDeclare() ||
|
|
141063
141127
|
tryConsumeImport() ||
|
|
@@ -142351,7 +142415,7 @@ var ts;
|
|
|
142351
142415
|
if (!typeDisplayString) {
|
|
142352
142416
|
continue;
|
|
142353
142417
|
}
|
|
142354
|
-
addTypeHints(typeDisplayString, param.name.end);
|
|
142418
|
+
addTypeHints(typeDisplayString, param.questionToken ? param.questionToken.end : param.name.end);
|
|
142355
142419
|
}
|
|
142356
142420
|
}
|
|
142357
142421
|
function getParameterDeclarationTypeDisplayString(symbol) {
|