typescript 4.7.0-dev.20220504 → 4.7.0-dev.20220505

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
@@ -100,7 +100,7 @@ var ts;
100
100
  // The following is baselined as a literal template type without intervention
101
101
  /** The version of the TypeScript compiler release */
102
102
  // eslint-disable-next-line @typescript-eslint/no-inferrable-types
103
- ts.version = ts.versionMajorMinor + ".0-dev.20220504";
103
+ ts.version = ts.versionMajorMinor + ".0-dev.20220505";
104
104
  /* @internal */
105
105
  var Comparison;
106
106
  (function (Comparison) {
@@ -26183,7 +26183,7 @@ var ts;
26183
26183
  return node;
26184
26184
  }
26185
26185
  function cloneSourceFileWithChanges(source, statements, isDeclarationFile, referencedFiles, typeReferences, hasNoDefaultLib, libReferences) {
26186
- var node = baseFactory.createBaseSourceFileNode(305 /* SourceFile */);
26186
+ var node = (source.redirectInfo ? Object.create(source.redirectInfo.redirectTarget) : baseFactory.createBaseSourceFileNode(305 /* SourceFile */));
26187
26187
  for (var p in source) {
26188
26188
  if (p === "emitNode" || ts.hasProperty(node, p) || !ts.hasProperty(source, p))
26189
26189
  continue;
@@ -31308,7 +31308,7 @@ var ts;
31308
31308
  initializeState("", content, languageVersion, /*syntaxCursor*/ undefined, 1 /* JS */);
31309
31309
  // Prime the scanner.
31310
31310
  nextToken();
31311
- var entityName = parseEntityName(/*allowReservedWords*/ true, /*allowPrivateIdentifiers*/ false);
31311
+ var entityName = parseEntityName(/*allowReservedWords*/ true);
31312
31312
  var isInvalid = token() === 1 /* EndOfFileToken */ && !parseDiagnostics.length;
31313
31313
  clearState();
31314
31314
  return isInvalid ? entityName : undefined;
@@ -32908,7 +32908,7 @@ var ts;
32908
32908
  }
32909
32909
  return createMissingList();
32910
32910
  }
32911
- function parseEntityName(allowReservedWords, allowPrivateIdentifiers, diagnosticMessage) {
32911
+ function parseEntityName(allowReservedWords, diagnosticMessage) {
32912
32912
  var pos = getNodePos();
32913
32913
  var entity = allowReservedWords ? parseIdentifierName(diagnosticMessage) : parseIdentifier(diagnosticMessage);
32914
32914
  var dotPos = getNodePos();
@@ -32919,7 +32919,7 @@ var ts;
32919
32919
  break;
32920
32920
  }
32921
32921
  dotPos = getNodePos();
32922
- entity = finishNode(factory.createQualifiedName(entity, parseRightSideOfDot(allowReservedWords, allowPrivateIdentifiers)), pos);
32922
+ entity = finishNode(factory.createQualifiedName(entity, parseRightSideOfDot(allowReservedWords, /* allowPrivateIdentifiers */ false)), pos);
32923
32923
  }
32924
32924
  return entity;
32925
32925
  }
@@ -33052,7 +33052,7 @@ var ts;
33052
33052
  }
33053
33053
  // TYPES
33054
33054
  function parseEntityNameOfTypeReference() {
33055
- return parseEntityName(/*allowReservedWords*/ true, /*allowPrivateIdentifiers*/ false, ts.Diagnostics.Type_expected);
33055
+ return parseEntityName(/*allowReservedWords*/ true, ts.Diagnostics.Type_expected);
33056
33056
  }
33057
33057
  function parseTypeArgumentsOfTypeReference() {
33058
33058
  if (!scanner.hasPrecedingLineBreak() && reScanLessThanToken() === 29 /* LessThanToken */) {
@@ -33185,7 +33185,7 @@ var ts;
33185
33185
  function parseTypeQuery() {
33186
33186
  var pos = getNodePos();
33187
33187
  parseExpected(112 /* TypeOfKeyword */);
33188
- var entityName = parseEntityName(/*allowReservedWords*/ true, /*allowPrivateIdentifiers*/ true);
33188
+ var entityName = parseEntityName(/*allowReservedWords*/ true);
33189
33189
  // Make sure we perform ASI to prevent parsing the next line's type arguments as part of an instantiation expression.
33190
33190
  var typeArguments = !scanner.hasPrecedingLineBreak() ? tryParseTypeArguments() : undefined;
33191
33191
  return finishNode(factory.createTypeQueryNode(entityName, typeArguments), pos);
@@ -34153,10 +34153,10 @@ var ts;
34153
34153
  setDecoratorContext(/*val*/ false);
34154
34154
  }
34155
34155
  var pos = getNodePos();
34156
- var expr = parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false);
34156
+ var expr = parseAssignmentExpressionOrHigher();
34157
34157
  var operatorToken;
34158
34158
  while ((operatorToken = parseOptionalToken(27 /* CommaToken */))) {
34159
- expr = makeBinaryExpression(expr, operatorToken, parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false), pos);
34159
+ expr = makeBinaryExpression(expr, operatorToken, parseAssignmentExpressionOrHigher(), pos);
34160
34160
  }
34161
34161
  if (saveDecoratorContext) {
34162
34162
  setDecoratorContext(/*val*/ true);
@@ -34164,9 +34164,9 @@ var ts;
34164
34164
  return expr;
34165
34165
  }
34166
34166
  function parseInitializer() {
34167
- return parseOptional(63 /* EqualsToken */) ? parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false) : undefined;
34167
+ return parseOptional(63 /* EqualsToken */) ? parseAssignmentExpressionOrHigher() : undefined;
34168
34168
  }
34169
- function parseAssignmentExpressionOrHigher(disallowReturnTypeInArrowFunction) {
34169
+ function parseAssignmentExpressionOrHigher() {
34170
34170
  // AssignmentExpression[in,yield]:
34171
34171
  // 1) ConditionalExpression[?in,?yield]
34172
34172
  // 2) LeftHandSideExpression = AssignmentExpression[?in,?yield]
@@ -34192,7 +34192,7 @@ var ts;
34192
34192
  // If we do successfully parse arrow-function, we must *not* recurse for productions 1, 2 or 3. An ArrowFunction is
34193
34193
  // not a LeftHandSideExpression, nor does it start a ConditionalExpression. So we are done
34194
34194
  // with AssignmentExpression if we see one.
34195
- var arrowExpression = tryParseParenthesizedArrowFunctionExpression(disallowReturnTypeInArrowFunction) || tryParseAsyncSimpleArrowFunctionExpression(disallowReturnTypeInArrowFunction);
34195
+ var arrowExpression = tryParseParenthesizedArrowFunctionExpression() || tryParseAsyncSimpleArrowFunctionExpression();
34196
34196
  if (arrowExpression) {
34197
34197
  return arrowExpression;
34198
34198
  }
@@ -34211,7 +34211,7 @@ var ts;
34211
34211
  // parameter ('x => ...') above. We handle it here by checking if the parsed expression was a single
34212
34212
  // identifier and the current token is an arrow.
34213
34213
  if (expr.kind === 79 /* Identifier */ && token() === 38 /* EqualsGreaterThanToken */) {
34214
- return parseSimpleArrowFunctionExpression(pos, expr, disallowReturnTypeInArrowFunction, /*asyncModifier*/ undefined);
34214
+ return parseSimpleArrowFunctionExpression(pos, expr, /*asyncModifier*/ undefined);
34215
34215
  }
34216
34216
  // Now see if we might be in cases '2' or '3'.
34217
34217
  // If the expression was a LHS expression, and we have an assignment operator, then
@@ -34220,7 +34220,7 @@ var ts;
34220
34220
  // Note: we call reScanGreaterToken so that we get an appropriately merged token
34221
34221
  // for cases like `> > =` becoming `>>=`
34222
34222
  if (ts.isLeftHandSideExpression(expr) && ts.isAssignmentOperator(reScanGreaterToken())) {
34223
- return makeBinaryExpression(expr, parseTokenNode(), parseAssignmentExpressionOrHigher(disallowReturnTypeInArrowFunction), pos);
34223
+ return makeBinaryExpression(expr, parseTokenNode(), parseAssignmentExpressionOrHigher(), pos);
34224
34224
  }
34225
34225
  // It wasn't an assignment or a lambda. This is a conditional expression:
34226
34226
  return parseConditionalExpressionRest(expr, pos);
@@ -34263,7 +34263,7 @@ var ts;
34263
34263
  nextToken();
34264
34264
  if (!scanner.hasPrecedingLineBreak() &&
34265
34265
  (token() === 41 /* AsteriskToken */ || isStartOfExpression())) {
34266
- return finishNode(factory.createYieldExpression(parseOptionalToken(41 /* AsteriskToken */), parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false)), pos);
34266
+ return finishNode(factory.createYieldExpression(parseOptionalToken(41 /* AsteriskToken */), parseAssignmentExpressionOrHigher()), pos);
34267
34267
  }
34268
34268
  else {
34269
34269
  // if the next token is not on the same line as yield. or we don't have an '*' or
@@ -34271,7 +34271,7 @@ var ts;
34271
34271
  return finishNode(factory.createYieldExpression(/*asteriskToken*/ undefined, /*expression*/ undefined), pos);
34272
34272
  }
34273
34273
  }
34274
- function parseSimpleArrowFunctionExpression(pos, identifier, disallowReturnTypeInArrowFunction, asyncModifier) {
34274
+ function parseSimpleArrowFunctionExpression(pos, identifier, asyncModifier) {
34275
34275
  ts.Debug.assert(token() === 38 /* EqualsGreaterThanToken */, "parseSimpleArrowFunctionExpression should only have been called if we had a =>");
34276
34276
  var parameter = factory.createParameterDeclaration(
34277
34277
  /*decorators*/ undefined,
@@ -34283,11 +34283,11 @@ var ts;
34283
34283
  finishNode(parameter, identifier.pos);
34284
34284
  var parameters = createNodeArray([parameter], parameter.pos, parameter.end);
34285
34285
  var equalsGreaterThanToken = parseExpectedToken(38 /* EqualsGreaterThanToken */);
34286
- var body = parseArrowFunctionExpressionBody(/*isAsync*/ !!asyncModifier, disallowReturnTypeInArrowFunction);
34286
+ var body = parseArrowFunctionExpressionBody(/*isAsync*/ !!asyncModifier);
34287
34287
  var node = factory.createArrowFunction(asyncModifier, /*typeParameters*/ undefined, parameters, /*type*/ undefined, equalsGreaterThanToken, body);
34288
34288
  return addJSDocComment(finishNode(node, pos));
34289
34289
  }
34290
- function tryParseParenthesizedArrowFunctionExpression(disallowReturnTypeInArrowFunction) {
34290
+ function tryParseParenthesizedArrowFunctionExpression() {
34291
34291
  var triState = isParenthesizedArrowFunctionExpression();
34292
34292
  if (triState === 0 /* False */) {
34293
34293
  // It's definitely not a parenthesized arrow function expression.
@@ -34298,8 +34298,8 @@ var ts;
34298
34298
  // it out, but don't allow any ambiguity, and return 'undefined' if this could be an
34299
34299
  // expression instead.
34300
34300
  return triState === 1 /* True */ ?
34301
- parseParenthesizedArrowFunctionExpression(/*allowAmbiguity*/ true, /*disallowReturnTypeInArrowFunction*/ false) :
34302
- tryParse(function () { return parsePossibleParenthesizedArrowFunctionExpression(disallowReturnTypeInArrowFunction); });
34301
+ parseParenthesizedArrowFunctionExpression(/*allowAmbiguity*/ true) :
34302
+ tryParse(parsePossibleParenthesizedArrowFunctionExpression);
34303
34303
  }
34304
34304
  // True -> We definitely expect a parenthesized arrow function here.
34305
34305
  // False -> There *cannot* be a parenthesized arrow function here.
@@ -34429,25 +34429,25 @@ var ts;
34429
34429
  return 2 /* Unknown */;
34430
34430
  }
34431
34431
  }
34432
- function parsePossibleParenthesizedArrowFunctionExpression(disallowReturnTypeInArrowFunction) {
34432
+ function parsePossibleParenthesizedArrowFunctionExpression() {
34433
34433
  var tokenPos = scanner.getTokenPos();
34434
34434
  if (notParenthesizedArrow === null || notParenthesizedArrow === void 0 ? void 0 : notParenthesizedArrow.has(tokenPos)) {
34435
34435
  return undefined;
34436
34436
  }
34437
- var result = parseParenthesizedArrowFunctionExpression(/*allowAmbiguity*/ false, disallowReturnTypeInArrowFunction);
34437
+ var result = parseParenthesizedArrowFunctionExpression(/*allowAmbiguity*/ false);
34438
34438
  if (!result) {
34439
34439
  (notParenthesizedArrow || (notParenthesizedArrow = new ts.Set())).add(tokenPos);
34440
34440
  }
34441
34441
  return result;
34442
34442
  }
34443
- function tryParseAsyncSimpleArrowFunctionExpression(disallowReturnTypeInArrowFunction) {
34443
+ function tryParseAsyncSimpleArrowFunctionExpression() {
34444
34444
  // We do a check here so that we won't be doing unnecessarily call to "lookAhead"
34445
34445
  if (token() === 131 /* AsyncKeyword */) {
34446
34446
  if (lookAhead(isUnParenthesizedAsyncArrowFunctionWorker) === 1 /* True */) {
34447
34447
  var pos = getNodePos();
34448
34448
  var asyncModifier = parseModifiersForArrowFunction();
34449
34449
  var expr = parseBinaryExpressionOrHigher(0 /* Lowest */);
34450
- return parseSimpleArrowFunctionExpression(pos, expr, disallowReturnTypeInArrowFunction, asyncModifier);
34450
+ return parseSimpleArrowFunctionExpression(pos, expr, asyncModifier);
34451
34451
  }
34452
34452
  }
34453
34453
  return undefined;
@@ -34471,7 +34471,7 @@ var ts;
34471
34471
  }
34472
34472
  return 0 /* False */;
34473
34473
  }
34474
- function parseParenthesizedArrowFunctionExpression(allowAmbiguity, disallowReturnTypeInArrowFunction) {
34474
+ function parseParenthesizedArrowFunctionExpression(allowAmbiguity) {
34475
34475
  var pos = getNodePos();
34476
34476
  var hasJSDoc = hasPrecedingJSDocComment();
34477
34477
  var modifiers = parseModifiersForArrowFunction();
@@ -34506,23 +34506,6 @@ var ts;
34506
34506
  return undefined;
34507
34507
  }
34508
34508
  }
34509
- // Given:
34510
- // x ? y => ({ y }) : z => ({ z })
34511
- // We try to parse the body of the first arrow function by looking at:
34512
- // ({ y }) : z => ({ z })
34513
- // This is a valid arrow function with "z" as the return type.
34514
- //
34515
- // But, if we're in the true side of a conditional expression, this colon
34516
- // terminates the expression, so we cannot allow a return type if we aren't
34517
- // certain whether or not the preceding text was parsed as a parameter list.
34518
- //
34519
- // For example,
34520
- // a() ? (b: number, c?: string): void => d() : e
34521
- // is determined by isParenthesizedArrowFunctionExpression to unambiguously
34522
- // be an arrow expression, so we allow a return type.
34523
- if (disallowReturnTypeInArrowFunction && token() === 58 /* ColonToken */) {
34524
- return undefined;
34525
- }
34526
34509
  var type = parseReturnType(58 /* ColonToken */, /*isType*/ false);
34527
34510
  if (type && !allowAmbiguity && typeHasArrowFunctionBlockingParseError(type)) {
34528
34511
  return undefined;
@@ -34551,12 +34534,12 @@ var ts;
34551
34534
  var lastToken = token();
34552
34535
  var equalsGreaterThanToken = parseExpectedToken(38 /* EqualsGreaterThanToken */);
34553
34536
  var body = (lastToken === 38 /* EqualsGreaterThanToken */ || lastToken === 18 /* OpenBraceToken */)
34554
- ? parseArrowFunctionExpressionBody(ts.some(modifiers, ts.isAsyncModifier), disallowReturnTypeInArrowFunction)
34537
+ ? parseArrowFunctionExpressionBody(ts.some(modifiers, ts.isAsyncModifier))
34555
34538
  : parseIdentifier();
34556
34539
  var node = factory.createArrowFunction(modifiers, typeParameters, parameters, type, equalsGreaterThanToken, body);
34557
34540
  return withJSDoc(finishNode(node, pos), hasJSDoc);
34558
34541
  }
34559
- function parseArrowFunctionExpressionBody(isAsync, disallowReturnTypeInArrowFunction) {
34542
+ function parseArrowFunctionExpressionBody(isAsync) {
34560
34543
  if (token() === 18 /* OpenBraceToken */) {
34561
34544
  return parseFunctionBlock(isAsync ? 2 /* Await */ : 0 /* None */);
34562
34545
  }
@@ -34584,8 +34567,8 @@ var ts;
34584
34567
  var savedTopLevel = topLevel;
34585
34568
  topLevel = false;
34586
34569
  var node = isAsync
34587
- ? doInAwaitContext(function () { return parseAssignmentExpressionOrHigher(disallowReturnTypeInArrowFunction); })
34588
- : doOutsideOfAwaitContext(function () { return parseAssignmentExpressionOrHigher(disallowReturnTypeInArrowFunction); });
34570
+ ? doInAwaitContext(parseAssignmentExpressionOrHigher)
34571
+ : doOutsideOfAwaitContext(parseAssignmentExpressionOrHigher);
34589
34572
  topLevel = savedTopLevel;
34590
34573
  return node;
34591
34574
  }
@@ -34598,8 +34581,8 @@ var ts;
34598
34581
  // Note: we explicitly 'allowIn' in the whenTrue part of the condition expression, and
34599
34582
  // we do not that for the 'whenFalse' part.
34600
34583
  var colonToken;
34601
- return finishNode(factory.createConditionalExpression(leftOperand, questionToken, doOutsideOfContext(disallowInAndDecoratorContext, function () { return parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ true); }), colonToken = parseExpectedToken(58 /* ColonToken */), ts.nodeIsPresent(colonToken)
34602
- ? parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ true)
34584
+ return finishNode(factory.createConditionalExpression(leftOperand, questionToken, doOutsideOfContext(disallowInAndDecoratorContext, parseAssignmentExpressionOrHigher), colonToken = parseExpectedToken(58 /* ColonToken */), ts.nodeIsPresent(colonToken)
34585
+ ? parseAssignmentExpressionOrHigher()
34603
34586
  : createMissingNode(79 /* Identifier */, /*reportAtCurrentPosition*/ false, ts.Diagnostics._0_expected, ts.tokenToString(58 /* ColonToken */))), pos);
34604
34587
  }
34605
34588
  function parseBinaryExpressionOrHigher(precedence) {
@@ -35491,13 +35474,13 @@ var ts;
35491
35474
  function parseSpreadElement() {
35492
35475
  var pos = getNodePos();
35493
35476
  parseExpected(25 /* DotDotDotToken */);
35494
- var expression = parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false);
35477
+ var expression = parseAssignmentExpressionOrHigher();
35495
35478
  return finishNode(factory.createSpreadElement(expression), pos);
35496
35479
  }
35497
35480
  function parseArgumentOrArrayLiteralElement() {
35498
35481
  return token() === 25 /* DotDotDotToken */ ? parseSpreadElement() :
35499
35482
  token() === 27 /* CommaToken */ ? finishNode(factory.createOmittedExpression(), getNodePos()) :
35500
- parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false);
35483
+ parseAssignmentExpressionOrHigher();
35501
35484
  }
35502
35485
  function parseArgumentExpression() {
35503
35486
  return doOutsideOfContext(disallowInAndDecoratorContext, parseArgumentOrArrayLiteralElement);
@@ -35515,7 +35498,7 @@ var ts;
35515
35498
  var pos = getNodePos();
35516
35499
  var hasJSDoc = hasPrecedingJSDocComment();
35517
35500
  if (parseOptionalToken(25 /* DotDotDotToken */)) {
35518
- var expression = parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false);
35501
+ var expression = parseAssignmentExpressionOrHigher();
35519
35502
  return withJSDoc(finishNode(factory.createSpreadAssignment(expression), pos), hasJSDoc);
35520
35503
  }
35521
35504
  var decorators = parseDecorators();
@@ -35544,7 +35527,7 @@ var ts;
35544
35527
  var isShorthandPropertyAssignment = tokenIsIdentifier && (token() !== 58 /* ColonToken */);
35545
35528
  if (isShorthandPropertyAssignment) {
35546
35529
  var equalsToken = parseOptionalToken(63 /* EqualsToken */);
35547
- var objectAssignmentInitializer = equalsToken ? allowInAnd(function () { return parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false); }) : undefined;
35530
+ var objectAssignmentInitializer = equalsToken ? allowInAnd(parseAssignmentExpressionOrHigher) : undefined;
35548
35531
  node = factory.createShorthandPropertyAssignment(name, objectAssignmentInitializer);
35549
35532
  // Save equals token for error reporting.
35550
35533
  // TODO(rbuckton): Consider manufacturing this when we need to report an error as it is otherwise not useful.
@@ -35552,7 +35535,7 @@ var ts;
35552
35535
  }
35553
35536
  else {
35554
35537
  parseExpected(58 /* ColonToken */);
35555
- var initializer = allowInAnd(function () { return parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false); });
35538
+ var initializer = allowInAnd(parseAssignmentExpressionOrHigher);
35556
35539
  node = factory.createPropertyAssignment(name, initializer);
35557
35540
  }
35558
35541
  // Decorators, Modifiers, questionToken, and exclamationToken are not supported by property assignments and are reported in the grammar checker
@@ -35726,7 +35709,7 @@ var ts;
35726
35709
  }
35727
35710
  var node;
35728
35711
  if (awaitToken ? parseExpected(160 /* OfKeyword */) : parseOptional(160 /* OfKeyword */)) {
35729
- var expression = allowInAnd(function () { return parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false); });
35712
+ var expression = allowInAnd(parseAssignmentExpressionOrHigher);
35730
35713
  parseExpected(21 /* CloseParenToken */);
35731
35714
  node = factory.createForOfStatement(awaitToken, initializer, expression, parseStatement());
35732
35715
  }
@@ -36894,7 +36877,7 @@ var ts;
36894
36877
  var pos = getNodePos();
36895
36878
  var name = ts.tokenIsIdentifierOrKeyword(token()) ? parseIdentifierName() : parseLiteralLikeNode(10 /* StringLiteral */);
36896
36879
  parseExpected(58 /* ColonToken */);
36897
- var value = parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false);
36880
+ var value = parseAssignmentExpressionOrHigher();
36898
36881
  return finishNode(factory.createAssertEntry(name, value), pos);
36899
36882
  }
36900
36883
  function parseAssertClause(skipAssertKeyword) {
@@ -36954,7 +36937,7 @@ var ts;
36954
36937
  function parseModuleReference() {
36955
36938
  return isExternalModuleReference()
36956
36939
  ? parseExternalModuleReference()
36957
- : parseEntityName(/*allowReservedWords*/ false, /*allowPrivateIdentifiers*/ false);
36940
+ : parseEntityName(/*allowReservedWords*/ false);
36958
36941
  }
36959
36942
  function parseExternalModuleReference() {
36960
36943
  var pos = getNodePos();
@@ -37133,7 +37116,7 @@ var ts;
37133
37116
  else {
37134
37117
  parseExpected(88 /* DefaultKeyword */);
37135
37118
  }
37136
- var expression = parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false);
37119
+ var expression = parseAssignmentExpressionOrHigher();
37137
37120
  parseSemicolon();
37138
37121
  setAwaitContext(savedAwaitContext);
37139
37122
  var node = factory.createExportAssignment(decorators, modifiers, isExportEquals, expression);
@@ -37207,7 +37190,7 @@ var ts;
37207
37190
  var pos = getNodePos();
37208
37191
  var hasBrace = parseOptional(18 /* OpenBraceToken */);
37209
37192
  var p2 = getNodePos();
37210
- var entityName = parseEntityName(/* allowReservedWords*/ false, /*allowPrivateIdentifiers*/ false);
37193
+ var entityName = parseEntityName(/* allowReservedWords*/ false);
37211
37194
  while (token() === 80 /* PrivateIdentifier */) {
37212
37195
  reScanHashToken(); // rescan #id as # id
37213
37196
  nextTokenJSDoc(); // then skip the #
@@ -37650,7 +37633,7 @@ var ts;
37650
37633
  // parseEntityName logs an error for non-identifier, so create a MissingNode ourselves to avoid the error
37651
37634
  var p2 = getNodePos();
37652
37635
  var name = ts.tokenIsIdentifierOrKeyword(token())
37653
- ? parseEntityName(/*allowReservedWords*/ true, /*allowPrivateIdentifiers*/ false)
37636
+ ? parseEntityName(/*allowReservedWords*/ true)
37654
37637
  : undefined;
37655
37638
  if (name) {
37656
37639
  while (token() === 80 /* PrivateIdentifier */) {
@@ -131180,7 +131163,7 @@ var ts;
131180
131163
  KeywordCompletionFilters[KeywordCompletionFilters["TypeAssertionKeywords"] = 6] = "TypeAssertionKeywords";
131181
131164
  KeywordCompletionFilters[KeywordCompletionFilters["TypeKeywords"] = 7] = "TypeKeywords";
131182
131165
  KeywordCompletionFilters[KeywordCompletionFilters["TypeKeyword"] = 8] = "TypeKeyword";
131183
- KeywordCompletionFilters[KeywordCompletionFilters["Last"] = 7] = "Last";
131166
+ KeywordCompletionFilters[KeywordCompletionFilters["Last"] = 8] = "Last";
131184
131167
  })(KeywordCompletionFilters || (KeywordCompletionFilters = {}));
131185
131168
  var GlobalsSearch;
131186
131169
  (function (GlobalsSearch) {
@@ -131430,7 +131413,7 @@ var ts;
131430
131413
  var entryNames_1 = new ts.Set(entries.map(function (e) { return e.name; }));
131431
131414
  for (var _i = 0, _a = getKeywordCompletions(keywordFilters, !insideJsDocTagTypeExpression && ts.isSourceFileJS(sourceFile)); _i < _a.length; _i++) {
131432
131415
  var keywordEntry = _a[_i];
131433
- if (!entryNames_1.has(keywordEntry.name)) {
131416
+ if (isTypeOnlyLocation && ts.isTypeKeyword(ts.stringToToken(keywordEntry.name)) || !entryNames_1.has(keywordEntry.name)) {
131434
131417
  ts.insertSorted(entries, keywordEntry, compareCompletionEntries, /*allowDuplicates*/ true);
131435
131418
  }
131436
131419
  }
@@ -134149,7 +134132,7 @@ var ts;
134149
134132
  function getKeywordCompletions(keywordFilter, filterOutTsOnlyKeywords) {
134150
134133
  if (!filterOutTsOnlyKeywords)
134151
134134
  return getTypescriptKeywordCompletions(keywordFilter);
134152
- var index = keywordFilter + 7 /* Last */ + 1;
134135
+ var index = keywordFilter + 8 /* Last */ + 1;
134153
134136
  return _keywordCompletions[index] ||
134154
134137
  (_keywordCompletions[index] = getTypescriptKeywordCompletions(keywordFilter)
134155
134138
  .filter(function (entry) { return !isTypeScriptOnlyKeyword(ts.stringToToken(entry.name)); }));
@@ -146574,6 +146557,9 @@ var ts;
146574
146557
  consumeTokenAndAdvanceScanner(tokenInfo, node, nodeDynamicIndentation, node);
146575
146558
  }
146576
146559
  function processChildNode(child, inheritedIndentation, parent, parentDynamicIndentation, parentStartLine, undecoratedParentStartLine, isListItem, isFirstListItem) {
146560
+ if (ts.nodeIsMissing(child)) {
146561
+ return inheritedIndentation;
146562
+ }
146577
146563
  var childStartPos = child.getStart(sourceFile);
146578
146564
  var childStartLine = sourceFile.getLineAndCharacterOfPosition(childStartPos).line;
146579
146565
  var undecoratedChildStartLine = childStartLine;