typescript 5.0.0-dev.20230217 → 5.0.0-dev.20230218
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 +105 -58
- package/lib/tsserver.js +127 -65
- package/lib/tsserverlibrary.js +127 -65
- package/lib/typescript.js +127 -65
- package/lib/typingsInstaller.js +40 -44
- package/package.json +1 -1
package/lib/tsserver.js
CHANGED
|
@@ -2288,7 +2288,7 @@ module.exports = __toCommonJS(server_exports);
|
|
|
2288
2288
|
|
|
2289
2289
|
// src/compiler/corePublic.ts
|
|
2290
2290
|
var versionMajorMinor = "5.0";
|
|
2291
|
-
var version = `${versionMajorMinor}.0-dev.
|
|
2291
|
+
var version = `${versionMajorMinor}.0-dev.20230218`;
|
|
2292
2292
|
var Comparison = /* @__PURE__ */ ((Comparison3) => {
|
|
2293
2293
|
Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
|
|
2294
2294
|
Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
|
|
@@ -11952,18 +11952,18 @@ function isIdentifierText(name, languageVersion, identifierVariant) {
|
|
|
11952
11952
|
return true;
|
|
11953
11953
|
}
|
|
11954
11954
|
function createScanner(languageVersion, skipTrivia2, languageVariant = 0 /* Standard */, textInitial, onError, start2, length2) {
|
|
11955
|
-
|
|
11956
|
-
|
|
11957
|
-
|
|
11958
|
-
|
|
11959
|
-
|
|
11960
|
-
|
|
11961
|
-
|
|
11962
|
-
|
|
11963
|
-
|
|
11964
|
-
|
|
11955
|
+
var text = textInitial;
|
|
11956
|
+
var pos;
|
|
11957
|
+
var end;
|
|
11958
|
+
var startPos;
|
|
11959
|
+
var tokenPos;
|
|
11960
|
+
var token;
|
|
11961
|
+
var tokenValue;
|
|
11962
|
+
var tokenFlags;
|
|
11963
|
+
var commentDirectives;
|
|
11964
|
+
var inJSDocType = 0;
|
|
11965
11965
|
setText(text, start2, length2);
|
|
11966
|
-
|
|
11966
|
+
var scanner2 = {
|
|
11967
11967
|
getStartPos: () => startPos,
|
|
11968
11968
|
getTextPos: () => pos,
|
|
11969
11969
|
getToken: () => token,
|
|
@@ -30354,22 +30354,22 @@ function parseJSDocTypeExpressionForTests(content, start2, length2) {
|
|
|
30354
30354
|
}
|
|
30355
30355
|
var Parser;
|
|
30356
30356
|
((Parser2) => {
|
|
30357
|
-
|
|
30357
|
+
var scanner2 = createScanner(
|
|
30358
30358
|
99 /* Latest */,
|
|
30359
30359
|
/*skipTrivia*/
|
|
30360
30360
|
true
|
|
30361
30361
|
);
|
|
30362
|
-
|
|
30363
|
-
|
|
30364
|
-
|
|
30365
|
-
|
|
30366
|
-
|
|
30367
|
-
|
|
30362
|
+
var disallowInAndDecoratorContext = 4096 /* DisallowInContext */ | 16384 /* DecoratorContext */;
|
|
30363
|
+
var NodeConstructor2;
|
|
30364
|
+
var TokenConstructor2;
|
|
30365
|
+
var IdentifierConstructor2;
|
|
30366
|
+
var PrivateIdentifierConstructor2;
|
|
30367
|
+
var SourceFileConstructor2;
|
|
30368
30368
|
function countNode(node) {
|
|
30369
30369
|
nodeCount++;
|
|
30370
30370
|
return node;
|
|
30371
30371
|
}
|
|
30372
|
-
|
|
30372
|
+
var baseNodeFactory = {
|
|
30373
30373
|
createBaseSourceFileNode: (kind) => countNode(new SourceFileConstructor2(
|
|
30374
30374
|
kind,
|
|
30375
30375
|
/*pos*/
|
|
@@ -30406,25 +30406,25 @@ var Parser;
|
|
|
30406
30406
|
0
|
|
30407
30407
|
))
|
|
30408
30408
|
};
|
|
30409
|
-
|
|
30410
|
-
|
|
30411
|
-
|
|
30412
|
-
|
|
30413
|
-
|
|
30414
|
-
|
|
30415
|
-
|
|
30416
|
-
|
|
30417
|
-
|
|
30418
|
-
|
|
30419
|
-
|
|
30420
|
-
|
|
30421
|
-
|
|
30422
|
-
|
|
30423
|
-
|
|
30424
|
-
|
|
30425
|
-
|
|
30426
|
-
|
|
30427
|
-
|
|
30409
|
+
var factory2 = createNodeFactory(1 /* NoParenthesizerRules */ | 2 /* NoNodeConverters */ | 8 /* NoOriginalNode */, baseNodeFactory);
|
|
30410
|
+
var fileName;
|
|
30411
|
+
var sourceFlags;
|
|
30412
|
+
var sourceText;
|
|
30413
|
+
var languageVersion;
|
|
30414
|
+
var scriptKind;
|
|
30415
|
+
var languageVariant;
|
|
30416
|
+
var parseDiagnostics;
|
|
30417
|
+
var jsDocDiagnostics;
|
|
30418
|
+
var syntaxCursor;
|
|
30419
|
+
var currentToken;
|
|
30420
|
+
var nodeCount;
|
|
30421
|
+
var identifiers;
|
|
30422
|
+
var identifierCount;
|
|
30423
|
+
var parsingContext;
|
|
30424
|
+
var notParenthesizedArrow;
|
|
30425
|
+
var contextFlags;
|
|
30426
|
+
var topLevel = true;
|
|
30427
|
+
var parseErrorBeforeNextFinishedNode = false;
|
|
30428
30428
|
function parseSourceFile(fileName2, sourceText2, languageVersion2, syntaxCursor2, setParentNodes = false, scriptKind2, setExternalModuleIndicatorOverride) {
|
|
30429
30429
|
var _a2;
|
|
30430
30430
|
scriptKind2 = ensureScriptKind(fileName2, scriptKind2);
|
|
@@ -33931,13 +33931,9 @@ var Parser;
|
|
|
33931
33931
|
function parseJsxClosingFragment(inExpressionContext) {
|
|
33932
33932
|
const pos = getNodePos();
|
|
33933
33933
|
parseExpected(30 /* LessThanSlashToken */);
|
|
33934
|
-
if (tokenIsIdentifierOrKeyword(token())) {
|
|
33935
|
-
parseErrorAtRange(parseJsxElementName(), Diagnostics.Expected_corresponding_closing_tag_for_JSX_fragment);
|
|
33936
|
-
}
|
|
33937
33934
|
if (parseExpected(
|
|
33938
33935
|
31 /* GreaterThanToken */,
|
|
33939
|
-
|
|
33940
|
-
void 0,
|
|
33936
|
+
Diagnostics.Expected_corresponding_closing_tag_for_JSX_fragment,
|
|
33941
33937
|
/*shouldAdvance*/
|
|
33942
33938
|
false
|
|
33943
33939
|
)) {
|
|
@@ -51899,7 +51895,7 @@ function createTypeChecker(host) {
|
|
|
51899
51895
|
return result;
|
|
51900
51896
|
}
|
|
51901
51897
|
function createAnonymousTypeNode(type2) {
|
|
51902
|
-
var _a3;
|
|
51898
|
+
var _a3, _b2;
|
|
51903
51899
|
const typeId = type2.id;
|
|
51904
51900
|
const symbol = type2.symbol;
|
|
51905
51901
|
if (symbol) {
|
|
@@ -51925,6 +51921,20 @@ function createTypeChecker(host) {
|
|
|
51925
51921
|
return visitAndTransformType(type2, createTypeNodeFromObjectType);
|
|
51926
51922
|
}
|
|
51927
51923
|
} else {
|
|
51924
|
+
const isInstantiationExpressionType = !!(getObjectFlags(type2) & 8388608 /* InstantiationExpressionType */);
|
|
51925
|
+
if (isInstantiationExpressionType) {
|
|
51926
|
+
const instantiationExpressionType = type2;
|
|
51927
|
+
if (isTypeQueryNode(instantiationExpressionType.node)) {
|
|
51928
|
+
const typeNode = serializeExistingTypeNode(context, instantiationExpressionType.node);
|
|
51929
|
+
if (typeNode) {
|
|
51930
|
+
return typeNode;
|
|
51931
|
+
}
|
|
51932
|
+
}
|
|
51933
|
+
if ((_b2 = context.visitedTypes) == null ? void 0 : _b2.has(typeId)) {
|
|
51934
|
+
return createElidedInformationPlaceholder(context);
|
|
51935
|
+
}
|
|
51936
|
+
return visitAndTransformType(type2, createTypeNodeFromObjectType);
|
|
51937
|
+
}
|
|
51928
51938
|
return createTypeNodeFromObjectType(type2);
|
|
51929
51939
|
}
|
|
51930
51940
|
function shouldWriteTypeOfFunctionSymbol() {
|
|
@@ -52433,7 +52443,7 @@ function createTypeChecker(host) {
|
|
|
52433
52443
|
);
|
|
52434
52444
|
}
|
|
52435
52445
|
function signatureToSignatureDeclarationHelper(signature, kind, context, options) {
|
|
52436
|
-
var _a2, _b, _c, _d;
|
|
52446
|
+
var _a2, _b, _c, _d, _e;
|
|
52437
52447
|
const suppressAny = context.flags & 256 /* SuppressAnyReturnType */;
|
|
52438
52448
|
if (suppressAny)
|
|
52439
52449
|
context.flags &= ~256 /* SuppressAnyReturnType */;
|
|
@@ -52450,6 +52460,39 @@ function createTypeChecker(host) {
|
|
|
52450
52460
|
/*skipUnionExpanding*/
|
|
52451
52461
|
true
|
|
52452
52462
|
)[0];
|
|
52463
|
+
let cleanup;
|
|
52464
|
+
if (context.enclosingDeclaration && signature.declaration && signature.declaration !== context.enclosingDeclaration && !isInJSFile(signature.declaration) && some(expandedParams)) {
|
|
52465
|
+
const existingFakeScope = getNodeLinks(context.enclosingDeclaration).fakeScopeForSignatureDeclaration ? context.enclosingDeclaration : void 0;
|
|
52466
|
+
Debug.assertOptionalNode(existingFakeScope, isBlock);
|
|
52467
|
+
const locals = (_a2 = existingFakeScope == null ? void 0 : existingFakeScope.locals) != null ? _a2 : createSymbolTable();
|
|
52468
|
+
let newLocals;
|
|
52469
|
+
for (const param of expandedParams) {
|
|
52470
|
+
if (!locals.has(param.escapedName)) {
|
|
52471
|
+
newLocals = append(newLocals, param.escapedName);
|
|
52472
|
+
locals.set(param.escapedName, param);
|
|
52473
|
+
}
|
|
52474
|
+
}
|
|
52475
|
+
if (newLocals) {
|
|
52476
|
+
let removeNewLocals2 = function() {
|
|
52477
|
+
forEach(newLocals, (s) => locals.delete(s));
|
|
52478
|
+
};
|
|
52479
|
+
var removeNewLocals = removeNewLocals2;
|
|
52480
|
+
if (existingFakeScope) {
|
|
52481
|
+
cleanup = removeNewLocals2;
|
|
52482
|
+
} else {
|
|
52483
|
+
const fakeScope = parseNodeFactory.createBlock(emptyArray);
|
|
52484
|
+
getNodeLinks(fakeScope).fakeScopeForSignatureDeclaration = true;
|
|
52485
|
+
fakeScope.locals = locals;
|
|
52486
|
+
const saveEnclosingDeclaration = context.enclosingDeclaration;
|
|
52487
|
+
setParent(fakeScope, saveEnclosingDeclaration);
|
|
52488
|
+
context.enclosingDeclaration = fakeScope;
|
|
52489
|
+
cleanup = () => {
|
|
52490
|
+
context.enclosingDeclaration = saveEnclosingDeclaration;
|
|
52491
|
+
removeNewLocals2();
|
|
52492
|
+
};
|
|
52493
|
+
}
|
|
52494
|
+
}
|
|
52495
|
+
}
|
|
52453
52496
|
const parameters = (some(expandedParams, (p) => p !== expandedParams[expandedParams.length - 1] && !!(getCheckFlags(p) & 32768 /* RestParameter */)) ? signature.parameters : expandedParams).map((parameter) => symbolToParameterDeclaration(parameter, context, kind === 173 /* Constructor */, options == null ? void 0 : options.privateSymbolVisitor, options == null ? void 0 : options.bundledImports));
|
|
52454
52497
|
const thisParameter = context.flags & 33554432 /* OmitThisParameter */ ? void 0 : tryGetThisParameterDeclaration(signature, context);
|
|
52455
52498
|
if (thisParameter) {
|
|
@@ -52475,11 +52518,11 @@ function createTypeChecker(host) {
|
|
|
52475
52518
|
const flags = modifiersToFlags(modifiers);
|
|
52476
52519
|
modifiers = factory.createModifiersFromModifierFlags(flags | 256 /* Abstract */);
|
|
52477
52520
|
}
|
|
52478
|
-
const node = kind === 176 /* CallSignature */ ? factory.createCallSignature(typeParameters, parameters, returnTypeNode) : kind === 177 /* ConstructSignature */ ? factory.createConstructSignature(typeParameters, parameters, returnTypeNode) : kind === 170 /* MethodSignature */ ? factory.createMethodSignature(modifiers, (
|
|
52521
|
+
const node = kind === 176 /* CallSignature */ ? factory.createCallSignature(typeParameters, parameters, returnTypeNode) : kind === 177 /* ConstructSignature */ ? factory.createConstructSignature(typeParameters, parameters, returnTypeNode) : kind === 170 /* MethodSignature */ ? factory.createMethodSignature(modifiers, (_b = options == null ? void 0 : options.name) != null ? _b : factory.createIdentifier(""), options == null ? void 0 : options.questionToken, typeParameters, parameters, returnTypeNode) : kind === 171 /* MethodDeclaration */ ? factory.createMethodDeclaration(
|
|
52479
52522
|
modifiers,
|
|
52480
52523
|
/*asteriskToken*/
|
|
52481
52524
|
void 0,
|
|
52482
|
-
(
|
|
52525
|
+
(_c = options == null ? void 0 : options.name) != null ? _c : factory.createIdentifier(""),
|
|
52483
52526
|
/*questionToken*/
|
|
52484
52527
|
void 0,
|
|
52485
52528
|
typeParameters,
|
|
@@ -52494,14 +52537,14 @@ function createTypeChecker(host) {
|
|
|
52494
52537
|
void 0
|
|
52495
52538
|
) : kind === 174 /* GetAccessor */ ? factory.createGetAccessorDeclaration(
|
|
52496
52539
|
modifiers,
|
|
52497
|
-
(
|
|
52540
|
+
(_d = options == null ? void 0 : options.name) != null ? _d : factory.createIdentifier(""),
|
|
52498
52541
|
parameters,
|
|
52499
52542
|
returnTypeNode,
|
|
52500
52543
|
/*body*/
|
|
52501
52544
|
void 0
|
|
52502
52545
|
) : kind === 175 /* SetAccessor */ ? factory.createSetAccessorDeclaration(
|
|
52503
52546
|
modifiers,
|
|
52504
|
-
(
|
|
52547
|
+
(_e = options == null ? void 0 : options.name) != null ? _e : factory.createIdentifier(""),
|
|
52505
52548
|
parameters,
|
|
52506
52549
|
/*body*/
|
|
52507
52550
|
void 0
|
|
@@ -52536,6 +52579,7 @@ function createTypeChecker(host) {
|
|
|
52536
52579
|
if (typeArguments) {
|
|
52537
52580
|
node.typeArguments = factory.createNodeArray(typeArguments);
|
|
52538
52581
|
}
|
|
52582
|
+
cleanup == null ? void 0 : cleanup();
|
|
52539
52583
|
return node;
|
|
52540
52584
|
}
|
|
52541
52585
|
function tryGetThisParameterDeclaration(signature, context) {
|
|
@@ -53150,9 +53194,12 @@ function createTypeChecker(host) {
|
|
|
53150
53194
|
function existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(existing, type) {
|
|
53151
53195
|
return !(getObjectFlags(type) & 4 /* Reference */) || !isTypeReferenceNode(existing) || length(existing.typeArguments) >= getMinTypeArgumentCount(type.target.typeParameters);
|
|
53152
53196
|
}
|
|
53197
|
+
function getEnclosingDeclarationIgnoringFakeScope(enclosingDeclaration) {
|
|
53198
|
+
return getNodeLinks(enclosingDeclaration).fakeScopeForSignatureDeclaration ? enclosingDeclaration.parent : enclosingDeclaration;
|
|
53199
|
+
}
|
|
53153
53200
|
function serializeTypeForDeclaration(context, type, symbol, enclosingDeclaration, includePrivateSymbol, bundled) {
|
|
53154
53201
|
if (!isErrorType(type) && enclosingDeclaration) {
|
|
53155
|
-
const declWithExistingAnnotation = getDeclarationWithTypeAnnotation(symbol, enclosingDeclaration);
|
|
53202
|
+
const declWithExistingAnnotation = getDeclarationWithTypeAnnotation(symbol, getEnclosingDeclarationIgnoringFakeScope(enclosingDeclaration));
|
|
53156
53203
|
if (declWithExistingAnnotation && !isFunctionLikeDeclaration(declWithExistingAnnotation) && !isGetAccessorDeclaration(declWithExistingAnnotation)) {
|
|
53157
53204
|
const existing = getEffectiveTypeAnnotationNode(declWithExistingAnnotation);
|
|
53158
53205
|
if (typeNodeIsEquivalentToType(existing, declWithExistingAnnotation, type) && existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(existing, type)) {
|
|
@@ -53184,7 +53231,8 @@ function createTypeChecker(host) {
|
|
|
53184
53231
|
function serializeReturnTypeForSignature(context, type, signature, includePrivateSymbol, bundled) {
|
|
53185
53232
|
if (!isErrorType(type) && context.enclosingDeclaration) {
|
|
53186
53233
|
const annotation = signature.declaration && getEffectiveReturnTypeNode(signature.declaration);
|
|
53187
|
-
|
|
53234
|
+
const enclosingDeclarationIgnoringFakeScope = getEnclosingDeclarationIgnoringFakeScope(context.enclosingDeclaration);
|
|
53235
|
+
if (!!findAncestor(annotation, (n) => n === enclosingDeclarationIgnoringFakeScope) && annotation) {
|
|
53188
53236
|
const annotated = getTypeFromTypeNode(annotation);
|
|
53189
53237
|
const thisInstantiated = annotated.flags & 262144 /* TypeParameter */ && annotated.isThisType ? instantiateType(annotated, signature.mapper) : annotated;
|
|
53190
53238
|
if (thisInstantiated === type && existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(annotation, type)) {
|
|
@@ -82429,20 +82477,19 @@ function createTypeChecker(host) {
|
|
|
82429
82477
|
}
|
|
82430
82478
|
}
|
|
82431
82479
|
}
|
|
82432
|
-
function getMemberOverrideModifierStatus(node, member) {
|
|
82480
|
+
function getMemberOverrideModifierStatus(node, member, memberSymbol) {
|
|
82433
82481
|
if (!member.name) {
|
|
82434
82482
|
return 0 /* Ok */;
|
|
82435
82483
|
}
|
|
82436
|
-
const
|
|
82437
|
-
const type = getDeclaredTypeOfSymbol(
|
|
82484
|
+
const classSymbol = getSymbolOfDeclaration(node);
|
|
82485
|
+
const type = getDeclaredTypeOfSymbol(classSymbol);
|
|
82438
82486
|
const typeWithThis = getTypeWithThisArgument(type);
|
|
82439
|
-
const staticType = getTypeOfSymbol(
|
|
82487
|
+
const staticType = getTypeOfSymbol(classSymbol);
|
|
82440
82488
|
const baseTypeNode = getEffectiveBaseTypeNode(node);
|
|
82441
82489
|
const baseTypes = baseTypeNode && getBaseTypes(type);
|
|
82442
82490
|
const baseWithThis = (baseTypes == null ? void 0 : baseTypes.length) ? getTypeWithThisArgument(first(baseTypes), type.thisType) : void 0;
|
|
82443
82491
|
const baseStaticType = getBaseConstructorTypeOfClass(type);
|
|
82444
82492
|
const memberHasOverrideModifier = member.parent ? hasOverrideModifier(member) : hasSyntacticModifier(member, 16384 /* Override */);
|
|
82445
|
-
const memberName = unescapeLeadingUnderscores(getTextOfPropertyName(member.name));
|
|
82446
82493
|
return checkMemberForOverrideModifier(
|
|
82447
82494
|
node,
|
|
82448
82495
|
staticType,
|
|
@@ -82455,7 +82502,7 @@ function createTypeChecker(host) {
|
|
|
82455
82502
|
isStatic(member),
|
|
82456
82503
|
/* memberIsParameterProperty */
|
|
82457
82504
|
false,
|
|
82458
|
-
|
|
82505
|
+
symbolName(memberSymbol)
|
|
82459
82506
|
);
|
|
82460
82507
|
}
|
|
82461
82508
|
function getTargetSymbol(s) {
|
|
@@ -148242,6 +148289,7 @@ var SymbolOriginInfoKind = /* @__PURE__ */ ((SymbolOriginInfoKind2) => {
|
|
|
148242
148289
|
SymbolOriginInfoKind2[SymbolOriginInfoKind2["TypeOnlyAlias"] = 64] = "TypeOnlyAlias";
|
|
148243
148290
|
SymbolOriginInfoKind2[SymbolOriginInfoKind2["ObjectLiteralMethod"] = 128] = "ObjectLiteralMethod";
|
|
148244
148291
|
SymbolOriginInfoKind2[SymbolOriginInfoKind2["Ignore"] = 256] = "Ignore";
|
|
148292
|
+
SymbolOriginInfoKind2[SymbolOriginInfoKind2["ComputedPropertyName"] = 512] = "ComputedPropertyName";
|
|
148245
148293
|
SymbolOriginInfoKind2[SymbolOriginInfoKind2["SymbolMemberNoExport"] = 2 /* SymbolMember */] = "SymbolMemberNoExport";
|
|
148246
148294
|
SymbolOriginInfoKind2[SymbolOriginInfoKind2["SymbolMemberExport"] = 6] = "SymbolMemberExport";
|
|
148247
148295
|
return SymbolOriginInfoKind2;
|
|
@@ -148259,7 +148307,7 @@ function originIsResolvedExport(origin) {
|
|
|
148259
148307
|
return !!(origin && origin.kind === 32 /* ResolvedExport */);
|
|
148260
148308
|
}
|
|
148261
148309
|
function originIncludesSymbolName(origin) {
|
|
148262
|
-
return originIsExport(origin) || originIsResolvedExport(origin);
|
|
148310
|
+
return originIsExport(origin) || originIsResolvedExport(origin) || originIsComputedPropertyName(origin);
|
|
148263
148311
|
}
|
|
148264
148312
|
function originIsPackageJsonImport(origin) {
|
|
148265
148313
|
return (originIsExport(origin) || originIsResolvedExport(origin)) && !!origin.isFromPackageJson;
|
|
@@ -148279,6 +148327,9 @@ function originIsObjectLiteralMethod(origin) {
|
|
|
148279
148327
|
function originIsIgnore(origin) {
|
|
148280
148328
|
return !!(origin && origin.kind & 256 /* Ignore */);
|
|
148281
148329
|
}
|
|
148330
|
+
function originIsComputedPropertyName(origin) {
|
|
148331
|
+
return !!(origin && origin.kind & 512 /* ComputedPropertyName */);
|
|
148332
|
+
}
|
|
148282
148333
|
function resolvingModuleSpecifiers(logPrefix, host, resolver, program, position, preferences, isForImportStatementCompletion, isValidTypeOnlyUseSite, cb) {
|
|
148283
148334
|
var _a2, _b, _c;
|
|
148284
148335
|
const start2 = timestamp();
|
|
@@ -149005,7 +149056,7 @@ function getEntryForMemberCompletion(host, program, options, preferences, name,
|
|
|
149005
149056
|
if (isAbstract) {
|
|
149006
149057
|
requiredModifiers |= 256 /* Abstract */;
|
|
149007
149058
|
}
|
|
149008
|
-
if (isClassElement(node) && checker.getMemberOverrideModifierStatus(classLikeDeclaration, node) === 1 /* NeedsOverride */) {
|
|
149059
|
+
if (isClassElement(node) && checker.getMemberOverrideModifierStatus(classLikeDeclaration, node, symbol) === 1 /* NeedsOverride */) {
|
|
149009
149060
|
requiredModifiers |= 16384 /* Override */;
|
|
149010
149061
|
}
|
|
149011
149062
|
if (!completionNodes.length) {
|
|
@@ -149599,7 +149650,8 @@ function getCompletionEntryDetails(program, log, sourceFile, position, entryId,
|
|
|
149599
149650
|
case "symbol": {
|
|
149600
149651
|
const { symbol, location, contextToken: contextToken2, origin, previousToken: previousToken2 } = symbolCompletion;
|
|
149601
149652
|
const { codeActions, sourceDisplay } = getCompletionEntryCodeActionsAndSourceDisplay(name, location, contextToken2, origin, symbol, program, host, compilerOptions, sourceFile, position, previousToken2, formatContext, preferences, data, source, cancellationToken);
|
|
149602
|
-
|
|
149653
|
+
const symbolName2 = originIsComputedPropertyName(origin) ? origin.symbolName : symbol.name;
|
|
149654
|
+
return createCompletionDetailsForSymbol(symbol, symbolName2, typeChecker, sourceFile, location, cancellationToken, codeActions, sourceDisplay);
|
|
149603
149655
|
}
|
|
149604
149656
|
case "literal": {
|
|
149605
149657
|
const { literal } = symbolCompletion;
|
|
@@ -149650,12 +149702,12 @@ function getCompletionEntryDetails(program, log, sourceFile, position, entryId,
|
|
|
149650
149702
|
function createSimpleDetails(name, kind, kind2) {
|
|
149651
149703
|
return createCompletionDetails(name, "" /* none */, kind, [displayPart(name, kind2)]);
|
|
149652
149704
|
}
|
|
149653
|
-
function createCompletionDetailsForSymbol(symbol, checker, sourceFile, location, cancellationToken, codeActions, sourceDisplay) {
|
|
149705
|
+
function createCompletionDetailsForSymbol(symbol, name, checker, sourceFile, location, cancellationToken, codeActions, sourceDisplay) {
|
|
149654
149706
|
const { displayParts, documentation, symbolKind, tags } = checker.runWithCancellationToken(
|
|
149655
149707
|
cancellationToken,
|
|
149656
149708
|
(checker2) => ts_SymbolDisplay_exports.getSymbolDisplayPartsDocumentationAndSymbolKind(checker2, symbol, sourceFile, location, location, 7 /* All */)
|
|
149657
149709
|
);
|
|
149658
|
-
return createCompletionDetails(
|
|
149710
|
+
return createCompletionDetails(name, ts_SymbolDisplay_exports.getSymbolModifiers(checker, symbol), symbolKind, displayParts, documentation, tags, codeActions, sourceDisplay);
|
|
149659
149711
|
}
|
|
149660
149712
|
function createCompletionDetails(name, kindModifiers, kind, displayParts, documentation, tags, codeActions, source) {
|
|
149661
149713
|
return { name, kindModifiers, kind, displayParts, documentation, tags, codeActions, source, sourceDisplay: source };
|
|
@@ -150762,6 +150814,16 @@ function getCompletionData(program, log, sourceFile, compilerOptions, position,
|
|
|
150762
150814
|
return classElementModifierFlags & 32 /* Static */ ? (type == null ? void 0 : type.symbol) && typeChecker.getPropertiesOfType(typeChecker.getTypeOfSymbolAtLocation(type.symbol, decl)) : type && typeChecker.getPropertiesOfType(type);
|
|
150763
150815
|
});
|
|
150764
150816
|
symbols = concatenate(symbols, filterClassMembersList(baseSymbols, decl.members, classElementModifierFlags));
|
|
150817
|
+
forEach(symbols, (symbol, index) => {
|
|
150818
|
+
const declaration = symbol == null ? void 0 : symbol.valueDeclaration;
|
|
150819
|
+
if (declaration && isClassElement(declaration) && declaration.name && isComputedPropertyName(declaration.name)) {
|
|
150820
|
+
const origin = {
|
|
150821
|
+
kind: 512 /* ComputedPropertyName */,
|
|
150822
|
+
symbolName: typeChecker.symbolToString(symbol)
|
|
150823
|
+
};
|
|
150824
|
+
symbolToOriginInfoMap[index] = origin;
|
|
150825
|
+
}
|
|
150826
|
+
});
|
|
150765
150827
|
}
|
|
150766
150828
|
return 1 /* Success */;
|
|
150767
150829
|
}
|
|
@@ -151146,7 +151208,7 @@ function getCompletionEntryDisplayNameForSymbol(symbol, target, origin, kind, js
|
|
|
151146
151208
|
}
|
|
151147
151209
|
switch (kind) {
|
|
151148
151210
|
case 3 /* MemberLike */:
|
|
151149
|
-
return void 0;
|
|
151211
|
+
return originIsComputedPropertyName(origin) ? { name: origin.symbolName, needsConvertPropertyAccess: false } : void 0;
|
|
151150
151212
|
case 0 /* ObjectPropertyDeclaration */:
|
|
151151
151213
|
return { name: JSON.stringify(name), needsConvertPropertyAccess: false };
|
|
151152
151214
|
case 2 /* PropertyAccess */:
|
|
@@ -151738,7 +151800,7 @@ function stringLiteralCompletionDetails(name, location, completion, sourceFile,
|
|
|
151738
151800
|
}
|
|
151739
151801
|
case 1 /* Properties */: {
|
|
151740
151802
|
const match = find(completion.symbols, (s) => s.name === name);
|
|
151741
|
-
return match && createCompletionDetailsForSymbol(match, checker, sourceFile, location, cancellationToken);
|
|
151803
|
+
return match && createCompletionDetailsForSymbol(match, match.name, checker, sourceFile, location, cancellationToken);
|
|
151742
151804
|
}
|
|
151743
151805
|
case 2 /* Types */:
|
|
151744
151806
|
return find(completion.types, (t) => t.value === name) ? createCompletionDetails(name, "" /* none */, "string" /* string */, [textPart(name)]) : void 0;
|