typescript 5.0.0-dev.20230217 → 5.0.0-dev.20230219

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/typescript.js CHANGED
@@ -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.20230219`;
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)) {
@@ -64294,7 +64342,7 @@ ${lanes.join("\n")}
64294
64342
  const restType = getRestTypeOfTupleType(type);
64295
64343
  return restType && createArrayType(restType);
64296
64344
  }
64297
- function getElementTypeOfSliceOfTupleType(type, index, endSkipCount = 0, writing = false) {
64345
+ function getElementTypeOfSliceOfTupleType(type, index, endSkipCount = 0, writing = false, noReductions = false) {
64298
64346
  const length2 = getTypeReferenceArity(type) - endSkipCount;
64299
64347
  if (index < length2) {
64300
64348
  const typeArguments = getTypeArguments(type);
@@ -64303,7 +64351,7 @@ ${lanes.join("\n")}
64303
64351
  const t = typeArguments[i];
64304
64352
  elementTypes.push(type.target.elementFlags[i] & 8 /* Variadic */ ? getIndexedAccessType(t, numberType) : t);
64305
64353
  }
64306
- return writing ? getIntersectionType(elementTypes) : getUnionType(elementTypes);
64354
+ return writing ? getIntersectionType(elementTypes) : getUnionType(elementTypes, noReductions ? 0 /* None */ : 1 /* Literal */);
64307
64355
  }
64308
64356
  return void 0;
64309
64357
  }
@@ -68890,9 +68938,18 @@ ${lanes.join("\n")}
68890
68938
  if (prop) {
68891
68939
  return isCircularMappedProperty(prop) ? void 0 : getTypeOfSymbol(prop);
68892
68940
  }
68893
- if (isTupleType(t)) {
68894
- const restType = getRestTypeOfTupleType(t);
68895
- if (restType && isNumericLiteralName(name) && +name >= 0) {
68941
+ if (isTupleType(t) && isNumericLiteralName(name) && +name >= 0) {
68942
+ const restType = getElementTypeOfSliceOfTupleType(
68943
+ t,
68944
+ t.target.fixedLength,
68945
+ /*endSkipCount*/
68946
+ 0,
68947
+ /*writing*/
68948
+ false,
68949
+ /*noReductions*/
68950
+ true
68951
+ );
68952
+ if (restType) {
68896
68953
  return restType;
68897
68954
  }
68898
68955
  }
@@ -68939,9 +68996,18 @@ ${lanes.join("\n")}
68939
68996
  return void 0;
68940
68997
  }
68941
68998
  function getContextualTypeForElementExpression(arrayContextualType, index) {
68942
- return arrayContextualType && (getTypeOfPropertyOfContextualType(arrayContextualType, "" + index) || mapType(
68999
+ return arrayContextualType && (index >= 0 && getTypeOfPropertyOfContextualType(arrayContextualType, "" + index) || mapType(
68943
69000
  arrayContextualType,
68944
- (t) => getIteratedTypeOrElementType(
69001
+ (t) => isTupleType(t) ? getElementTypeOfSliceOfTupleType(
69002
+ t,
69003
+ 0,
69004
+ /*endSkipCount*/
69005
+ 0,
69006
+ /*writing*/
69007
+ false,
69008
+ /*noReductions*/
69009
+ true
69010
+ ) : getIteratedTypeOrElementType(
68945
69011
  1 /* Element */,
68946
69012
  t,
68947
69013
  undefinedType,
@@ -69094,6 +69160,7 @@ ${lanes.join("\n")}
69094
69160
  return type;
69095
69161
  }
69096
69162
  function getContextualType2(node, contextFlags) {
69163
+ var _a2, _b;
69097
69164
  if (node.flags & 33554432 /* InWithStatement */) {
69098
69165
  return void 0;
69099
69166
  }
@@ -69138,7 +69205,9 @@ ${lanes.join("\n")}
69138
69205
  case 206 /* ArrayLiteralExpression */: {
69139
69206
  const arrayLiteral = parent2;
69140
69207
  const type = getApparentTypeOfContextualType(arrayLiteral, contextFlags);
69141
- return getContextualTypeForElementExpression(type, indexOfNode(arrayLiteral.elements, node));
69208
+ const spreadIndex = (_b = (_a2 = getNodeLinks(arrayLiteral)).firstSpreadIndex) != null ? _b : _a2.firstSpreadIndex = findIndex(arrayLiteral.elements, isSpreadElement);
69209
+ const elementIndex = indexOfNode(arrayLiteral.elements, node);
69210
+ return getContextualTypeForElementExpression(type, spreadIndex < 0 || elementIndex < spreadIndex ? elementIndex : -1);
69142
69211
  }
69143
69212
  case 224 /* ConditionalExpression */:
69144
69213
  return getContextualTypeForConditionalOperand(node, contextFlags);
@@ -80237,20 +80306,19 @@ ${lanes.join("\n")}
80237
80306
  }
80238
80307
  }
80239
80308
  }
80240
- function getMemberOverrideModifierStatus(node, member) {
80309
+ function getMemberOverrideModifierStatus(node, member, memberSymbol) {
80241
80310
  if (!member.name) {
80242
80311
  return 0 /* Ok */;
80243
80312
  }
80244
- const symbol = getSymbolOfDeclaration(node);
80245
- const type = getDeclaredTypeOfSymbol(symbol);
80313
+ const classSymbol = getSymbolOfDeclaration(node);
80314
+ const type = getDeclaredTypeOfSymbol(classSymbol);
80246
80315
  const typeWithThis = getTypeWithThisArgument(type);
80247
- const staticType = getTypeOfSymbol(symbol);
80316
+ const staticType = getTypeOfSymbol(classSymbol);
80248
80317
  const baseTypeNode = getEffectiveBaseTypeNode(node);
80249
80318
  const baseTypes = baseTypeNode && getBaseTypes(type);
80250
80319
  const baseWithThis = (baseTypes == null ? void 0 : baseTypes.length) ? getTypeWithThisArgument(first(baseTypes), type.thisType) : void 0;
80251
80320
  const baseStaticType = getBaseConstructorTypeOfClass(type);
80252
80321
  const memberHasOverrideModifier = member.parent ? hasOverrideModifier(member) : hasSyntacticModifier(member, 16384 /* Override */);
80253
- const memberName = unescapeLeadingUnderscores(getTextOfPropertyName(member.name));
80254
80322
  return checkMemberForOverrideModifier(
80255
80323
  node,
80256
80324
  staticType,
@@ -80263,7 +80331,7 @@ ${lanes.join("\n")}
80263
80331
  isStatic(member),
80264
80332
  /* memberIsParameterProperty */
80265
80333
  false,
80266
- memberName
80334
+ symbolName(memberSymbol)
80267
80335
  );
80268
80336
  }
80269
80337
  function getTargetSymbol(s) {
@@ -147327,7 +147395,7 @@ ${lanes.join("\n")}
147327
147395
  return !!(origin && origin.kind === 32 /* ResolvedExport */);
147328
147396
  }
147329
147397
  function originIncludesSymbolName(origin) {
147330
- return originIsExport(origin) || originIsResolvedExport(origin);
147398
+ return originIsExport(origin) || originIsResolvedExport(origin) || originIsComputedPropertyName(origin);
147331
147399
  }
147332
147400
  function originIsPackageJsonImport(origin) {
147333
147401
  return (originIsExport(origin) || originIsResolvedExport(origin)) && !!origin.isFromPackageJson;
@@ -147347,6 +147415,9 @@ ${lanes.join("\n")}
147347
147415
  function originIsIgnore(origin) {
147348
147416
  return !!(origin && origin.kind & 256 /* Ignore */);
147349
147417
  }
147418
+ function originIsComputedPropertyName(origin) {
147419
+ return !!(origin && origin.kind & 512 /* ComputedPropertyName */);
147420
+ }
147350
147421
  function resolvingModuleSpecifiers(logPrefix, host, resolver, program, position, preferences, isForImportStatementCompletion, isValidTypeOnlyUseSite, cb) {
147351
147422
  var _a2, _b, _c;
147352
147423
  const start = timestamp();
@@ -148073,7 +148144,7 @@ ${lanes.join("\n")}
148073
148144
  if (isAbstract) {
148074
148145
  requiredModifiers |= 256 /* Abstract */;
148075
148146
  }
148076
- if (isClassElement(node) && checker.getMemberOverrideModifierStatus(classLikeDeclaration, node) === 1 /* NeedsOverride */) {
148147
+ if (isClassElement(node) && checker.getMemberOverrideModifierStatus(classLikeDeclaration, node, symbol) === 1 /* NeedsOverride */) {
148077
148148
  requiredModifiers |= 16384 /* Override */;
148078
148149
  }
148079
148150
  if (!completionNodes.length) {
@@ -148667,7 +148738,8 @@ ${lanes.join("\n")}
148667
148738
  case "symbol": {
148668
148739
  const { symbol, location, contextToken: contextToken2, origin, previousToken: previousToken2 } = symbolCompletion;
148669
148740
  const { codeActions, sourceDisplay } = getCompletionEntryCodeActionsAndSourceDisplay(name, location, contextToken2, origin, symbol, program, host, compilerOptions, sourceFile, position, previousToken2, formatContext, preferences, data, source, cancellationToken);
148670
- return createCompletionDetailsForSymbol(symbol, typeChecker, sourceFile, location, cancellationToken, codeActions, sourceDisplay);
148741
+ const symbolName2 = originIsComputedPropertyName(origin) ? origin.symbolName : symbol.name;
148742
+ return createCompletionDetailsForSymbol(symbol, symbolName2, typeChecker, sourceFile, location, cancellationToken, codeActions, sourceDisplay);
148671
148743
  }
148672
148744
  case "literal": {
148673
148745
  const { literal } = symbolCompletion;
@@ -148718,12 +148790,12 @@ ${lanes.join("\n")}
148718
148790
  function createSimpleDetails(name, kind, kind2) {
148719
148791
  return createCompletionDetails(name, "" /* none */, kind, [displayPart(name, kind2)]);
148720
148792
  }
148721
- function createCompletionDetailsForSymbol(symbol, checker, sourceFile, location, cancellationToken, codeActions, sourceDisplay) {
148793
+ function createCompletionDetailsForSymbol(symbol, name, checker, sourceFile, location, cancellationToken, codeActions, sourceDisplay) {
148722
148794
  const { displayParts, documentation, symbolKind, tags } = checker.runWithCancellationToken(
148723
148795
  cancellationToken,
148724
148796
  (checker2) => ts_SymbolDisplay_exports.getSymbolDisplayPartsDocumentationAndSymbolKind(checker2, symbol, sourceFile, location, location, 7 /* All */)
148725
148797
  );
148726
- return createCompletionDetails(symbol.name, ts_SymbolDisplay_exports.getSymbolModifiers(checker, symbol), symbolKind, displayParts, documentation, tags, codeActions, sourceDisplay);
148798
+ return createCompletionDetails(name, ts_SymbolDisplay_exports.getSymbolModifiers(checker, symbol), symbolKind, displayParts, documentation, tags, codeActions, sourceDisplay);
148727
148799
  }
148728
148800
  function createCompletionDetails(name, kindModifiers, kind, displayParts, documentation, tags, codeActions, source) {
148729
148801
  return { name, kindModifiers, kind, displayParts, documentation, tags, codeActions, source, sourceDisplay: source };
@@ -149821,6 +149893,16 @@ ${lanes.join("\n")}
149821
149893
  return classElementModifierFlags & 32 /* Static */ ? (type == null ? void 0 : type.symbol) && typeChecker.getPropertiesOfType(typeChecker.getTypeOfSymbolAtLocation(type.symbol, decl)) : type && typeChecker.getPropertiesOfType(type);
149822
149894
  });
149823
149895
  symbols = concatenate(symbols, filterClassMembersList(baseSymbols, decl.members, classElementModifierFlags));
149896
+ forEach(symbols, (symbol, index) => {
149897
+ const declaration = symbol == null ? void 0 : symbol.valueDeclaration;
149898
+ if (declaration && isClassElement(declaration) && declaration.name && isComputedPropertyName(declaration.name)) {
149899
+ const origin = {
149900
+ kind: 512 /* ComputedPropertyName */,
149901
+ symbolName: typeChecker.symbolToString(symbol)
149902
+ };
149903
+ symbolToOriginInfoMap[index] = origin;
149904
+ }
149905
+ });
149824
149906
  }
149825
149907
  return 1 /* Success */;
149826
149908
  }
@@ -150205,7 +150287,7 @@ ${lanes.join("\n")}
150205
150287
  }
150206
150288
  switch (kind) {
150207
150289
  case 3 /* MemberLike */:
150208
- return void 0;
150290
+ return originIsComputedPropertyName(origin) ? { name: origin.symbolName, needsConvertPropertyAccess: false } : void 0;
150209
150291
  case 0 /* ObjectPropertyDeclaration */:
150210
150292
  return { name: JSON.stringify(name), needsConvertPropertyAccess: false };
150211
150293
  case 2 /* PropertyAccess */:
@@ -150713,6 +150795,7 @@ ${lanes.join("\n")}
150713
150795
  SymbolOriginInfoKind2[SymbolOriginInfoKind2["TypeOnlyAlias"] = 64] = "TypeOnlyAlias";
150714
150796
  SymbolOriginInfoKind2[SymbolOriginInfoKind2["ObjectLiteralMethod"] = 128] = "ObjectLiteralMethod";
150715
150797
  SymbolOriginInfoKind2[SymbolOriginInfoKind2["Ignore"] = 256] = "Ignore";
150798
+ SymbolOriginInfoKind2[SymbolOriginInfoKind2["ComputedPropertyName"] = 512] = "ComputedPropertyName";
150716
150799
  SymbolOriginInfoKind2[SymbolOriginInfoKind2["SymbolMemberNoExport"] = 2 /* SymbolMember */] = "SymbolMemberNoExport";
150717
150800
  SymbolOriginInfoKind2[SymbolOriginInfoKind2["SymbolMemberExport"] = 6] = "SymbolMemberExport";
150718
150801
  return SymbolOriginInfoKind2;
@@ -150848,7 +150931,7 @@ ${lanes.join("\n")}
150848
150931
  }
150849
150932
  case 1 /* Properties */: {
150850
150933
  const match = find(completion.symbols, (s) => s.name === name);
150851
- return match && createCompletionDetailsForSymbol(match, checker, sourceFile, location, cancellationToken);
150934
+ return match && createCompletionDetailsForSymbol(match, match.name, checker, sourceFile, location, cancellationToken);
150852
150935
  }
150853
150936
  case 2 /* Types */:
150854
150937
  return find(completion.types, (t) => t.value === name) ? createCompletionDetails(name, "" /* none */, "string" /* string */, [textPart(name)]) : void 0;
@@ -54,7 +54,7 @@ var path = __toESM(require("path"));
54
54
 
55
55
  // src/compiler/corePublic.ts
56
56
  var versionMajorMinor = "5.0";
57
- var version = `${versionMajorMinor}.0-dev.20230217`;
57
+ var version = `${versionMajorMinor}.0-dev.20230219`;
58
58
 
59
59
  // src/compiler/core.ts
60
60
  var emptyArray = [];
@@ -7812,18 +7812,18 @@ function isIdentifierText(name, languageVersion, identifierVariant) {
7812
7812
  return true;
7813
7813
  }
7814
7814
  function createScanner(languageVersion, skipTrivia2, languageVariant = 0 /* Standard */, textInitial, onError, start, length2) {
7815
- let text = textInitial;
7816
- let pos;
7817
- let end;
7818
- let startPos;
7819
- let tokenPos;
7820
- let token;
7821
- let tokenValue;
7822
- let tokenFlags;
7823
- let commentDirectives;
7824
- let inJSDocType = 0;
7815
+ var text = textInitial;
7816
+ var pos;
7817
+ var end;
7818
+ var startPos;
7819
+ var tokenPos;
7820
+ var token;
7821
+ var tokenValue;
7822
+ var tokenFlags;
7823
+ var commentDirectives;
7824
+ var inJSDocType = 0;
7825
7825
  setText(text, start, length2);
7826
- const scanner = {
7826
+ var scanner = {
7827
7827
  getStartPos: () => startPos,
7828
7828
  getTextPos: () => pos,
7829
7829
  getToken: () => token,
@@ -18852,22 +18852,22 @@ function isExternalModule(file) {
18852
18852
  }
18853
18853
  var Parser;
18854
18854
  ((Parser2) => {
18855
- const scanner = createScanner(
18855
+ var scanner = createScanner(
18856
18856
  99 /* Latest */,
18857
18857
  /*skipTrivia*/
18858
18858
  true
18859
18859
  );
18860
- const disallowInAndDecoratorContext = 4096 /* DisallowInContext */ | 16384 /* DecoratorContext */;
18861
- let NodeConstructor2;
18862
- let TokenConstructor2;
18863
- let IdentifierConstructor2;
18864
- let PrivateIdentifierConstructor2;
18865
- let SourceFileConstructor2;
18860
+ var disallowInAndDecoratorContext = 4096 /* DisallowInContext */ | 16384 /* DecoratorContext */;
18861
+ var NodeConstructor2;
18862
+ var TokenConstructor2;
18863
+ var IdentifierConstructor2;
18864
+ var PrivateIdentifierConstructor2;
18865
+ var SourceFileConstructor2;
18866
18866
  function countNode(node) {
18867
18867
  nodeCount++;
18868
18868
  return node;
18869
18869
  }
18870
- const baseNodeFactory = {
18870
+ var baseNodeFactory = {
18871
18871
  createBaseSourceFileNode: (kind) => countNode(new SourceFileConstructor2(
18872
18872
  kind,
18873
18873
  /*pos*/
@@ -18904,25 +18904,25 @@ var Parser;
18904
18904
  0
18905
18905
  ))
18906
18906
  };
18907
- const factory2 = createNodeFactory(1 /* NoParenthesizerRules */ | 2 /* NoNodeConverters */ | 8 /* NoOriginalNode */, baseNodeFactory);
18908
- let fileName;
18909
- let sourceFlags;
18910
- let sourceText;
18911
- let languageVersion;
18912
- let scriptKind;
18913
- let languageVariant;
18914
- let parseDiagnostics;
18915
- let jsDocDiagnostics;
18916
- let syntaxCursor;
18917
- let currentToken;
18918
- let nodeCount;
18919
- let identifiers;
18920
- let identifierCount;
18921
- let parsingContext;
18922
- let notParenthesizedArrow;
18923
- let contextFlags;
18924
- let topLevel = true;
18925
- let parseErrorBeforeNextFinishedNode = false;
18907
+ var factory2 = createNodeFactory(1 /* NoParenthesizerRules */ | 2 /* NoNodeConverters */ | 8 /* NoOriginalNode */, baseNodeFactory);
18908
+ var fileName;
18909
+ var sourceFlags;
18910
+ var sourceText;
18911
+ var languageVersion;
18912
+ var scriptKind;
18913
+ var languageVariant;
18914
+ var parseDiagnostics;
18915
+ var jsDocDiagnostics;
18916
+ var syntaxCursor;
18917
+ var currentToken;
18918
+ var nodeCount;
18919
+ var identifiers;
18920
+ var identifierCount;
18921
+ var parsingContext;
18922
+ var notParenthesizedArrow;
18923
+ var contextFlags;
18924
+ var topLevel = true;
18925
+ var parseErrorBeforeNextFinishedNode = false;
18926
18926
  function parseSourceFile(fileName2, sourceText2, languageVersion2, syntaxCursor2, setParentNodes = false, scriptKind2, setExternalModuleIndicatorOverride) {
18927
18927
  var _a2;
18928
18928
  scriptKind2 = ensureScriptKind(fileName2, scriptKind2);
@@ -22429,13 +22429,9 @@ var Parser;
22429
22429
  function parseJsxClosingFragment(inExpressionContext) {
22430
22430
  const pos = getNodePos();
22431
22431
  parseExpected(30 /* LessThanSlashToken */);
22432
- if (tokenIsIdentifierOrKeyword(token())) {
22433
- parseErrorAtRange(parseJsxElementName(), Diagnostics.Expected_corresponding_closing_tag_for_JSX_fragment);
22434
- }
22435
22432
  if (parseExpected(
22436
22433
  31 /* GreaterThanToken */,
22437
- /*diagnostic*/
22438
- void 0,
22434
+ Diagnostics.Expected_corresponding_closing_tag_for_JSX_fragment,
22439
22435
  /*shouldAdvance*/
22440
22436
  false
22441
22437
  )) {
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "typescript",
3
3
  "author": "Microsoft Corp.",
4
4
  "homepage": "https://www.typescriptlang.org/",
5
- "version": "5.0.0-dev.20230217",
5
+ "version": "5.0.0-dev.20230219",
6
6
  "license": "Apache-2.0",
7
7
  "description": "TypeScript is a language for application scale JavaScript development",
8
8
  "keywords": [