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.
@@ -35,7 +35,7 @@ var ts = (() => {
35
35
  "src/compiler/corePublic.ts"() {
36
36
  "use strict";
37
37
  versionMajorMinor = "5.0";
38
- version = `${versionMajorMinor}.0-dev.20230217`;
38
+ version = `${versionMajorMinor}.0-dev.20230218`;
39
39
  Comparison = /* @__PURE__ */ ((Comparison3) => {
40
40
  Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
41
41
  Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -9616,18 +9616,18 @@ ${lanes.join("\n")}
9616
9616
  return true;
9617
9617
  }
9618
9618
  function createScanner(languageVersion, skipTrivia2, languageVariant = 0 /* Standard */, textInitial, onError, start, length2) {
9619
- let text = textInitial;
9620
- let pos;
9621
- let end;
9622
- let startPos;
9623
- let tokenPos;
9624
- let token;
9625
- let tokenValue;
9626
- let tokenFlags;
9627
- let commentDirectives;
9628
- let inJSDocType = 0;
9619
+ var text = textInitial;
9620
+ var pos;
9621
+ var end;
9622
+ var startPos;
9623
+ var tokenPos;
9624
+ var token;
9625
+ var tokenValue;
9626
+ var tokenFlags;
9627
+ var commentDirectives;
9628
+ var inJSDocType = 0;
9629
9629
  setText(text, start, length2);
9630
- const scanner2 = {
9630
+ var scanner2 = {
9631
9631
  getStartPos: () => startPos,
9632
9632
  getTextPos: () => pos,
9633
9633
  getToken: () => token,
@@ -28464,22 +28464,22 @@ ${lanes.join("\n")}
28464
28464
  [356 /* PartiallyEmittedExpression */]: forEachChildInPartiallyEmittedExpression
28465
28465
  };
28466
28466
  ((Parser2) => {
28467
- const scanner2 = createScanner(
28467
+ var scanner2 = createScanner(
28468
28468
  99 /* Latest */,
28469
28469
  /*skipTrivia*/
28470
28470
  true
28471
28471
  );
28472
- const disallowInAndDecoratorContext = 4096 /* DisallowInContext */ | 16384 /* DecoratorContext */;
28473
- let NodeConstructor2;
28474
- let TokenConstructor2;
28475
- let IdentifierConstructor2;
28476
- let PrivateIdentifierConstructor2;
28477
- let SourceFileConstructor2;
28472
+ var disallowInAndDecoratorContext = 4096 /* DisallowInContext */ | 16384 /* DecoratorContext */;
28473
+ var NodeConstructor2;
28474
+ var TokenConstructor2;
28475
+ var IdentifierConstructor2;
28476
+ var PrivateIdentifierConstructor2;
28477
+ var SourceFileConstructor2;
28478
28478
  function countNode(node) {
28479
28479
  nodeCount++;
28480
28480
  return node;
28481
28481
  }
28482
- const baseNodeFactory = {
28482
+ var baseNodeFactory = {
28483
28483
  createBaseSourceFileNode: (kind) => countNode(new SourceFileConstructor2(
28484
28484
  kind,
28485
28485
  /*pos*/
@@ -28516,25 +28516,25 @@ ${lanes.join("\n")}
28516
28516
  0
28517
28517
  ))
28518
28518
  };
28519
- const factory2 = createNodeFactory(1 /* NoParenthesizerRules */ | 2 /* NoNodeConverters */ | 8 /* NoOriginalNode */, baseNodeFactory);
28520
- let fileName;
28521
- let sourceFlags;
28522
- let sourceText;
28523
- let languageVersion;
28524
- let scriptKind;
28525
- let languageVariant;
28526
- let parseDiagnostics;
28527
- let jsDocDiagnostics;
28528
- let syntaxCursor;
28529
- let currentToken;
28530
- let nodeCount;
28531
- let identifiers;
28532
- let identifierCount;
28533
- let parsingContext;
28534
- let notParenthesizedArrow;
28535
- let contextFlags;
28536
- let topLevel = true;
28537
- let parseErrorBeforeNextFinishedNode = false;
28519
+ var factory2 = createNodeFactory(1 /* NoParenthesizerRules */ | 2 /* NoNodeConverters */ | 8 /* NoOriginalNode */, baseNodeFactory);
28520
+ var fileName;
28521
+ var sourceFlags;
28522
+ var sourceText;
28523
+ var languageVersion;
28524
+ var scriptKind;
28525
+ var languageVariant;
28526
+ var parseDiagnostics;
28527
+ var jsDocDiagnostics;
28528
+ var syntaxCursor;
28529
+ var currentToken;
28530
+ var nodeCount;
28531
+ var identifiers;
28532
+ var identifierCount;
28533
+ var parsingContext;
28534
+ var notParenthesizedArrow;
28535
+ var contextFlags;
28536
+ var topLevel = true;
28537
+ var parseErrorBeforeNextFinishedNode = false;
28538
28538
  function parseSourceFile(fileName2, sourceText2, languageVersion2, syntaxCursor2, setParentNodes = false, scriptKind2, setExternalModuleIndicatorOverride) {
28539
28539
  var _a2;
28540
28540
  scriptKind2 = ensureScriptKind(fileName2, scriptKind2);
@@ -32041,13 +32041,9 @@ ${lanes.join("\n")}
32041
32041
  function parseJsxClosingFragment(inExpressionContext) {
32042
32042
  const pos = getNodePos();
32043
32043
  parseExpected(30 /* LessThanSlashToken */);
32044
- if (tokenIsIdentifierOrKeyword(token())) {
32045
- parseErrorAtRange(parseJsxElementName(), Diagnostics.Expected_corresponding_closing_tag_for_JSX_fragment);
32046
- }
32047
32044
  if (parseExpected(
32048
32045
  31 /* GreaterThanToken */,
32049
- /*diagnostic*/
32050
- void 0,
32046
+ Diagnostics.Expected_corresponding_closing_tag_for_JSX_fragment,
32051
32047
  /*shouldAdvance*/
32052
32048
  false
32053
32049
  )) {
@@ -49707,7 +49703,7 @@ ${lanes.join("\n")}
49707
49703
  return result;
49708
49704
  }
49709
49705
  function createAnonymousTypeNode(type2) {
49710
- var _a3;
49706
+ var _a3, _b2;
49711
49707
  const typeId = type2.id;
49712
49708
  const symbol = type2.symbol;
49713
49709
  if (symbol) {
@@ -49733,6 +49729,20 @@ ${lanes.join("\n")}
49733
49729
  return visitAndTransformType(type2, createTypeNodeFromObjectType);
49734
49730
  }
49735
49731
  } else {
49732
+ const isInstantiationExpressionType = !!(getObjectFlags(type2) & 8388608 /* InstantiationExpressionType */);
49733
+ if (isInstantiationExpressionType) {
49734
+ const instantiationExpressionType = type2;
49735
+ if (isTypeQueryNode(instantiationExpressionType.node)) {
49736
+ const typeNode = serializeExistingTypeNode(context, instantiationExpressionType.node);
49737
+ if (typeNode) {
49738
+ return typeNode;
49739
+ }
49740
+ }
49741
+ if ((_b2 = context.visitedTypes) == null ? void 0 : _b2.has(typeId)) {
49742
+ return createElidedInformationPlaceholder(context);
49743
+ }
49744
+ return visitAndTransformType(type2, createTypeNodeFromObjectType);
49745
+ }
49736
49746
  return createTypeNodeFromObjectType(type2);
49737
49747
  }
49738
49748
  function shouldWriteTypeOfFunctionSymbol() {
@@ -50241,7 +50251,7 @@ ${lanes.join("\n")}
50241
50251
  );
50242
50252
  }
50243
50253
  function signatureToSignatureDeclarationHelper(signature, kind, context, options) {
50244
- var _a2, _b, _c, _d;
50254
+ var _a2, _b, _c, _d, _e;
50245
50255
  const suppressAny = context.flags & 256 /* SuppressAnyReturnType */;
50246
50256
  if (suppressAny)
50247
50257
  context.flags &= ~256 /* SuppressAnyReturnType */;
@@ -50258,6 +50268,39 @@ ${lanes.join("\n")}
50258
50268
  /*skipUnionExpanding*/
50259
50269
  true
50260
50270
  )[0];
50271
+ let cleanup;
50272
+ if (context.enclosingDeclaration && signature.declaration && signature.declaration !== context.enclosingDeclaration && !isInJSFile(signature.declaration) && some(expandedParams)) {
50273
+ const existingFakeScope = getNodeLinks(context.enclosingDeclaration).fakeScopeForSignatureDeclaration ? context.enclosingDeclaration : void 0;
50274
+ Debug.assertOptionalNode(existingFakeScope, isBlock);
50275
+ const locals = (_a2 = existingFakeScope == null ? void 0 : existingFakeScope.locals) != null ? _a2 : createSymbolTable();
50276
+ let newLocals;
50277
+ for (const param of expandedParams) {
50278
+ if (!locals.has(param.escapedName)) {
50279
+ newLocals = append(newLocals, param.escapedName);
50280
+ locals.set(param.escapedName, param);
50281
+ }
50282
+ }
50283
+ if (newLocals) {
50284
+ let removeNewLocals2 = function() {
50285
+ forEach(newLocals, (s) => locals.delete(s));
50286
+ };
50287
+ var removeNewLocals = removeNewLocals2;
50288
+ if (existingFakeScope) {
50289
+ cleanup = removeNewLocals2;
50290
+ } else {
50291
+ const fakeScope = parseNodeFactory.createBlock(emptyArray);
50292
+ getNodeLinks(fakeScope).fakeScopeForSignatureDeclaration = true;
50293
+ fakeScope.locals = locals;
50294
+ const saveEnclosingDeclaration = context.enclosingDeclaration;
50295
+ setParent(fakeScope, saveEnclosingDeclaration);
50296
+ context.enclosingDeclaration = fakeScope;
50297
+ cleanup = () => {
50298
+ context.enclosingDeclaration = saveEnclosingDeclaration;
50299
+ removeNewLocals2();
50300
+ };
50301
+ }
50302
+ }
50303
+ }
50261
50304
  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));
50262
50305
  const thisParameter = context.flags & 33554432 /* OmitThisParameter */ ? void 0 : tryGetThisParameterDeclaration(signature, context);
50263
50306
  if (thisParameter) {
@@ -50283,11 +50326,11 @@ ${lanes.join("\n")}
50283
50326
  const flags = modifiersToFlags(modifiers);
50284
50327
  modifiers = factory.createModifiersFromModifierFlags(flags | 256 /* Abstract */);
50285
50328
  }
50286
- 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(
50329
+ 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(
50287
50330
  modifiers,
50288
50331
  /*asteriskToken*/
50289
50332
  void 0,
50290
- (_b = options == null ? void 0 : options.name) != null ? _b : factory.createIdentifier(""),
50333
+ (_c = options == null ? void 0 : options.name) != null ? _c : factory.createIdentifier(""),
50291
50334
  /*questionToken*/
50292
50335
  void 0,
50293
50336
  typeParameters,
@@ -50302,14 +50345,14 @@ ${lanes.join("\n")}
50302
50345
  void 0
50303
50346
  ) : kind === 174 /* GetAccessor */ ? factory.createGetAccessorDeclaration(
50304
50347
  modifiers,
50305
- (_c = options == null ? void 0 : options.name) != null ? _c : factory.createIdentifier(""),
50348
+ (_d = options == null ? void 0 : options.name) != null ? _d : factory.createIdentifier(""),
50306
50349
  parameters,
50307
50350
  returnTypeNode,
50308
50351
  /*body*/
50309
50352
  void 0
50310
50353
  ) : kind === 175 /* SetAccessor */ ? factory.createSetAccessorDeclaration(
50311
50354
  modifiers,
50312
- (_d = options == null ? void 0 : options.name) != null ? _d : factory.createIdentifier(""),
50355
+ (_e = options == null ? void 0 : options.name) != null ? _e : factory.createIdentifier(""),
50313
50356
  parameters,
50314
50357
  /*body*/
50315
50358
  void 0
@@ -50344,6 +50387,7 @@ ${lanes.join("\n")}
50344
50387
  if (typeArguments) {
50345
50388
  node.typeArguments = factory.createNodeArray(typeArguments);
50346
50389
  }
50390
+ cleanup == null ? void 0 : cleanup();
50347
50391
  return node;
50348
50392
  }
50349
50393
  function tryGetThisParameterDeclaration(signature, context) {
@@ -50958,9 +51002,12 @@ ${lanes.join("\n")}
50958
51002
  function existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(existing, type) {
50959
51003
  return !(getObjectFlags(type) & 4 /* Reference */) || !isTypeReferenceNode(existing) || length(existing.typeArguments) >= getMinTypeArgumentCount(type.target.typeParameters);
50960
51004
  }
51005
+ function getEnclosingDeclarationIgnoringFakeScope(enclosingDeclaration) {
51006
+ return getNodeLinks(enclosingDeclaration).fakeScopeForSignatureDeclaration ? enclosingDeclaration.parent : enclosingDeclaration;
51007
+ }
50961
51008
  function serializeTypeForDeclaration(context, type, symbol, enclosingDeclaration, includePrivateSymbol, bundled) {
50962
51009
  if (!isErrorType(type) && enclosingDeclaration) {
50963
- const declWithExistingAnnotation = getDeclarationWithTypeAnnotation(symbol, enclosingDeclaration);
51010
+ const declWithExistingAnnotation = getDeclarationWithTypeAnnotation(symbol, getEnclosingDeclarationIgnoringFakeScope(enclosingDeclaration));
50964
51011
  if (declWithExistingAnnotation && !isFunctionLikeDeclaration(declWithExistingAnnotation) && !isGetAccessorDeclaration(declWithExistingAnnotation)) {
50965
51012
  const existing = getEffectiveTypeAnnotationNode(declWithExistingAnnotation);
50966
51013
  if (typeNodeIsEquivalentToType(existing, declWithExistingAnnotation, type) && existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(existing, type)) {
@@ -50992,7 +51039,8 @@ ${lanes.join("\n")}
50992
51039
  function serializeReturnTypeForSignature(context, type, signature, includePrivateSymbol, bundled) {
50993
51040
  if (!isErrorType(type) && context.enclosingDeclaration) {
50994
51041
  const annotation = signature.declaration && getEffectiveReturnTypeNode(signature.declaration);
50995
- if (!!findAncestor(annotation, (n) => n === context.enclosingDeclaration) && annotation) {
51042
+ const enclosingDeclarationIgnoringFakeScope = getEnclosingDeclarationIgnoringFakeScope(context.enclosingDeclaration);
51043
+ if (!!findAncestor(annotation, (n) => n === enclosingDeclarationIgnoringFakeScope) && annotation) {
50996
51044
  const annotated = getTypeFromTypeNode(annotation);
50997
51045
  const thisInstantiated = annotated.flags & 262144 /* TypeParameter */ && annotated.isThisType ? instantiateType(annotated, signature.mapper) : annotated;
50998
51046
  if (thisInstantiated === type && existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(annotation, type)) {
@@ -80237,20 +80285,19 @@ ${lanes.join("\n")}
80237
80285
  }
80238
80286
  }
80239
80287
  }
80240
- function getMemberOverrideModifierStatus(node, member) {
80288
+ function getMemberOverrideModifierStatus(node, member, memberSymbol) {
80241
80289
  if (!member.name) {
80242
80290
  return 0 /* Ok */;
80243
80291
  }
80244
- const symbol = getSymbolOfDeclaration(node);
80245
- const type = getDeclaredTypeOfSymbol(symbol);
80292
+ const classSymbol = getSymbolOfDeclaration(node);
80293
+ const type = getDeclaredTypeOfSymbol(classSymbol);
80246
80294
  const typeWithThis = getTypeWithThisArgument(type);
80247
- const staticType = getTypeOfSymbol(symbol);
80295
+ const staticType = getTypeOfSymbol(classSymbol);
80248
80296
  const baseTypeNode = getEffectiveBaseTypeNode(node);
80249
80297
  const baseTypes = baseTypeNode && getBaseTypes(type);
80250
80298
  const baseWithThis = (baseTypes == null ? void 0 : baseTypes.length) ? getTypeWithThisArgument(first(baseTypes), type.thisType) : void 0;
80251
80299
  const baseStaticType = getBaseConstructorTypeOfClass(type);
80252
80300
  const memberHasOverrideModifier = member.parent ? hasOverrideModifier(member) : hasSyntacticModifier(member, 16384 /* Override */);
80253
- const memberName = unescapeLeadingUnderscores(getTextOfPropertyName(member.name));
80254
80301
  return checkMemberForOverrideModifier(
80255
80302
  node,
80256
80303
  staticType,
@@ -80263,7 +80310,7 @@ ${lanes.join("\n")}
80263
80310
  isStatic(member),
80264
80311
  /* memberIsParameterProperty */
80265
80312
  false,
80266
- memberName
80313
+ symbolName(memberSymbol)
80267
80314
  );
80268
80315
  }
80269
80316
  function getTargetSymbol(s) {
@@ -147313,7 +147360,7 @@ ${lanes.join("\n")}
147313
147360
  return !!(origin && origin.kind === 32 /* ResolvedExport */);
147314
147361
  }
147315
147362
  function originIncludesSymbolName(origin) {
147316
- return originIsExport(origin) || originIsResolvedExport(origin);
147363
+ return originIsExport(origin) || originIsResolvedExport(origin) || originIsComputedPropertyName(origin);
147317
147364
  }
147318
147365
  function originIsPackageJsonImport(origin) {
147319
147366
  return (originIsExport(origin) || originIsResolvedExport(origin)) && !!origin.isFromPackageJson;
@@ -147333,6 +147380,9 @@ ${lanes.join("\n")}
147333
147380
  function originIsIgnore(origin) {
147334
147381
  return !!(origin && origin.kind & 256 /* Ignore */);
147335
147382
  }
147383
+ function originIsComputedPropertyName(origin) {
147384
+ return !!(origin && origin.kind & 512 /* ComputedPropertyName */);
147385
+ }
147336
147386
  function resolvingModuleSpecifiers(logPrefix, host, resolver, program, position, preferences, isForImportStatementCompletion, isValidTypeOnlyUseSite, cb) {
147337
147387
  var _a2, _b, _c;
147338
147388
  const start = timestamp();
@@ -148059,7 +148109,7 @@ ${lanes.join("\n")}
148059
148109
  if (isAbstract) {
148060
148110
  requiredModifiers |= 256 /* Abstract */;
148061
148111
  }
148062
- if (isClassElement(node) && checker.getMemberOverrideModifierStatus(classLikeDeclaration, node) === 1 /* NeedsOverride */) {
148112
+ if (isClassElement(node) && checker.getMemberOverrideModifierStatus(classLikeDeclaration, node, symbol) === 1 /* NeedsOverride */) {
148063
148113
  requiredModifiers |= 16384 /* Override */;
148064
148114
  }
148065
148115
  if (!completionNodes.length) {
@@ -148653,7 +148703,8 @@ ${lanes.join("\n")}
148653
148703
  case "symbol": {
148654
148704
  const { symbol, location, contextToken: contextToken2, origin, previousToken: previousToken2 } = symbolCompletion;
148655
148705
  const { codeActions, sourceDisplay } = getCompletionEntryCodeActionsAndSourceDisplay(name, location, contextToken2, origin, symbol, program, host, compilerOptions, sourceFile, position, previousToken2, formatContext, preferences, data, source, cancellationToken);
148656
- return createCompletionDetailsForSymbol(symbol, typeChecker, sourceFile, location, cancellationToken, codeActions, sourceDisplay);
148706
+ const symbolName2 = originIsComputedPropertyName(origin) ? origin.symbolName : symbol.name;
148707
+ return createCompletionDetailsForSymbol(symbol, symbolName2, typeChecker, sourceFile, location, cancellationToken, codeActions, sourceDisplay);
148657
148708
  }
148658
148709
  case "literal": {
148659
148710
  const { literal } = symbolCompletion;
@@ -148704,12 +148755,12 @@ ${lanes.join("\n")}
148704
148755
  function createSimpleDetails(name, kind, kind2) {
148705
148756
  return createCompletionDetails(name, "" /* none */, kind, [displayPart(name, kind2)]);
148706
148757
  }
148707
- function createCompletionDetailsForSymbol(symbol, checker, sourceFile, location, cancellationToken, codeActions, sourceDisplay) {
148758
+ function createCompletionDetailsForSymbol(symbol, name, checker, sourceFile, location, cancellationToken, codeActions, sourceDisplay) {
148708
148759
  const { displayParts, documentation, symbolKind, tags } = checker.runWithCancellationToken(
148709
148760
  cancellationToken,
148710
148761
  (checker2) => ts_SymbolDisplay_exports.getSymbolDisplayPartsDocumentationAndSymbolKind(checker2, symbol, sourceFile, location, location, 7 /* All */)
148711
148762
  );
148712
- return createCompletionDetails(symbol.name, ts_SymbolDisplay_exports.getSymbolModifiers(checker, symbol), symbolKind, displayParts, documentation, tags, codeActions, sourceDisplay);
148763
+ return createCompletionDetails(name, ts_SymbolDisplay_exports.getSymbolModifiers(checker, symbol), symbolKind, displayParts, documentation, tags, codeActions, sourceDisplay);
148713
148764
  }
148714
148765
  function createCompletionDetails(name, kindModifiers, kind, displayParts, documentation, tags, codeActions, source) {
148715
148766
  return { name, kindModifiers, kind, displayParts, documentation, tags, codeActions, source, sourceDisplay: source };
@@ -149807,6 +149858,16 @@ ${lanes.join("\n")}
149807
149858
  return classElementModifierFlags & 32 /* Static */ ? (type == null ? void 0 : type.symbol) && typeChecker.getPropertiesOfType(typeChecker.getTypeOfSymbolAtLocation(type.symbol, decl)) : type && typeChecker.getPropertiesOfType(type);
149808
149859
  });
149809
149860
  symbols = concatenate(symbols, filterClassMembersList(baseSymbols, decl.members, classElementModifierFlags));
149861
+ forEach(symbols, (symbol, index) => {
149862
+ const declaration = symbol == null ? void 0 : symbol.valueDeclaration;
149863
+ if (declaration && isClassElement(declaration) && declaration.name && isComputedPropertyName(declaration.name)) {
149864
+ const origin = {
149865
+ kind: 512 /* ComputedPropertyName */,
149866
+ symbolName: typeChecker.symbolToString(symbol)
149867
+ };
149868
+ symbolToOriginInfoMap[index] = origin;
149869
+ }
149870
+ });
149810
149871
  }
149811
149872
  return 1 /* Success */;
149812
149873
  }
@@ -150191,7 +150252,7 @@ ${lanes.join("\n")}
150191
150252
  }
150192
150253
  switch (kind) {
150193
150254
  case 3 /* MemberLike */:
150194
- return void 0;
150255
+ return originIsComputedPropertyName(origin) ? { name: origin.symbolName, needsConvertPropertyAccess: false } : void 0;
150195
150256
  case 0 /* ObjectPropertyDeclaration */:
150196
150257
  return { name: JSON.stringify(name), needsConvertPropertyAccess: false };
150197
150258
  case 2 /* PropertyAccess */:
@@ -150699,6 +150760,7 @@ ${lanes.join("\n")}
150699
150760
  SymbolOriginInfoKind2[SymbolOriginInfoKind2["TypeOnlyAlias"] = 64] = "TypeOnlyAlias";
150700
150761
  SymbolOriginInfoKind2[SymbolOriginInfoKind2["ObjectLiteralMethod"] = 128] = "ObjectLiteralMethod";
150701
150762
  SymbolOriginInfoKind2[SymbolOriginInfoKind2["Ignore"] = 256] = "Ignore";
150763
+ SymbolOriginInfoKind2[SymbolOriginInfoKind2["ComputedPropertyName"] = 512] = "ComputedPropertyName";
150702
150764
  SymbolOriginInfoKind2[SymbolOriginInfoKind2["SymbolMemberNoExport"] = 2 /* SymbolMember */] = "SymbolMemberNoExport";
150703
150765
  SymbolOriginInfoKind2[SymbolOriginInfoKind2["SymbolMemberExport"] = 6] = "SymbolMemberExport";
150704
150766
  return SymbolOriginInfoKind2;
@@ -150834,7 +150896,7 @@ ${lanes.join("\n")}
150834
150896
  }
150835
150897
  case 1 /* Properties */: {
150836
150898
  const match = find(completion.symbols, (s) => s.name === name);
150837
- return match && createCompletionDetailsForSymbol(match, checker, sourceFile, location, cancellationToken);
150899
+ return match && createCompletionDetailsForSymbol(match, match.name, checker, sourceFile, location, cancellationToken);
150838
150900
  }
150839
150901
  case 2 /* Types */:
150840
150902
  return find(completion.types, (t) => t.value === name) ? createCompletionDetails(name, "" /* none */, "string" /* string */, [textPart(name)]) : void 0;