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/typescript.js CHANGED
@@ -294,7 +294,7 @@ var ts;
294
294
  // The following is baselined as a literal template type without intervention
295
295
  /** The version of the TypeScript compiler release */
296
296
  // eslint-disable-next-line @typescript-eslint/no-inferrable-types
297
- ts.version = ts.versionMajorMinor + ".0-dev.20220504";
297
+ ts.version = ts.versionMajorMinor + ".0-dev.20220505";
298
298
  /* @internal */
299
299
  var Comparison;
300
300
  (function (Comparison) {
@@ -26377,7 +26377,7 @@ var ts;
26377
26377
  return node;
26378
26378
  }
26379
26379
  function cloneSourceFileWithChanges(source, statements, isDeclarationFile, referencedFiles, typeReferences, hasNoDefaultLib, libReferences) {
26380
- var node = baseFactory.createBaseSourceFileNode(305 /* SourceFile */);
26380
+ var node = (source.redirectInfo ? Object.create(source.redirectInfo.redirectTarget) : baseFactory.createBaseSourceFileNode(305 /* SourceFile */));
26381
26381
  for (var p in source) {
26382
26382
  if (p === "emitNode" || ts.hasProperty(node, p) || !ts.hasProperty(source, p))
26383
26383
  continue;
@@ -31502,7 +31502,7 @@ var ts;
31502
31502
  initializeState("", content, languageVersion, /*syntaxCursor*/ undefined, 1 /* JS */);
31503
31503
  // Prime the scanner.
31504
31504
  nextToken();
31505
- var entityName = parseEntityName(/*allowReservedWords*/ true, /*allowPrivateIdentifiers*/ false);
31505
+ var entityName = parseEntityName(/*allowReservedWords*/ true);
31506
31506
  var isInvalid = token() === 1 /* EndOfFileToken */ && !parseDiagnostics.length;
31507
31507
  clearState();
31508
31508
  return isInvalid ? entityName : undefined;
@@ -33102,7 +33102,7 @@ var ts;
33102
33102
  }
33103
33103
  return createMissingList();
33104
33104
  }
33105
- function parseEntityName(allowReservedWords, allowPrivateIdentifiers, diagnosticMessage) {
33105
+ function parseEntityName(allowReservedWords, diagnosticMessage) {
33106
33106
  var pos = getNodePos();
33107
33107
  var entity = allowReservedWords ? parseIdentifierName(diagnosticMessage) : parseIdentifier(diagnosticMessage);
33108
33108
  var dotPos = getNodePos();
@@ -33113,7 +33113,7 @@ var ts;
33113
33113
  break;
33114
33114
  }
33115
33115
  dotPos = getNodePos();
33116
- entity = finishNode(factory.createQualifiedName(entity, parseRightSideOfDot(allowReservedWords, allowPrivateIdentifiers)), pos);
33116
+ entity = finishNode(factory.createQualifiedName(entity, parseRightSideOfDot(allowReservedWords, /* allowPrivateIdentifiers */ false)), pos);
33117
33117
  }
33118
33118
  return entity;
33119
33119
  }
@@ -33246,7 +33246,7 @@ var ts;
33246
33246
  }
33247
33247
  // TYPES
33248
33248
  function parseEntityNameOfTypeReference() {
33249
- return parseEntityName(/*allowReservedWords*/ true, /*allowPrivateIdentifiers*/ false, ts.Diagnostics.Type_expected);
33249
+ return parseEntityName(/*allowReservedWords*/ true, ts.Diagnostics.Type_expected);
33250
33250
  }
33251
33251
  function parseTypeArgumentsOfTypeReference() {
33252
33252
  if (!scanner.hasPrecedingLineBreak() && reScanLessThanToken() === 29 /* LessThanToken */) {
@@ -33379,7 +33379,7 @@ var ts;
33379
33379
  function parseTypeQuery() {
33380
33380
  var pos = getNodePos();
33381
33381
  parseExpected(112 /* TypeOfKeyword */);
33382
- var entityName = parseEntityName(/*allowReservedWords*/ true, /*allowPrivateIdentifiers*/ true);
33382
+ var entityName = parseEntityName(/*allowReservedWords*/ true);
33383
33383
  // Make sure we perform ASI to prevent parsing the next line's type arguments as part of an instantiation expression.
33384
33384
  var typeArguments = !scanner.hasPrecedingLineBreak() ? tryParseTypeArguments() : undefined;
33385
33385
  return finishNode(factory.createTypeQueryNode(entityName, typeArguments), pos);
@@ -34347,10 +34347,10 @@ var ts;
34347
34347
  setDecoratorContext(/*val*/ false);
34348
34348
  }
34349
34349
  var pos = getNodePos();
34350
- var expr = parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false);
34350
+ var expr = parseAssignmentExpressionOrHigher();
34351
34351
  var operatorToken;
34352
34352
  while ((operatorToken = parseOptionalToken(27 /* CommaToken */))) {
34353
- expr = makeBinaryExpression(expr, operatorToken, parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false), pos);
34353
+ expr = makeBinaryExpression(expr, operatorToken, parseAssignmentExpressionOrHigher(), pos);
34354
34354
  }
34355
34355
  if (saveDecoratorContext) {
34356
34356
  setDecoratorContext(/*val*/ true);
@@ -34358,9 +34358,9 @@ var ts;
34358
34358
  return expr;
34359
34359
  }
34360
34360
  function parseInitializer() {
34361
- return parseOptional(63 /* EqualsToken */) ? parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false) : undefined;
34361
+ return parseOptional(63 /* EqualsToken */) ? parseAssignmentExpressionOrHigher() : undefined;
34362
34362
  }
34363
- function parseAssignmentExpressionOrHigher(disallowReturnTypeInArrowFunction) {
34363
+ function parseAssignmentExpressionOrHigher() {
34364
34364
  // AssignmentExpression[in,yield]:
34365
34365
  // 1) ConditionalExpression[?in,?yield]
34366
34366
  // 2) LeftHandSideExpression = AssignmentExpression[?in,?yield]
@@ -34386,7 +34386,7 @@ var ts;
34386
34386
  // If we do successfully parse arrow-function, we must *not* recurse for productions 1, 2 or 3. An ArrowFunction is
34387
34387
  // not a LeftHandSideExpression, nor does it start a ConditionalExpression. So we are done
34388
34388
  // with AssignmentExpression if we see one.
34389
- var arrowExpression = tryParseParenthesizedArrowFunctionExpression(disallowReturnTypeInArrowFunction) || tryParseAsyncSimpleArrowFunctionExpression(disallowReturnTypeInArrowFunction);
34389
+ var arrowExpression = tryParseParenthesizedArrowFunctionExpression() || tryParseAsyncSimpleArrowFunctionExpression();
34390
34390
  if (arrowExpression) {
34391
34391
  return arrowExpression;
34392
34392
  }
@@ -34405,7 +34405,7 @@ var ts;
34405
34405
  // parameter ('x => ...') above. We handle it here by checking if the parsed expression was a single
34406
34406
  // identifier and the current token is an arrow.
34407
34407
  if (expr.kind === 79 /* Identifier */ && token() === 38 /* EqualsGreaterThanToken */) {
34408
- return parseSimpleArrowFunctionExpression(pos, expr, disallowReturnTypeInArrowFunction, /*asyncModifier*/ undefined);
34408
+ return parseSimpleArrowFunctionExpression(pos, expr, /*asyncModifier*/ undefined);
34409
34409
  }
34410
34410
  // Now see if we might be in cases '2' or '3'.
34411
34411
  // If the expression was a LHS expression, and we have an assignment operator, then
@@ -34414,7 +34414,7 @@ var ts;
34414
34414
  // Note: we call reScanGreaterToken so that we get an appropriately merged token
34415
34415
  // for cases like `> > =` becoming `>>=`
34416
34416
  if (ts.isLeftHandSideExpression(expr) && ts.isAssignmentOperator(reScanGreaterToken())) {
34417
- return makeBinaryExpression(expr, parseTokenNode(), parseAssignmentExpressionOrHigher(disallowReturnTypeInArrowFunction), pos);
34417
+ return makeBinaryExpression(expr, parseTokenNode(), parseAssignmentExpressionOrHigher(), pos);
34418
34418
  }
34419
34419
  // It wasn't an assignment or a lambda. This is a conditional expression:
34420
34420
  return parseConditionalExpressionRest(expr, pos);
@@ -34457,7 +34457,7 @@ var ts;
34457
34457
  nextToken();
34458
34458
  if (!scanner.hasPrecedingLineBreak() &&
34459
34459
  (token() === 41 /* AsteriskToken */ || isStartOfExpression())) {
34460
- return finishNode(factory.createYieldExpression(parseOptionalToken(41 /* AsteriskToken */), parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false)), pos);
34460
+ return finishNode(factory.createYieldExpression(parseOptionalToken(41 /* AsteriskToken */), parseAssignmentExpressionOrHigher()), pos);
34461
34461
  }
34462
34462
  else {
34463
34463
  // if the next token is not on the same line as yield. or we don't have an '*' or
@@ -34465,7 +34465,7 @@ var ts;
34465
34465
  return finishNode(factory.createYieldExpression(/*asteriskToken*/ undefined, /*expression*/ undefined), pos);
34466
34466
  }
34467
34467
  }
34468
- function parseSimpleArrowFunctionExpression(pos, identifier, disallowReturnTypeInArrowFunction, asyncModifier) {
34468
+ function parseSimpleArrowFunctionExpression(pos, identifier, asyncModifier) {
34469
34469
  ts.Debug.assert(token() === 38 /* EqualsGreaterThanToken */, "parseSimpleArrowFunctionExpression should only have been called if we had a =>");
34470
34470
  var parameter = factory.createParameterDeclaration(
34471
34471
  /*decorators*/ undefined,
@@ -34477,11 +34477,11 @@ var ts;
34477
34477
  finishNode(parameter, identifier.pos);
34478
34478
  var parameters = createNodeArray([parameter], parameter.pos, parameter.end);
34479
34479
  var equalsGreaterThanToken = parseExpectedToken(38 /* EqualsGreaterThanToken */);
34480
- var body = parseArrowFunctionExpressionBody(/*isAsync*/ !!asyncModifier, disallowReturnTypeInArrowFunction);
34480
+ var body = parseArrowFunctionExpressionBody(/*isAsync*/ !!asyncModifier);
34481
34481
  var node = factory.createArrowFunction(asyncModifier, /*typeParameters*/ undefined, parameters, /*type*/ undefined, equalsGreaterThanToken, body);
34482
34482
  return addJSDocComment(finishNode(node, pos));
34483
34483
  }
34484
- function tryParseParenthesizedArrowFunctionExpression(disallowReturnTypeInArrowFunction) {
34484
+ function tryParseParenthesizedArrowFunctionExpression() {
34485
34485
  var triState = isParenthesizedArrowFunctionExpression();
34486
34486
  if (triState === 0 /* False */) {
34487
34487
  // It's definitely not a parenthesized arrow function expression.
@@ -34492,8 +34492,8 @@ var ts;
34492
34492
  // it out, but don't allow any ambiguity, and return 'undefined' if this could be an
34493
34493
  // expression instead.
34494
34494
  return triState === 1 /* True */ ?
34495
- parseParenthesizedArrowFunctionExpression(/*allowAmbiguity*/ true, /*disallowReturnTypeInArrowFunction*/ false) :
34496
- tryParse(function () { return parsePossibleParenthesizedArrowFunctionExpression(disallowReturnTypeInArrowFunction); });
34495
+ parseParenthesizedArrowFunctionExpression(/*allowAmbiguity*/ true) :
34496
+ tryParse(parsePossibleParenthesizedArrowFunctionExpression);
34497
34497
  }
34498
34498
  // True -> We definitely expect a parenthesized arrow function here.
34499
34499
  // False -> There *cannot* be a parenthesized arrow function here.
@@ -34623,25 +34623,25 @@ var ts;
34623
34623
  return 2 /* Unknown */;
34624
34624
  }
34625
34625
  }
34626
- function parsePossibleParenthesizedArrowFunctionExpression(disallowReturnTypeInArrowFunction) {
34626
+ function parsePossibleParenthesizedArrowFunctionExpression() {
34627
34627
  var tokenPos = scanner.getTokenPos();
34628
34628
  if (notParenthesizedArrow === null || notParenthesizedArrow === void 0 ? void 0 : notParenthesizedArrow.has(tokenPos)) {
34629
34629
  return undefined;
34630
34630
  }
34631
- var result = parseParenthesizedArrowFunctionExpression(/*allowAmbiguity*/ false, disallowReturnTypeInArrowFunction);
34631
+ var result = parseParenthesizedArrowFunctionExpression(/*allowAmbiguity*/ false);
34632
34632
  if (!result) {
34633
34633
  (notParenthesizedArrow || (notParenthesizedArrow = new ts.Set())).add(tokenPos);
34634
34634
  }
34635
34635
  return result;
34636
34636
  }
34637
- function tryParseAsyncSimpleArrowFunctionExpression(disallowReturnTypeInArrowFunction) {
34637
+ function tryParseAsyncSimpleArrowFunctionExpression() {
34638
34638
  // We do a check here so that we won't be doing unnecessarily call to "lookAhead"
34639
34639
  if (token() === 131 /* AsyncKeyword */) {
34640
34640
  if (lookAhead(isUnParenthesizedAsyncArrowFunctionWorker) === 1 /* True */) {
34641
34641
  var pos = getNodePos();
34642
34642
  var asyncModifier = parseModifiersForArrowFunction();
34643
34643
  var expr = parseBinaryExpressionOrHigher(0 /* Lowest */);
34644
- return parseSimpleArrowFunctionExpression(pos, expr, disallowReturnTypeInArrowFunction, asyncModifier);
34644
+ return parseSimpleArrowFunctionExpression(pos, expr, asyncModifier);
34645
34645
  }
34646
34646
  }
34647
34647
  return undefined;
@@ -34665,7 +34665,7 @@ var ts;
34665
34665
  }
34666
34666
  return 0 /* False */;
34667
34667
  }
34668
- function parseParenthesizedArrowFunctionExpression(allowAmbiguity, disallowReturnTypeInArrowFunction) {
34668
+ function parseParenthesizedArrowFunctionExpression(allowAmbiguity) {
34669
34669
  var pos = getNodePos();
34670
34670
  var hasJSDoc = hasPrecedingJSDocComment();
34671
34671
  var modifiers = parseModifiersForArrowFunction();
@@ -34700,23 +34700,6 @@ var ts;
34700
34700
  return undefined;
34701
34701
  }
34702
34702
  }
34703
- // Given:
34704
- // x ? y => ({ y }) : z => ({ z })
34705
- // We try to parse the body of the first arrow function by looking at:
34706
- // ({ y }) : z => ({ z })
34707
- // This is a valid arrow function with "z" as the return type.
34708
- //
34709
- // But, if we're in the true side of a conditional expression, this colon
34710
- // terminates the expression, so we cannot allow a return type if we aren't
34711
- // certain whether or not the preceding text was parsed as a parameter list.
34712
- //
34713
- // For example,
34714
- // a() ? (b: number, c?: string): void => d() : e
34715
- // is determined by isParenthesizedArrowFunctionExpression to unambiguously
34716
- // be an arrow expression, so we allow a return type.
34717
- if (disallowReturnTypeInArrowFunction && token() === 58 /* ColonToken */) {
34718
- return undefined;
34719
- }
34720
34703
  var type = parseReturnType(58 /* ColonToken */, /*isType*/ false);
34721
34704
  if (type && !allowAmbiguity && typeHasArrowFunctionBlockingParseError(type)) {
34722
34705
  return undefined;
@@ -34745,12 +34728,12 @@ var ts;
34745
34728
  var lastToken = token();
34746
34729
  var equalsGreaterThanToken = parseExpectedToken(38 /* EqualsGreaterThanToken */);
34747
34730
  var body = (lastToken === 38 /* EqualsGreaterThanToken */ || lastToken === 18 /* OpenBraceToken */)
34748
- ? parseArrowFunctionExpressionBody(ts.some(modifiers, ts.isAsyncModifier), disallowReturnTypeInArrowFunction)
34731
+ ? parseArrowFunctionExpressionBody(ts.some(modifiers, ts.isAsyncModifier))
34749
34732
  : parseIdentifier();
34750
34733
  var node = factory.createArrowFunction(modifiers, typeParameters, parameters, type, equalsGreaterThanToken, body);
34751
34734
  return withJSDoc(finishNode(node, pos), hasJSDoc);
34752
34735
  }
34753
- function parseArrowFunctionExpressionBody(isAsync, disallowReturnTypeInArrowFunction) {
34736
+ function parseArrowFunctionExpressionBody(isAsync) {
34754
34737
  if (token() === 18 /* OpenBraceToken */) {
34755
34738
  return parseFunctionBlock(isAsync ? 2 /* Await */ : 0 /* None */);
34756
34739
  }
@@ -34778,8 +34761,8 @@ var ts;
34778
34761
  var savedTopLevel = topLevel;
34779
34762
  topLevel = false;
34780
34763
  var node = isAsync
34781
- ? doInAwaitContext(function () { return parseAssignmentExpressionOrHigher(disallowReturnTypeInArrowFunction); })
34782
- : doOutsideOfAwaitContext(function () { return parseAssignmentExpressionOrHigher(disallowReturnTypeInArrowFunction); });
34764
+ ? doInAwaitContext(parseAssignmentExpressionOrHigher)
34765
+ : doOutsideOfAwaitContext(parseAssignmentExpressionOrHigher);
34783
34766
  topLevel = savedTopLevel;
34784
34767
  return node;
34785
34768
  }
@@ -34792,8 +34775,8 @@ var ts;
34792
34775
  // Note: we explicitly 'allowIn' in the whenTrue part of the condition expression, and
34793
34776
  // we do not that for the 'whenFalse' part.
34794
34777
  var colonToken;
34795
- return finishNode(factory.createConditionalExpression(leftOperand, questionToken, doOutsideOfContext(disallowInAndDecoratorContext, function () { return parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ true); }), colonToken = parseExpectedToken(58 /* ColonToken */), ts.nodeIsPresent(colonToken)
34796
- ? parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ true)
34778
+ return finishNode(factory.createConditionalExpression(leftOperand, questionToken, doOutsideOfContext(disallowInAndDecoratorContext, parseAssignmentExpressionOrHigher), colonToken = parseExpectedToken(58 /* ColonToken */), ts.nodeIsPresent(colonToken)
34779
+ ? parseAssignmentExpressionOrHigher()
34797
34780
  : createMissingNode(79 /* Identifier */, /*reportAtCurrentPosition*/ false, ts.Diagnostics._0_expected, ts.tokenToString(58 /* ColonToken */))), pos);
34798
34781
  }
34799
34782
  function parseBinaryExpressionOrHigher(precedence) {
@@ -35685,13 +35668,13 @@ var ts;
35685
35668
  function parseSpreadElement() {
35686
35669
  var pos = getNodePos();
35687
35670
  parseExpected(25 /* DotDotDotToken */);
35688
- var expression = parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false);
35671
+ var expression = parseAssignmentExpressionOrHigher();
35689
35672
  return finishNode(factory.createSpreadElement(expression), pos);
35690
35673
  }
35691
35674
  function parseArgumentOrArrayLiteralElement() {
35692
35675
  return token() === 25 /* DotDotDotToken */ ? parseSpreadElement() :
35693
35676
  token() === 27 /* CommaToken */ ? finishNode(factory.createOmittedExpression(), getNodePos()) :
35694
- parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false);
35677
+ parseAssignmentExpressionOrHigher();
35695
35678
  }
35696
35679
  function parseArgumentExpression() {
35697
35680
  return doOutsideOfContext(disallowInAndDecoratorContext, parseArgumentOrArrayLiteralElement);
@@ -35709,7 +35692,7 @@ var ts;
35709
35692
  var pos = getNodePos();
35710
35693
  var hasJSDoc = hasPrecedingJSDocComment();
35711
35694
  if (parseOptionalToken(25 /* DotDotDotToken */)) {
35712
- var expression = parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false);
35695
+ var expression = parseAssignmentExpressionOrHigher();
35713
35696
  return withJSDoc(finishNode(factory.createSpreadAssignment(expression), pos), hasJSDoc);
35714
35697
  }
35715
35698
  var decorators = parseDecorators();
@@ -35738,7 +35721,7 @@ var ts;
35738
35721
  var isShorthandPropertyAssignment = tokenIsIdentifier && (token() !== 58 /* ColonToken */);
35739
35722
  if (isShorthandPropertyAssignment) {
35740
35723
  var equalsToken = parseOptionalToken(63 /* EqualsToken */);
35741
- var objectAssignmentInitializer = equalsToken ? allowInAnd(function () { return parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false); }) : undefined;
35724
+ var objectAssignmentInitializer = equalsToken ? allowInAnd(parseAssignmentExpressionOrHigher) : undefined;
35742
35725
  node = factory.createShorthandPropertyAssignment(name, objectAssignmentInitializer);
35743
35726
  // Save equals token for error reporting.
35744
35727
  // TODO(rbuckton): Consider manufacturing this when we need to report an error as it is otherwise not useful.
@@ -35746,7 +35729,7 @@ var ts;
35746
35729
  }
35747
35730
  else {
35748
35731
  parseExpected(58 /* ColonToken */);
35749
- var initializer = allowInAnd(function () { return parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false); });
35732
+ var initializer = allowInAnd(parseAssignmentExpressionOrHigher);
35750
35733
  node = factory.createPropertyAssignment(name, initializer);
35751
35734
  }
35752
35735
  // Decorators, Modifiers, questionToken, and exclamationToken are not supported by property assignments and are reported in the grammar checker
@@ -35920,7 +35903,7 @@ var ts;
35920
35903
  }
35921
35904
  var node;
35922
35905
  if (awaitToken ? parseExpected(160 /* OfKeyword */) : parseOptional(160 /* OfKeyword */)) {
35923
- var expression = allowInAnd(function () { return parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false); });
35906
+ var expression = allowInAnd(parseAssignmentExpressionOrHigher);
35924
35907
  parseExpected(21 /* CloseParenToken */);
35925
35908
  node = factory.createForOfStatement(awaitToken, initializer, expression, parseStatement());
35926
35909
  }
@@ -37088,7 +37071,7 @@ var ts;
37088
37071
  var pos = getNodePos();
37089
37072
  var name = ts.tokenIsIdentifierOrKeyword(token()) ? parseIdentifierName() : parseLiteralLikeNode(10 /* StringLiteral */);
37090
37073
  parseExpected(58 /* ColonToken */);
37091
- var value = parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false);
37074
+ var value = parseAssignmentExpressionOrHigher();
37092
37075
  return finishNode(factory.createAssertEntry(name, value), pos);
37093
37076
  }
37094
37077
  function parseAssertClause(skipAssertKeyword) {
@@ -37148,7 +37131,7 @@ var ts;
37148
37131
  function parseModuleReference() {
37149
37132
  return isExternalModuleReference()
37150
37133
  ? parseExternalModuleReference()
37151
- : parseEntityName(/*allowReservedWords*/ false, /*allowPrivateIdentifiers*/ false);
37134
+ : parseEntityName(/*allowReservedWords*/ false);
37152
37135
  }
37153
37136
  function parseExternalModuleReference() {
37154
37137
  var pos = getNodePos();
@@ -37327,7 +37310,7 @@ var ts;
37327
37310
  else {
37328
37311
  parseExpected(88 /* DefaultKeyword */);
37329
37312
  }
37330
- var expression = parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false);
37313
+ var expression = parseAssignmentExpressionOrHigher();
37331
37314
  parseSemicolon();
37332
37315
  setAwaitContext(savedAwaitContext);
37333
37316
  var node = factory.createExportAssignment(decorators, modifiers, isExportEquals, expression);
@@ -37401,7 +37384,7 @@ var ts;
37401
37384
  var pos = getNodePos();
37402
37385
  var hasBrace = parseOptional(18 /* OpenBraceToken */);
37403
37386
  var p2 = getNodePos();
37404
- var entityName = parseEntityName(/* allowReservedWords*/ false, /*allowPrivateIdentifiers*/ false);
37387
+ var entityName = parseEntityName(/* allowReservedWords*/ false);
37405
37388
  while (token() === 80 /* PrivateIdentifier */) {
37406
37389
  reScanHashToken(); // rescan #id as # id
37407
37390
  nextTokenJSDoc(); // then skip the #
@@ -37844,7 +37827,7 @@ var ts;
37844
37827
  // parseEntityName logs an error for non-identifier, so create a MissingNode ourselves to avoid the error
37845
37828
  var p2 = getNodePos();
37846
37829
  var name = ts.tokenIsIdentifierOrKeyword(token())
37847
- ? parseEntityName(/*allowReservedWords*/ true, /*allowPrivateIdentifiers*/ false)
37830
+ ? parseEntityName(/*allowReservedWords*/ true)
37848
37831
  : undefined;
37849
37832
  if (name) {
37850
37833
  while (token() === 80 /* PrivateIdentifier */) {
@@ -131791,7 +131774,7 @@ var ts;
131791
131774
  KeywordCompletionFilters[KeywordCompletionFilters["TypeAssertionKeywords"] = 6] = "TypeAssertionKeywords";
131792
131775
  KeywordCompletionFilters[KeywordCompletionFilters["TypeKeywords"] = 7] = "TypeKeywords";
131793
131776
  KeywordCompletionFilters[KeywordCompletionFilters["TypeKeyword"] = 8] = "TypeKeyword";
131794
- KeywordCompletionFilters[KeywordCompletionFilters["Last"] = 7] = "Last";
131777
+ KeywordCompletionFilters[KeywordCompletionFilters["Last"] = 8] = "Last";
131795
131778
  })(KeywordCompletionFilters || (KeywordCompletionFilters = {}));
131796
131779
  var GlobalsSearch;
131797
131780
  (function (GlobalsSearch) {
@@ -132041,7 +132024,7 @@ var ts;
132041
132024
  var entryNames_1 = new ts.Set(entries.map(function (e) { return e.name; }));
132042
132025
  for (var _i = 0, _a = getKeywordCompletions(keywordFilters, !insideJsDocTagTypeExpression && ts.isSourceFileJS(sourceFile)); _i < _a.length; _i++) {
132043
132026
  var keywordEntry = _a[_i];
132044
- if (!entryNames_1.has(keywordEntry.name)) {
132027
+ if (isTypeOnlyLocation && ts.isTypeKeyword(ts.stringToToken(keywordEntry.name)) || !entryNames_1.has(keywordEntry.name)) {
132045
132028
  ts.insertSorted(entries, keywordEntry, compareCompletionEntries, /*allowDuplicates*/ true);
132046
132029
  }
132047
132030
  }
@@ -134760,7 +134743,7 @@ var ts;
134760
134743
  function getKeywordCompletions(keywordFilter, filterOutTsOnlyKeywords) {
134761
134744
  if (!filterOutTsOnlyKeywords)
134762
134745
  return getTypescriptKeywordCompletions(keywordFilter);
134763
- var index = keywordFilter + 7 /* Last */ + 1;
134746
+ var index = keywordFilter + 8 /* Last */ + 1;
134764
134747
  return _keywordCompletions[index] ||
134765
134748
  (_keywordCompletions[index] = getTypescriptKeywordCompletions(keywordFilter)
134766
134749
  .filter(function (entry) { return !isTypeScriptOnlyKeyword(ts.stringToToken(entry.name)); }));
@@ -147185,6 +147168,9 @@ var ts;
147185
147168
  consumeTokenAndAdvanceScanner(tokenInfo, node, nodeDynamicIndentation, node);
147186
147169
  }
147187
147170
  function processChildNode(child, inheritedIndentation, parent, parentDynamicIndentation, parentStartLine, undecoratedParentStartLine, isListItem, isFirstListItem) {
147171
+ if (ts.nodeIsMissing(child)) {
147172
+ return inheritedIndentation;
147173
+ }
147188
147174
  var childStartPos = child.getStart(sourceFile);
147189
147175
  var childStartLine = sourceFile.getLineAndCharacterOfPosition(childStartPos).line;
147190
147176
  var undecoratedChildStartLine = childStartLine;