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/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.20230217`;
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
- let text = textInitial;
11956
- let pos;
11957
- let end;
11958
- let startPos;
11959
- let tokenPos;
11960
- let token;
11961
- let tokenValue;
11962
- let tokenFlags;
11963
- let commentDirectives;
11964
- let inJSDocType = 0;
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
- const scanner2 = {
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
- const scanner2 = createScanner(
30357
+ var scanner2 = createScanner(
30358
30358
  99 /* Latest */,
30359
30359
  /*skipTrivia*/
30360
30360
  true
30361
30361
  );
30362
- const disallowInAndDecoratorContext = 4096 /* DisallowInContext */ | 16384 /* DecoratorContext */;
30363
- let NodeConstructor2;
30364
- let TokenConstructor2;
30365
- let IdentifierConstructor2;
30366
- let PrivateIdentifierConstructor2;
30367
- let SourceFileConstructor2;
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
- const baseNodeFactory = {
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
- const factory2 = createNodeFactory(1 /* NoParenthesizerRules */ | 2 /* NoNodeConverters */ | 8 /* NoOriginalNode */, baseNodeFactory);
30410
- let fileName;
30411
- let sourceFlags;
30412
- let sourceText;
30413
- let languageVersion;
30414
- let scriptKind;
30415
- let languageVariant;
30416
- let parseDiagnostics;
30417
- let jsDocDiagnostics;
30418
- let syntaxCursor;
30419
- let currentToken;
30420
- let nodeCount;
30421
- let identifiers;
30422
- let identifierCount;
30423
- let parsingContext;
30424
- let notParenthesizedArrow;
30425
- let contextFlags;
30426
- let topLevel = true;
30427
- let parseErrorBeforeNextFinishedNode = false;
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
- /*diagnostic*/
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, (_a2 = options == null ? void 0 : options.name) != null ? _a2 : factory.createIdentifier(""), options == null ? void 0 : options.questionToken, typeParameters, parameters, returnTypeNode) : kind === 171 /* MethodDeclaration */ ? factory.createMethodDeclaration(
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
- (_b = options == null ? void 0 : options.name) != null ? _b : factory.createIdentifier(""),
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
- (_c = options == null ? void 0 : options.name) != null ? _c : factory.createIdentifier(""),
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
- (_d = options == null ? void 0 : options.name) != null ? _d : factory.createIdentifier(""),
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
- if (!!findAncestor(annotation, (n) => n === context.enclosingDeclaration) && annotation) {
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 symbol = getSymbolOfDeclaration(node);
82437
- const type = getDeclaredTypeOfSymbol(symbol);
82484
+ const classSymbol = getSymbolOfDeclaration(node);
82485
+ const type = getDeclaredTypeOfSymbol(classSymbol);
82438
82486
  const typeWithThis = getTypeWithThisArgument(type);
82439
- const staticType = getTypeOfSymbol(symbol);
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
- memberName
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
- return createCompletionDetailsForSymbol(symbol, typeChecker, sourceFile, location, cancellationToken, codeActions, sourceDisplay);
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(symbol.name, ts_SymbolDisplay_exports.getSymbolModifiers(checker, symbol), symbolKind, displayParts, documentation, tags, codeActions, sourceDisplay);
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;