@typescript-deploys/pr-build 4.9.0-pr-50759-10 → 4.9.0-pr-49929-7

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/tsc.js CHANGED
@@ -235,6 +235,10 @@ var ts;
235
235
  return true;
236
236
  }
237
237
  ts.every = every;
238
+ function isArrayOf(array, callback) {
239
+ return every(array, callback);
240
+ }
241
+ ts.isArrayOf = isArrayOf;
238
242
  function find(array, predicate, startIndex) {
239
243
  if (array === undefined)
240
244
  return undefined;
@@ -7830,9 +7834,7 @@ var ts;
7830
7834
  }
7831
7835
  ts.reduceEachTrailingCommentRange = reduceEachTrailingCommentRange;
7832
7836
  function appendCommentRange(pos, end, kind, hasTrailingNewLine, _state, comments) {
7833
- if (!comments) {
7834
- comments = [];
7835
- }
7837
+ if (comments === void 0) { comments = []; }
7836
7838
  comments.push({ kind: kind, pos: pos, end: end, hasTrailingNewLine: hasTrailingNewLine });
7837
7839
  return comments;
7838
7840
  }
@@ -9599,7 +9601,10 @@ var ts;
9599
9601
  node = node.original;
9600
9602
  }
9601
9603
  }
9602
- return !nodeTest || nodeTest(node) ? node : undefined;
9604
+ if (!node || !nodeTest) {
9605
+ return node;
9606
+ }
9607
+ return nodeTest(node) ? node : undefined;
9603
9608
  }
9604
9609
  ts.getOriginalNode = getOriginalNode;
9605
9610
  function findAncestor(node, callback) {
@@ -10440,6 +10445,13 @@ var ts;
10440
10445
  return false;
10441
10446
  }
10442
10447
  ts.isDeclarationBindingElement = isDeclarationBindingElement;
10448
+ function isBindingOrAssignmentElement(node) {
10449
+ return ts.isVariableDeclaration(node)
10450
+ || ts.isParameter(node)
10451
+ || isObjectBindingOrAssignmentElement(node)
10452
+ || isArrayBindingOrAssignmentElement(node);
10453
+ }
10454
+ ts.isBindingOrAssignmentElement = isBindingOrAssignmentElement;
10443
10455
  function isBindingOrAssignmentPattern(node) {
10444
10456
  return isObjectBindingOrAssignmentPattern(node)
10445
10457
  || isArrayBindingOrAssignmentPattern(node);
@@ -10474,6 +10486,21 @@ var ts;
10474
10486
  return false;
10475
10487
  }
10476
10488
  ts.isArrayBindingOrAssignmentPattern = isArrayBindingOrAssignmentPattern;
10489
+ function isArrayBindingOrAssignmentElement(node) {
10490
+ switch (node.kind) {
10491
+ case 205:
10492
+ case 229:
10493
+ case 227:
10494
+ case 206:
10495
+ case 207:
10496
+ case 79:
10497
+ case 208:
10498
+ case 209:
10499
+ return true;
10500
+ }
10501
+ return ts.isAssignmentExpression(node, true);
10502
+ }
10503
+ ts.isArrayBindingOrAssignmentElement = isArrayBindingOrAssignmentElement;
10477
10504
  function isPropertyAccessOrQualifiedNameOrImportTypeNode(node) {
10478
10505
  var kind = node.kind;
10479
10506
  return kind === 208
@@ -10582,6 +10609,19 @@ var ts;
10582
10609
  }
10583
10610
  }
10584
10611
  ts.isUnaryExpressionWithWrite = isUnaryExpressionWithWrite;
10612
+ function isLiteralTypeLiteral(node) {
10613
+ node = skipPartiallyEmittedExpressions(node);
10614
+ switch (skipPartiallyEmittedExpressions(node).kind) {
10615
+ case 104:
10616
+ case 110:
10617
+ case 95:
10618
+ case 221:
10619
+ return true;
10620
+ default:
10621
+ return isLiteralExpression(node);
10622
+ }
10623
+ }
10624
+ ts.isLiteralTypeLiteral = isLiteralTypeLiteral;
10585
10625
  function isExpression(node) {
10586
10626
  return isExpressionKind(skipPartiallyEmittedExpressions(node).kind);
10587
10627
  }
@@ -11692,6 +11732,7 @@ var ts;
11692
11732
  }
11693
11733
  ts.isBlockScope = isBlockScope;
11694
11734
  function isDeclarationWithTypeParameters(node) {
11735
+ ts.Debug.type(node);
11695
11736
  switch (node.kind) {
11696
11737
  case 341:
11697
11738
  case 348:
@@ -11704,6 +11745,7 @@ var ts;
11704
11745
  }
11705
11746
  ts.isDeclarationWithTypeParameters = isDeclarationWithTypeParameters;
11706
11747
  function isDeclarationWithTypeParameterChildren(node) {
11748
+ ts.Debug.type(node);
11707
11749
  switch (node.kind) {
11708
11750
  case 176:
11709
11751
  case 177:
@@ -15724,6 +15766,7 @@ var ts;
15724
15766
  || kind === 114
15725
15767
  || kind === 155
15726
15768
  || kind === 144
15769
+ || kind === 139
15727
15770
  || kind === 230
15728
15771
  || kind === 315
15729
15772
  || kind === 316
@@ -17620,6 +17663,9 @@ var ts;
17620
17663
  }
17621
17664
  }
17622
17665
  ts.createParenthesizerRules = createParenthesizerRules;
17666
+ function castToNodeArray(nodes) {
17667
+ return ts.cast(nodes, ts.isNodeArray);
17668
+ }
17623
17669
  ts.nullParenthesizerRules = {
17624
17670
  getParenthesizeLeftSideOfBinaryForOperator: function (_) { return ts.identity; },
17625
17671
  getParenthesizeRightSideOfBinaryForOperator: function (_) { return ts.identity; },
@@ -17633,23 +17679,23 @@ var ts;
17633
17679
  parenthesizeLeftSideOfAccess: function (expression) { return ts.cast(expression, ts.isLeftHandSideExpression); },
17634
17680
  parenthesizeOperandOfPostfixUnary: function (operand) { return ts.cast(operand, ts.isLeftHandSideExpression); },
17635
17681
  parenthesizeOperandOfPrefixUnary: function (operand) { return ts.cast(operand, ts.isUnaryExpression); },
17636
- parenthesizeExpressionsOfCommaDelimitedList: function (nodes) { return ts.cast(nodes, ts.isNodeArray); },
17682
+ parenthesizeExpressionsOfCommaDelimitedList: castToNodeArray,
17637
17683
  parenthesizeExpressionForDisallowedComma: ts.identity,
17638
17684
  parenthesizeExpressionOfExpressionStatement: ts.identity,
17639
17685
  parenthesizeConciseBodyOfArrowFunction: ts.identity,
17640
17686
  parenthesizeCheckTypeOfConditionalType: ts.identity,
17641
17687
  parenthesizeExtendsTypeOfConditionalType: ts.identity,
17642
- parenthesizeConstituentTypesOfUnionType: function (nodes) { return ts.cast(nodes, ts.isNodeArray); },
17688
+ parenthesizeConstituentTypesOfUnionType: castToNodeArray,
17643
17689
  parenthesizeConstituentTypeOfUnionType: ts.identity,
17644
- parenthesizeConstituentTypesOfIntersectionType: function (nodes) { return ts.cast(nodes, ts.isNodeArray); },
17690
+ parenthesizeConstituentTypesOfIntersectionType: castToNodeArray,
17645
17691
  parenthesizeConstituentTypeOfIntersectionType: ts.identity,
17646
17692
  parenthesizeOperandOfTypeOperator: ts.identity,
17647
17693
  parenthesizeOperandOfReadonlyTypeOperator: ts.identity,
17648
17694
  parenthesizeNonArrayTypeOfPostfixType: ts.identity,
17649
- parenthesizeElementTypesOfTupleType: function (nodes) { return ts.cast(nodes, ts.isNodeArray); },
17695
+ parenthesizeElementTypesOfTupleType: castToNodeArray,
17650
17696
  parenthesizeElementTypeOfTupleType: ts.identity,
17651
17697
  parenthesizeTypeOfOptionalType: ts.identity,
17652
- parenthesizeTypeArguments: function (nodes) { return nodes && ts.cast(nodes, ts.isNodeArray); },
17698
+ parenthesizeTypeArguments: function (nodes) { return nodes && castToNodeArray(nodes); },
17653
17699
  parenthesizeLeadingTypeArgument: ts.identity,
17654
17700
  };
17655
17701
  })(ts || (ts = {}));
@@ -31814,8 +31860,8 @@ var ts;
31814
31860
  }
31815
31861
  }
31816
31862
  }
31817
- function moveElementEntirelyPastChangeRange(element, isArray, delta, oldText, newText, aggressiveChecks) {
31818
- if (isArray) {
31863
+ function moveElementEntirelyPastChangeRange(element, delta, oldText, newText, aggressiveChecks) {
31864
+ if (ts.isArray(element)) {
31819
31865
  visitArray(element);
31820
31866
  }
31821
31867
  else {
@@ -31823,6 +31869,7 @@ var ts;
31823
31869
  }
31824
31870
  return;
31825
31871
  function visitNode(node) {
31872
+ ts.Debug.type(node);
31826
31873
  var text = "";
31827
31874
  if (aggressiveChecks && shouldCheckNode(node)) {
31828
31875
  text = oldText.substring(node.pos, node.end);
@@ -31844,6 +31891,7 @@ var ts;
31844
31891
  checkNodePositions(node, aggressiveChecks);
31845
31892
  }
31846
31893
  function visitArray(array) {
31894
+ ts.Debug.type(array);
31847
31895
  array._children = undefined;
31848
31896
  ts.setTextRangePosEnd(array, array.pos + delta, array.end + delta);
31849
31897
  for (var _i = 0, array_9 = array; _i < array_9.length; _i++) {
@@ -31897,9 +31945,10 @@ var ts;
31897
31945
  visitNode(sourceFile);
31898
31946
  return;
31899
31947
  function visitNode(child) {
31948
+ ts.Debug.type(child);
31900
31949
  ts.Debug.assert(child.pos <= child.end);
31901
31950
  if (child.pos > changeRangeOldEnd) {
31902
- moveElementEntirelyPastChangeRange(child, false, delta, oldText, newText, aggressiveChecks);
31951
+ moveElementEntirelyPastChangeRange(child, delta, oldText, newText, aggressiveChecks);
31903
31952
  return;
31904
31953
  }
31905
31954
  var fullEnd = child.end;
@@ -31920,9 +31969,10 @@ var ts;
31920
31969
  ts.Debug.assert(fullEnd < changeStart);
31921
31970
  }
31922
31971
  function visitArray(array) {
31972
+ ts.Debug.type(array);
31923
31973
  ts.Debug.assert(array.pos <= array.end);
31924
31974
  if (array.pos > changeRangeOldEnd) {
31925
- moveElementEntirelyPastChangeRange(array, true, delta, oldText, newText, aggressiveChecks);
31975
+ moveElementEntirelyPastChangeRange(array, delta, oldText, newText, aggressiveChecks);
31926
31976
  return;
31927
31977
  }
31928
31978
  var fullEnd = array.end;
@@ -35153,6 +35203,7 @@ var ts;
35153
35203
  }
35154
35204
  }
35155
35205
  function specToDiagnostic(spec, disallowTrailingRecursion) {
35206
+ ts.Debug.assert(typeof spec === "string");
35156
35207
  if (disallowTrailingRecursion && invalidTrailingRecursionPattern.test(spec)) {
35157
35208
  return [ts.Diagnostics.File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0, spec];
35158
35209
  }
@@ -40941,7 +40992,7 @@ var ts;
40941
40992
  if (jsxFragmentPragma) {
40942
40993
  var chosenPragma = ts.isArray(jsxFragmentPragma) ? jsxFragmentPragma[0] : jsxFragmentPragma;
40943
40994
  file.localJsxFragmentFactory = ts.parseIsolatedEntityName(chosenPragma.arguments.factory, languageVersion);
40944
- ts.visitNode(file.localJsxFragmentFactory, markAsSynthetic);
40995
+ ts.visitNode(file.localJsxFragmentFactory, markAsSynthetic, ts.isEntityName);
40945
40996
  if (file.localJsxFragmentFactory) {
40946
40997
  return file.localJsxFragmentNamespace = ts.getFirstIdentifier(file.localJsxFragmentFactory).escapedText;
40947
40998
  }
@@ -40986,7 +41037,7 @@ var ts;
40986
41037
  if (jsxPragma) {
40987
41038
  var chosenPragma = ts.isArray(jsxPragma) ? jsxPragma[0] : jsxPragma;
40988
41039
  file.localJsxFactory = ts.parseIsolatedEntityName(chosenPragma.arguments.factory, languageVersion);
40989
- ts.visitNode(file.localJsxFactory, markAsSynthetic);
41040
+ ts.visitNode(file.localJsxFactory, markAsSynthetic, ts.isEntityName);
40990
41041
  if (file.localJsxFactory) {
40991
41042
  return file.localJsxNamespace = ts.getFirstIdentifier(file.localJsxFactory).escapedText;
40992
41043
  }
@@ -41569,10 +41620,10 @@ var ts;
41569
41620
  return (ts.isAssertionExpression(location) && ts.isConstTypeReference(location.type))
41570
41621
  || (ts.isJSDocTypeTag(location) && ts.isConstTypeReference(location.typeExpression));
41571
41622
  }
41572
- function resolveName(location, name, meaning, nameNotFoundMessage, nameArg, isUse, excludeGlobals, getSpellingSuggstions) {
41623
+ function resolveName(location, name, meaning, nameNotFoundMessage, nameArg, isUse, excludeGlobals, getSpellingSuggestions) {
41573
41624
  if (excludeGlobals === void 0) { excludeGlobals = false; }
41574
- if (getSpellingSuggstions === void 0) { getSpellingSuggstions = true; }
41575
- return resolveNameHelper(location, name, meaning, nameNotFoundMessage, nameArg, isUse, excludeGlobals, getSpellingSuggstions, getSymbol);
41625
+ if (getSpellingSuggestions === void 0) { getSpellingSuggestions = true; }
41626
+ return resolveNameHelper(location, name, meaning, nameNotFoundMessage, nameArg, isUse, excludeGlobals, getSpellingSuggestions, getSymbol);
41576
41627
  }
41577
41628
  function resolveNameHelper(location, name, meaning, nameNotFoundMessage, nameArg, isUse, excludeGlobals, getSpellingSuggestions, lookup) {
41578
41629
  var _a, _b, _c;
@@ -41683,7 +41734,9 @@ var ts;
41683
41734
  break;
41684
41735
  }
41685
41736
  if (lastLocation && ts.isStatic(lastLocation)) {
41686
- error(errorLocation, ts.Diagnostics.Static_members_cannot_reference_class_type_parameters);
41737
+ if (nameNotFoundMessage) {
41738
+ error(errorLocation, ts.Diagnostics.Static_members_cannot_reference_class_type_parameters);
41739
+ }
41687
41740
  return undefined;
41688
41741
  }
41689
41742
  break loop;
@@ -41711,7 +41764,9 @@ var ts;
41711
41764
  grandparent = location.parent.parent;
41712
41765
  if (ts.isClassLike(grandparent) || grandparent.kind === 261) {
41713
41766
  if (result = lookup(getSymbolOfNode(grandparent).members, name, meaning & 788968)) {
41714
- error(errorLocation, ts.Diagnostics.A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type);
41767
+ if (nameNotFoundMessage) {
41768
+ error(errorLocation, ts.Diagnostics.A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type);
41769
+ }
41715
41770
  return undefined;
41716
41771
  }
41717
41772
  }
@@ -41871,7 +41926,7 @@ var ts;
41871
41926
  }
41872
41927
  return undefined;
41873
41928
  }
41874
- else if (checkAndReportErrorForInvalidInitializer()) {
41929
+ else if (nameNotFoundMessage && checkAndReportErrorForInvalidInitializer()) {
41875
41930
  return undefined;
41876
41931
  }
41877
41932
  if (nameNotFoundMessage) {
@@ -42383,6 +42438,7 @@ var ts;
42383
42438
  return valueSymbol;
42384
42439
  }
42385
42440
  var result = createSymbol(valueSymbol.flags | typeSymbol.flags, valueSymbol.escapedName);
42441
+ ts.Debug.assert(valueSymbol.declarations || typeSymbol.declarations);
42386
42442
  result.declarations = ts.deduplicate(ts.concatenate(valueSymbol.declarations, typeSymbol.declarations), ts.equateValues);
42387
42443
  result.parent = valueSymbol.parent || typeSymbol.parent;
42388
42444
  if (valueSymbol.valueDeclaration)
@@ -44219,6 +44275,7 @@ var ts;
44219
44275
  var objectFlags = ts.getObjectFlags(type);
44220
44276
  if (objectFlags & 4) {
44221
44277
  ts.Debug.assert(!!(type.flags & 524288));
44278
+ ts.Debug.type(type);
44222
44279
  return type.node ? visitAndTransformType(type, typeReferenceToTypeNode) : typeReferenceToTypeNode(type);
44223
44280
  }
44224
44281
  if (type.flags & 262144 || objectFlags & 3) {
@@ -45558,7 +45615,7 @@ var ts;
45558
45615
  }
45559
45616
  var hadError = false;
45560
45617
  var file = ts.getSourceFileOfNode(existing);
45561
- var transformed = ts.visitNode(existing, visitExistingNodeTreeSymbols);
45618
+ var transformed = ts.visitNode(existing, visitExistingNodeTreeSymbols, ts.isTypeNode);
45562
45619
  if (hadError) {
45563
45620
  return undefined;
45564
45621
  }
@@ -45587,22 +45644,22 @@ var ts;
45587
45644
  var name = ts.isIdentifier(t.name) ? t.name : t.name.right;
45588
45645
  var typeViaParent = getTypeOfPropertyOfType(getTypeFromTypeNode(node), name.escapedText);
45589
45646
  var overrideTypeNode = typeViaParent && t.typeExpression && getTypeFromTypeNode(t.typeExpression.type) !== typeViaParent ? typeToTypeNodeHelper(typeViaParent, context) : undefined;
45590
- return ts.factory.createPropertySignature(undefined, name, t.isBracketed || t.typeExpression && ts.isJSDocOptionalType(t.typeExpression.type) ? ts.factory.createToken(57) : undefined, overrideTypeNode || (t.typeExpression && ts.visitNode(t.typeExpression.type, visitExistingNodeTreeSymbols)) || ts.factory.createKeywordTypeNode(131));
45647
+ return ts.factory.createPropertySignature(undefined, name, t.isBracketed || t.typeExpression && ts.isJSDocOptionalType(t.typeExpression.type) ? ts.factory.createToken(57) : undefined, overrideTypeNode || (t.typeExpression && ts.visitNode(t.typeExpression.type, visitExistingNodeTreeSymbols, ts.isTypeNode)) || ts.factory.createKeywordTypeNode(131));
45591
45648
  }));
45592
45649
  }
45593
45650
  if (ts.isTypeReferenceNode(node) && ts.isIdentifier(node.typeName) && node.typeName.escapedText === "") {
45594
45651
  return ts.setOriginalNode(ts.factory.createKeywordTypeNode(131), node);
45595
45652
  }
45596
45653
  if ((ts.isExpressionWithTypeArguments(node) || ts.isTypeReferenceNode(node)) && ts.isJSDocIndexSignature(node)) {
45597
- return ts.factory.createTypeLiteralNode([ts.factory.createIndexSignature(undefined, [ts.factory.createParameterDeclaration(undefined, undefined, "x", undefined, ts.visitNode(node.typeArguments[0], visitExistingNodeTreeSymbols))], ts.visitNode(node.typeArguments[1], visitExistingNodeTreeSymbols))]);
45654
+ return ts.factory.createTypeLiteralNode([ts.factory.createIndexSignature(undefined, [ts.factory.createParameterDeclaration(undefined, undefined, "x", undefined, ts.visitNode(node.typeArguments[0], visitExistingNodeTreeSymbols, ts.isTypeNode))], ts.visitNode(node.typeArguments[1], visitExistingNodeTreeSymbols))]);
45598
45655
  }
45599
45656
  if (ts.isJSDocFunctionType(node)) {
45600
45657
  if (ts.isJSDocConstructSignature(node)) {
45601
45658
  var newTypeNode_1;
45602
- return ts.factory.createConstructorTypeNode(undefined, ts.visitNodes(node.typeParameters, visitExistingNodeTreeSymbols), ts.mapDefined(node.parameters, function (p, i) { return p.name && ts.isIdentifier(p.name) && p.name.escapedText === "new" ? (newTypeNode_1 = p.type, undefined) : ts.factory.createParameterDeclaration(undefined, getEffectiveDotDotDotForParameter(p), getNameForJSDocFunctionParameter(p, i), p.questionToken, ts.visitNode(p.type, visitExistingNodeTreeSymbols), undefined); }), ts.visitNode(newTypeNode_1 || node.type, visitExistingNodeTreeSymbols) || ts.factory.createKeywordTypeNode(131));
45659
+ return ts.factory.createConstructorTypeNode(undefined, ts.visitNodes(node.typeParameters, visitExistingNodeTreeSymbols, ts.isTypeParameterDeclaration), ts.mapDefined(node.parameters, function (p, i) { return p.name && ts.isIdentifier(p.name) && p.name.escapedText === "new" ? (newTypeNode_1 = p.type, undefined) : ts.factory.createParameterDeclaration(undefined, getEffectiveDotDotDotForParameter(p), getNameForJSDocFunctionParameter(p, i), p.questionToken, ts.visitNode(p.type, visitExistingNodeTreeSymbols), undefined); }), ts.visitNode(newTypeNode_1 || node.type, visitExistingNodeTreeSymbols) || ts.factory.createKeywordTypeNode(131));
45603
45660
  }
45604
45661
  else {
45605
- return ts.factory.createFunctionTypeNode(ts.visitNodes(node.typeParameters, visitExistingNodeTreeSymbols), ts.map(node.parameters, function (p, i) { return ts.factory.createParameterDeclaration(undefined, getEffectiveDotDotDotForParameter(p), getNameForJSDocFunctionParameter(p, i), p.questionToken, ts.visitNode(p.type, visitExistingNodeTreeSymbols), undefined); }), ts.visitNode(node.type, visitExistingNodeTreeSymbols) || ts.factory.createKeywordTypeNode(131));
45662
+ return ts.factory.createFunctionTypeNode(ts.visitNodes(node.typeParameters, visitExistingNodeTreeSymbols, ts.isTypeParameterDeclaration), ts.map(node.parameters, function (p, i) { return ts.factory.createParameterDeclaration(undefined, getEffectiveDotDotDotForParameter(p), getNameForJSDocFunctionParameter(p, i), p.questionToken, ts.visitNode(p.type, visitExistingNodeTreeSymbols), undefined); }), ts.visitNode(node.type, visitExistingNodeTreeSymbols) || ts.factory.createKeywordTypeNode(131));
45606
45663
  }
45607
45664
  }
45608
45665
  if (ts.isTypeReferenceNode(node) && ts.isInJSDoc(node) && (!existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(node, getTypeFromTypeNode(node)) || getIntendedTypeFromJSDocTypeReference(node) || unknownSymbol === resolveTypeReferenceName(node, 788968, true))) {
@@ -45966,7 +46023,7 @@ var ts;
45966
46023
  }
45967
46024
  }
45968
46025
  function includePrivateSymbol(symbol) {
45969
- if (ts.some(symbol.declarations, ts.isParameterDeclaration))
46026
+ if (ts.some(symbol.declarations, ts.isParameter))
45970
46027
  return;
45971
46028
  ts.Debug.assertIsDefined(deferredPrivatesStack[deferredPrivatesStack.length - 1]);
45972
46029
  getUnusedName(ts.unescapeLeadingUnderscores(symbol.escapedName), symbol);
@@ -46270,7 +46327,7 @@ var ts;
46270
46327
  break;
46271
46328
  }
46272
46329
  case 268:
46273
- if (target.escapedName === "export=" && ts.some(target.declarations, ts.isJsonSourceFile)) {
46330
+ if (target.escapedName === "export=" && ts.some(target.declarations, function (d) { return ts.isSourceFile(d) && ts.isJsonSourceFile(d); })) {
46274
46331
  serializeMaybeAliasAssignment(symbol);
46275
46332
  break;
46276
46333
  }
@@ -67889,8 +67946,7 @@ var ts;
67889
67946
  if (inferenceContext && inferenceContext.intraExpressionInferenceSites) {
67890
67947
  inferenceContext.intraExpressionInferenceSites = undefined;
67891
67948
  }
67892
- var result = maybeTypeOfKind(type, 2944) && (isLiteralOfContextualType(type, instantiateContextualType(contextualType, node, undefined)) ||
67893
- isLiteralOfContextualType(type, contextualType)) ?
67949
+ var result = maybeTypeOfKind(type, 2944) && isLiteralOfContextualType(type, instantiateContextualType(contextualType, node, undefined)) ?
67894
67950
  getRegularTypeOfLiteralType(type) : type;
67895
67951
  return result;
67896
67952
  }
@@ -74400,7 +74456,7 @@ var ts;
74400
74456
  }
74401
74457
  var node = ts.getParseTreeNode(nodeIn, ts.isIdentifier);
74402
74458
  if (node) {
74403
- var symbol = getReferencedValueSymbol(node);
74459
+ var symbol = getReferencedValueOrAliasSymbol(node);
74404
74460
  if (isNonLocalAlias(symbol, 111551) && !getTypeOnlyAliasDeclaration(symbol)) {
74405
74461
  return getDeclarationOfAliasSymbol(symbol);
74406
74462
  }
@@ -74721,6 +74777,13 @@ var ts;
74721
74777
  }
74722
74778
  return resolveName(location, reference.escapedText, 111551 | 1048576 | 2097152, undefined, undefined, true);
74723
74779
  }
74780
+ function getReferencedValueOrAliasSymbol(reference) {
74781
+ var resolvedSymbol = getNodeLinks(reference).resolvedSymbol;
74782
+ if (resolvedSymbol && resolvedSymbol !== unknownSymbol) {
74783
+ return resolvedSymbol;
74784
+ }
74785
+ return resolveName(reference, reference.escapedText, 111551 | 1048576 | 2097152, undefined, undefined, true, undefined, undefined);
74786
+ }
74724
74787
  function getReferencedValueDeclaration(referenceIn) {
74725
74788
  if (!ts.isGeneratedIdentifier(referenceIn)) {
74726
74789
  var reference = ts.getParseTreeNode(referenceIn, ts.isIdentifier);
@@ -76760,13 +76823,10 @@ var ts;
76760
76823
  (function (ts) {
76761
76824
  var _a;
76762
76825
  function visitNode(node, visitor, test, lift) {
76763
- if (node === undefined || visitor === undefined) {
76764
- return node;
76765
- }
76766
- var visited = visitor(node);
76767
- if (visited === node) {
76826
+ if (node === undefined) {
76768
76827
  return node;
76769
76828
  }
76829
+ var visited = visitor ? visitor(node) : node;
76770
76830
  var visitedNode;
76771
76831
  if (visited === undefined) {
76772
76832
  return undefined;
@@ -76781,8 +76841,9 @@ var ts;
76781
76841
  return visitedNode;
76782
76842
  }
76783
76843
  ts.visitNode = visitNode;
76844
+ (function (_) { })(visitNode);
76784
76845
  function visitNodes(nodes, visitor, test, start, count) {
76785
- if (nodes === undefined || visitor === undefined) {
76846
+ if (nodes === undefined) {
76786
76847
  return nodes;
76787
76848
  }
76788
76849
  var length = nodes.length;
@@ -76812,6 +76873,7 @@ var ts;
76812
76873
  return nodes;
76813
76874
  }
76814
76875
  ts.visitNodes = visitNodes;
76876
+ (function (_) { })(visitNodes);
76815
76877
  function visitArray(nodes, visitor, test, start, count) {
76816
76878
  if (nodes === undefined) {
76817
76879
  return nodes;
@@ -76834,7 +76896,7 @@ var ts;
76834
76896
  }
76835
76897
  for (var i = 0; i < count; i++) {
76836
76898
  var node = nodes[i + start];
76837
- var visited = node !== undefined ? visitor(node) : undefined;
76899
+ var visited = node !== undefined ? (visitor ? visitor(node) : node) : undefined;
76838
76900
  if (updated !== undefined || visited === undefined || visited !== node) {
76839
76901
  if (updated === undefined) {
76840
76902
  updated = nodes.slice(0, i);
@@ -76843,18 +76905,18 @@ var ts;
76843
76905
  if (ts.isArray(visited)) {
76844
76906
  for (var _i = 0, visited_1 = visited; _i < visited_1.length; _i++) {
76845
76907
  var visitedNode = visited_1[_i];
76846
- void ts.Debug.assertNode(visitedNode, test);
76847
76908
  updated.push(visitedNode);
76848
76909
  }
76849
76910
  }
76850
76911
  else {
76851
- void ts.Debug.assertNode(visited, test);
76852
76912
  updated.push(visited);
76853
76913
  }
76854
76914
  }
76855
76915
  }
76856
76916
  }
76857
- return updated !== null && updated !== void 0 ? updated : nodes;
76917
+ var result = updated !== null && updated !== void 0 ? updated : nodes;
76918
+ ts.Debug.assertEachNode(result, test);
76919
+ return result;
76858
76920
  }
76859
76921
  function visitLexicalEnvironment(statements, visitor, context, start, ensureUseStrict, nodesVisitor) {
76860
76922
  if (nodesVisitor === void 0) { nodesVisitor = visitNodes; }
@@ -76871,7 +76933,7 @@ var ts;
76871
76933
  context.startLexicalEnvironment();
76872
76934
  if (nodes) {
76873
76935
  context.setLexicalEnvironmentFlags(1, true);
76874
- updated = nodesVisitor(nodes, visitor, ts.isParameterDeclaration);
76936
+ updated = nodesVisitor(nodes, visitor, ts.isParameter);
76875
76937
  if (context.getLexicalEnvironmentFlags() & 2 &&
76876
76938
  ts.getEmitScriptTarget(context.getCompilerOptions()) >= 2) {
76877
76939
  updated = addDefaultValueAssignmentsIfNeeded(updated, context);
@@ -76940,6 +77002,7 @@ var ts;
76940
77002
  if (nodeVisitor === void 0) { nodeVisitor = visitNode; }
76941
77003
  context.startBlockScope();
76942
77004
  var updated = nodeVisitor(body, visitor, ts.isStatement, context.factory.liftToBlock);
77005
+ ts.Debug.assert(updated);
76943
77006
  var declarations = context.endBlockScope();
76944
77007
  if (ts.some(declarations)) {
76945
77008
  if (ts.isBlock(updated)) {
@@ -76976,20 +77039,20 @@ var ts;
76976
77039
  return context.factory.updateTypeParameterDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.constraint, visitor, ts.isTypeNode), nodeVisitor(node.default, visitor, ts.isTypeNode));
76977
77040
  },
76978
77041
  _a[166] = function visitEachChildOfParameterDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
76979
- return context.factory.updateParameterDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.dotDotDotToken, tokenVisitor, ts.isDotDotDotToken), nodeVisitor(node.name, visitor, ts.isBindingName), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.initializer, visitor, ts.isExpression));
77042
+ return context.factory.updateParameterDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.dotDotDotToken, tokenVisitor, ts.isDotDotDotToken), ts.Debug.checkDefined(nodeVisitor(node.name, visitor, ts.isBindingName)), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.initializer, visitor, ts.isExpression));
76980
77043
  },
76981
77044
  _a[167] = function visitEachChildOfDecorator(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
76982
77045
  return context.factory.updateDecorator(node, nodeVisitor(node.expression, visitor, ts.isExpression));
76983
77046
  },
76984
77047
  _a[168] = function visitEachChildOfPropertySignature(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
76985
- return context.factory.updatePropertySignature(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.questionToken, tokenVisitor, ts.isToken), nodeVisitor(node.type, visitor, ts.isTypeNode));
77048
+ return context.factory.updatePropertySignature(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodeVisitor(node.type, visitor, ts.isTypeNode));
76986
77049
  },
76987
77050
  _a[169] = function visitEachChildOfPropertyDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
76988
77051
  var _a;
76989
- return context.factory.updatePropertyDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor((_a = node.questionToken) !== null && _a !== void 0 ? _a : node.exclamationToken, tokenVisitor, ts.isQuestionOrExclamationToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.initializer, visitor, ts.isExpression));
77052
+ return context.factory.updatePropertyDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), ts.Debug.checkDefined(nodeVisitor(node.name, visitor, ts.isPropertyName)), nodeVisitor((_a = node.questionToken) !== null && _a !== void 0 ? _a : node.exclamationToken, tokenVisitor, ts.isQuestionOrExclamationToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.initializer, visitor, ts.isExpression));
76990
77053
  },
76991
77054
  _a[170] = function visitEachChildOfMethodSignature(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
76992
- return context.factory.updateMethodSignature(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
77055
+ return context.factory.updateMethodSignature(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameter), nodeVisitor(node.type, visitor, ts.isTypeNode));
76993
77056
  },
76994
77057
  _a[171] = function visitEachChildOfMethodDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
76995
77058
  return context.factory.updateMethodDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor));
@@ -77009,13 +77072,13 @@ var ts;
77009
77072
  return context.factory.updateClassStaticBlockDeclaration(node, visitFunctionBody(node.body, visitor, context, nodeVisitor));
77010
77073
  },
77011
77074
  _a[176] = function visitEachChildOfCallSignatureDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
77012
- return context.factory.updateCallSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
77075
+ return context.factory.updateCallSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameter), nodeVisitor(node.type, visitor, ts.isTypeNode));
77013
77076
  },
77014
77077
  _a[177] = function visitEachChildOfConstructSignatureDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
77015
- return context.factory.updateConstructSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
77078
+ return context.factory.updateConstructSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameter), nodeVisitor(node.type, visitor, ts.isTypeNode));
77016
77079
  },
77017
77080
  _a[178] = function visitEachChildOfIndexSignatureDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
77018
- return context.factory.updateIndexSignature(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
77081
+ return context.factory.updateIndexSignature(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.parameters, visitor, ts.isParameter), nodeVisitor(node.type, visitor, ts.isTypeNode));
77019
77082
  },
77020
77083
  _a[179] = function visitEachChildOfTypePredicateNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
77021
77084
  return context.factory.updateTypePredicateNode(node, nodeVisitor(node.assertsModifier, visitor, ts.isAssertsKeyword), nodeVisitor(node.parameterName, visitor, ts.isIdentifierOrThisTypeNode), nodeVisitor(node.type, visitor, ts.isTypeNode));
@@ -77024,10 +77087,10 @@ var ts;
77024
77087
  return context.factory.updateTypeReferenceNode(node, nodeVisitor(node.typeName, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode));
77025
77088
  },
77026
77089
  _a[181] = function visitEachChildOfFunctionTypeNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
77027
- return context.factory.updateFunctionTypeNode(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
77090
+ return context.factory.updateFunctionTypeNode(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameter), nodeVisitor(node.type, visitor, ts.isTypeNode));
77028
77091
  },
77029
77092
  _a[182] = function visitEachChildOfConstructorTypeNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
77030
- return context.factory.updateConstructorTypeNode(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
77093
+ return context.factory.updateConstructorTypeNode(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameter), nodeVisitor(node.type, visitor, ts.isTypeNode));
77031
77094
  },
77032
77095
  _a[183] = function visitEachChildOfTypeQueryNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
77033
77096
  return context.factory.updateTypeQueryNode(node, nodeVisitor(node.exprName, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode));
@@ -77081,7 +77144,7 @@ var ts;
77081
77144
  return context.factory.updateMappedTypeNode(node, nodeVisitor(node.readonlyToken, tokenVisitor, ts.isReadonlyKeywordOrPlusOrMinusToken), nodeVisitor(node.typeParameter, visitor, ts.isTypeParameterDeclaration), nodeVisitor(node.nameType, visitor, ts.isTypeNode), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionOrPlusOrMinusToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodesVisitor(node.members, visitor, ts.isTypeElement));
77082
77145
  },
77083
77146
  _a[198] = function visitEachChildOfLiteralTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
77084
- return context.factory.updateLiteralTypeNode(node, nodeVisitor(node.literal, visitor, ts.isExpression));
77147
+ return context.factory.updateLiteralTypeNode(node, nodeVisitor(node.literal, visitor, ts.isLiteralTypeLiteral));
77085
77148
  },
77086
77149
  _a[200] = function visitEachChildOfTemplateLiteralType(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
77087
77150
  return context.factory.updateTemplateLiteralType(node, nodeVisitor(node.head, visitor, ts.isTemplateHead), nodesVisitor(node.templateSpans, visitor, ts.isTemplateLiteralTypeSpan));
@@ -78404,6 +78467,7 @@ var ts;
78404
78467
  };
78405
78468
  if (value) {
78406
78469
  value = ts.visitNode(value, visitor, ts.isExpression);
78470
+ ts.Debug.assert(value);
78407
78471
  if (ts.isIdentifier(value) && bindingOrAssignmentElementAssignsToName(node, value.escapedText) ||
78408
78472
  bindingOrAssignmentElementContainsNonLiteralComputedName(node)) {
78409
78473
  value = ensureIdentifier(flattenContext, value, false, location);
@@ -78575,7 +78639,7 @@ var ts;
78575
78639
  && !(element.transformFlags & (32768 | 65536))
78576
78640
  && !(ts.getTargetOfBindingOrAssignmentElement(element).transformFlags & (32768 | 65536))
78577
78641
  && !ts.isComputedPropertyName(propertyName)) {
78578
- bindingElements = ts.append(bindingElements, ts.visitNode(element, flattenContext.visitor));
78642
+ bindingElements = ts.append(bindingElements, ts.visitNode(element, flattenContext.visitor, ts.isBindingOrAssignmentElement));
78579
78643
  }
78580
78644
  else {
78581
78645
  if (bindingElements) {
@@ -78708,6 +78772,7 @@ var ts;
78708
78772
  return factory.createArrayBindingPattern(elements);
78709
78773
  }
78710
78774
  function makeArrayAssignmentPattern(factory, elements) {
78775
+ ts.Debug.assertEachNode(elements, ts.isArrayBindingOrAssignmentElement);
78711
78776
  return factory.createArrayLiteralExpression(ts.map(elements, factory.converters.convertToArrayAssignmentElement));
78712
78777
  }
78713
78778
  function makeObjectBindingPattern(factory, elements) {
@@ -78715,6 +78780,7 @@ var ts;
78715
78780
  return factory.createObjectBindingPattern(elements);
78716
78781
  }
78717
78782
  function makeObjectAssignmentPattern(factory, elements) {
78783
+ ts.Debug.assertEachNode(elements, ts.isObjectBindingOrAssignmentElement);
78718
78784
  return factory.createObjectLiteralExpression(ts.map(elements, factory.converters.convertToObjectAssignmentElement));
78719
78785
  }
78720
78786
  function makeBindingElement(factory, name) {
@@ -78733,6 +78799,7 @@ var ts;
78733
78799
  })(ProcessLevel = ts.ProcessLevel || (ts.ProcessLevel = {}));
78734
78800
  function processTaggedTemplateExpression(context, node, visitor, currentSourceFile, recordTaggedTemplateString, level) {
78735
78801
  var tag = ts.visitNode(node.tag, visitor, ts.isExpression);
78802
+ ts.Debug.assert(tag);
78736
78803
  var templateArguments = [undefined];
78737
78804
  var cookedStrings = [];
78738
78805
  var rawStrings = [];
@@ -79100,7 +79167,7 @@ var ts;
79100
79167
  return factory.updateSourceFile(node, ts.visitLexicalEnvironment(node.statements, sourceElementVisitor, context, 0, alwaysStrict));
79101
79168
  }
79102
79169
  function visitObjectLiteralExpression(node) {
79103
- return factory.updateObjectLiteralExpression(node, ts.visitNodes(node.properties, getObjectLiteralElementVisitor(node), ts.isObjectLiteralElement));
79170
+ return factory.updateObjectLiteralExpression(node, ts.visitNodes(node.properties, getObjectLiteralElementVisitor(node), ts.isObjectLiteralElementLike));
79104
79171
  }
79105
79172
  function getClassFacts(node, staticProperties) {
79106
79173
  var facts = 0;
@@ -79236,6 +79303,7 @@ var ts;
79236
79303
  for (var _i = 0, parameterDecorators_1 = parameterDecorators; _i < parameterDecorators_1.length; _i++) {
79237
79304
  var parameterDecorator = parameterDecorators_1[_i];
79238
79305
  var expression = ts.visitNode(parameterDecorator.expression, visitor, ts.isExpression);
79306
+ ts.Debug.assert(expression);
79239
79307
  var helper = emitHelpers().createParamHelper(expression, parameterOffset);
79240
79308
  ts.setTextRange(helper, parameterDecorator.expression);
79241
79309
  ts.setEmitFlags(helper, 1536);
@@ -79335,6 +79403,7 @@ var ts;
79335
79403
  var name = member.name;
79336
79404
  if (ts.isComputedPropertyName(name) && ((!ts.hasStaticModifier(member) && currentClassHasParameterProperties) || ts.hasDecorators(member))) {
79337
79405
  var expression = ts.visitNode(name.expression, visitor, ts.isExpression);
79406
+ ts.Debug.assert(expression);
79338
79407
  var innerExpression = ts.skipPartiallyEmittedExpressions(expression);
79339
79408
  if (!ts.isSimpleInlineableExpression(innerExpression)) {
79340
79409
  var generatedName = factory.getGeneratedNameForNode(name);
@@ -79351,7 +79420,7 @@ var ts;
79351
79420
  return ts.visitEachChild(node, visitor, context);
79352
79421
  }
79353
79422
  function visitExpressionWithTypeArguments(node) {
79354
- return factory.updateExpressionWithTypeArguments(node, ts.visitNode(node.expression, visitor, ts.isLeftHandSideExpression), undefined);
79423
+ return factory.updateExpressionWithTypeArguments(node, ts.Debug.checkDefined(ts.visitNode(node.expression, visitor, ts.isLeftHandSideExpression)), undefined);
79355
79424
  }
79356
79425
  function shouldEmitFunctionLikeDeclaration(node) {
79357
79426
  return !ts.nodeIsMissing(node.body);
@@ -79364,7 +79433,7 @@ var ts;
79364
79433
  var allDecorators = ts.getAllDecoratorsOfClassElement(node, parent);
79365
79434
  var decorators = transformAllDecoratorsOfDeclaration(node, parent, allDecorators);
79366
79435
  if (isAmbient) {
79367
- return factory.updatePropertyDeclaration(node, ts.concatenate(decorators, factory.createModifiersFromModifierFlags(2)), ts.visitNode(node.name, visitor, ts.isPropertyName), undefined, undefined, undefined);
79436
+ return factory.updatePropertyDeclaration(node, ts.concatenate(decorators, factory.createModifiersFromModifierFlags(2)), ts.Debug.checkDefined(ts.visitNode(node.name, visitor, ts.isPropertyName)), undefined, undefined, undefined);
79368
79437
  }
79369
79438
  return factory.updatePropertyDeclaration(node, ts.concatenate(decorators, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifierLike)), visitPropertyNameOfClassElement(node), undefined, undefined, ts.visitNode(node.initializer, visitor));
79370
79439
  }
@@ -79478,7 +79547,7 @@ var ts;
79478
79547
  if (ts.parameterIsThisKeyword(node)) {
79479
79548
  return undefined;
79480
79549
  }
79481
- var updated = factory.updateParameterDeclaration(node, ts.elideNodes(factory, node.modifiers), node.dotDotDotToken, ts.visitNode(node.name, visitor, ts.isBindingName), undefined, undefined, ts.visitNode(node.initializer, visitor, ts.isExpression));
79550
+ var updated = factory.updateParameterDeclaration(node, ts.elideNodes(factory, node.modifiers), node.dotDotDotToken, ts.Debug.checkDefined(ts.visitNode(node.name, visitor, ts.isBindingName)), undefined, undefined, ts.visitNode(node.initializer, visitor, ts.isExpression));
79482
79551
  if (updated !== node) {
79483
79552
  ts.setCommentRange(updated, node);
79484
79553
  ts.setTextRange(updated, ts.moveRangePastModifiers(node));
@@ -79519,20 +79588,24 @@ var ts;
79519
79588
  var innerExpression = ts.skipOuterExpressions(node.expression, ~6);
79520
79589
  if (ts.isAssertionExpression(innerExpression)) {
79521
79590
  var expression = ts.visitNode(node.expression, visitor, ts.isExpression);
79591
+ ts.Debug.assert(expression);
79522
79592
  return factory.createPartiallyEmittedExpression(expression, node);
79523
79593
  }
79524
79594
  return ts.visitEachChild(node, visitor, context);
79525
79595
  }
79526
79596
  function visitAssertionExpression(node) {
79527
79597
  var expression = ts.visitNode(node.expression, visitor, ts.isExpression);
79598
+ ts.Debug.assert(expression);
79528
79599
  return factory.createPartiallyEmittedExpression(expression, node);
79529
79600
  }
79530
79601
  function visitNonNullExpression(node) {
79531
79602
  var expression = ts.visitNode(node.expression, visitor, ts.isLeftHandSideExpression);
79603
+ ts.Debug.assert(expression);
79532
79604
  return factory.createPartiallyEmittedExpression(expression, node);
79533
79605
  }
79534
79606
  function visitSatisfiesExpression(node) {
79535
79607
  var expression = ts.visitNode(node.expression, visitor, ts.isExpression);
79608
+ ts.Debug.assert(expression);
79536
79609
  return factory.createPartiallyEmittedExpression(expression, node);
79537
79610
  }
79538
79611
  function visitCallExpression(node) {
@@ -79542,7 +79615,7 @@ var ts;
79542
79615
  return factory.updateNewExpression(node, ts.visitNode(node.expression, visitor, ts.isExpression), undefined, ts.visitNodes(node.arguments, visitor, ts.isExpression));
79543
79616
  }
79544
79617
  function visitTaggedTemplateExpression(node) {
79545
- return factory.updateTaggedTemplateExpression(node, ts.visitNode(node.tag, visitor, ts.isExpression), undefined, ts.visitNode(node.template, visitor, ts.isExpression));
79618
+ return factory.updateTaggedTemplateExpression(node, ts.visitNode(node.tag, visitor, ts.isExpression), undefined, ts.visitNode(node.template, visitor, ts.isTemplateLiteral));
79546
79619
  }
79547
79620
  function visitJsxSelfClosingElement(node) {
79548
79621
  return factory.updateJsxSelfClosingElement(node, ts.visitNode(node.tagName, visitor, ts.isJsxTagNameExpression), undefined, ts.visitNode(node.attributes, visitor, ts.isJsxAttributes));
@@ -80019,9 +80092,10 @@ var ts;
80019
80092
  return ts.isPropertyAccessExpression(node) || ts.isElementAccessExpression(node) ? resolver.getConstantValue(node) : undefined;
80020
80093
  }
80021
80094
  function shouldEmitAliasDeclaration(node) {
80022
- return compilerOptions.preserveValueImports
80023
- ? resolver.isValueAliasDeclaration(node)
80024
- : resolver.isReferencedAliasDeclaration(node);
80095
+ return ts.isInJSFile(node) ||
80096
+ (compilerOptions.preserveValueImports
80097
+ ? resolver.isValueAliasDeclaration(node)
80098
+ : resolver.isReferencedAliasDeclaration(node));
80025
80099
  }
80026
80100
  }
80027
80101
  ts.transformTypeScript = transformTypeScript;
@@ -80196,6 +80270,7 @@ var ts;
80196
80270
  var info = accessPrivateIdentifier(node.left);
80197
80271
  if (info) {
80198
80272
  var receiver = ts.visitNode(node.right, visitor, ts.isExpression);
80273
+ ts.Debug.assert(receiver);
80199
80274
  return ts.setOriginalNode(context.getEmitHelperFactory().createClassPrivateFieldInHelper(info.brandCheckIdentifier, receiver), node);
80200
80275
  }
80201
80276
  return ts.visitEachChild(node, visitor, context);
@@ -80211,6 +80286,7 @@ var ts;
80211
80286
  }
80212
80287
  function visitComputedPropertyName(node) {
80213
80288
  var expression = ts.visitNode(node.expression, visitor, ts.isExpression);
80289
+ ts.Debug.assert(expression);
80214
80290
  if (ts.some(pendingExpressions)) {
80215
80291
  if (ts.isParenthesizedExpression(expression)) {
80216
80292
  expression = factory.updateParenthesizedExpression(expression, factory.inlineExpressions(__spreadArray(__spreadArray([], pendingExpressions, true), [expression.expression], false)));
@@ -80278,6 +80354,7 @@ var ts;
80278
80354
  var temp = factory.createTempVariable(hoistVariableDeclaration);
80279
80355
  ts.setSourceMapRange(temp, name.expression);
80280
80356
  var expression = ts.visitNode(name.expression, visitor, ts.isExpression);
80357
+ ts.Debug.assert(expression);
80281
80358
  var assignment = factory.createAssignment(temp, expression);
80282
80359
  ts.setSourceMapRange(assignment, name.expression);
80283
80360
  getterName = factory.updateComputedPropertyName(name, factory.inlineExpressions([assignment, temp]));
@@ -80410,6 +80487,7 @@ var ts;
80410
80487
  var info = void 0;
80411
80488
  if (info = accessPrivateIdentifier(operand.name)) {
80412
80489
  var receiver = ts.visitNode(operand.expression, visitor, ts.isExpression);
80490
+ ts.Debug.assert(receiver);
80413
80491
  var _a = createCopiableReceiverExpr(receiver), readExpression = _a.readExpression, initializeExpression = _a.initializeExpression;
80414
80492
  var expression = createPrivateIdentifierAccess(info, readExpression);
80415
80493
  var temp = ts.isPrefixUnaryExpression(node) || valueIsDiscarded ? undefined : factory.createTempVariable(hoistVariableDeclaration);
@@ -80580,14 +80658,17 @@ var ts;
80580
80658
  var superPropertyGet = factory.createReflectGetCall(superClassReference, getterName, classConstructor);
80581
80659
  ts.setOriginalNode(superPropertyGet, node.left);
80582
80660
  ts.setTextRange(superPropertyGet, node.left);
80661
+ ts.Debug.assert(expression);
80583
80662
  expression = factory.createBinaryExpression(superPropertyGet, ts.getNonAssignmentOperatorForCompoundAssignment(node.operatorToken.kind), expression);
80584
80663
  ts.setTextRange(expression, node);
80585
80664
  }
80586
80665
  var temp = valueIsDiscarded ? undefined : factory.createTempVariable(hoistVariableDeclaration);
80587
80666
  if (temp) {
80667
+ ts.Debug.assert(expression);
80588
80668
  expression = factory.createAssignment(temp, expression);
80589
80669
  ts.setTextRange(temp, node);
80590
80670
  }
80671
+ ts.Debug.assert(expression);
80591
80672
  expression = factory.createReflectSetCall(superClassReference, setterName, expression, classConstructor);
80592
80673
  ts.setOriginalNode(expression, node);
80593
80674
  ts.setTextRange(expression, node);
@@ -81220,6 +81301,7 @@ var ts;
81220
81301
  function getPropertyNameExpressionIfNeeded(name, shouldHoist) {
81221
81302
  if (ts.isComputedPropertyName(name)) {
81222
81303
  var expression = ts.visitNode(name.expression, visitor, ts.isExpression);
81304
+ ts.Debug.assert(expression);
81223
81305
  var innerExpression = ts.skipPartiallyEmittedExpressions(expression);
81224
81306
  var inlinable = ts.isSimpleInlineableExpression(innerExpression);
81225
81307
  var alreadyTransformed = ts.isAssignmentExpression(innerExpression) && ts.isGeneratedIdentifier(innerExpression.left);
@@ -82030,7 +82112,7 @@ var ts;
82030
82112
  return factory.updateClassExpression(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), node.name, undefined, ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause), ts.visitNodes(node.members, visitor, ts.isClassElement));
82031
82113
  }
82032
82114
  function visitConstructorDeclaration(node) {
82033
- return factory.updateConstructorDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), ts.visitNodes(node.parameters, visitor, ts.isParameterDeclaration), ts.visitNode(node.body, visitor, ts.isBlock));
82115
+ return factory.updateConstructorDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), ts.visitNodes(node.parameters, visitor, ts.isParameter), ts.visitNode(node.body, visitor, ts.isBlock));
82034
82116
  }
82035
82117
  function finishClassElement(updated, original) {
82036
82118
  if (updated !== original) {
@@ -82040,22 +82122,22 @@ var ts;
82040
82122
  return updated;
82041
82123
  }
82042
82124
  function visitMethodDeclaration(node) {
82043
- return finishClassElement(factory.updateMethodDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), node.asteriskToken, ts.visitNode(node.name, visitor, ts.isPropertyName), undefined, undefined, ts.visitNodes(node.parameters, visitor, ts.isParameterDeclaration), undefined, ts.visitNode(node.body, visitor, ts.isBlock)), node);
82125
+ return finishClassElement(factory.updateMethodDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), node.asteriskToken, ts.visitNode(node.name, visitor, ts.isPropertyName), undefined, undefined, ts.visitNodes(node.parameters, visitor, ts.isParameter), undefined, ts.visitNode(node.body, visitor, ts.isBlock)), node);
82044
82126
  }
82045
82127
  function visitGetAccessorDeclaration(node) {
82046
- return finishClassElement(factory.updateGetAccessorDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), ts.visitNode(node.name, visitor, ts.isPropertyName), ts.visitNodes(node.parameters, visitor, ts.isParameterDeclaration), undefined, ts.visitNode(node.body, visitor, ts.isBlock)), node);
82128
+ return finishClassElement(factory.updateGetAccessorDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), ts.visitNode(node.name, visitor, ts.isPropertyName), ts.visitNodes(node.parameters, visitor, ts.isParameter), undefined, ts.visitNode(node.body, visitor, ts.isBlock)), node);
82047
82129
  }
82048
82130
  function visitSetAccessorDeclaration(node) {
82049
- return finishClassElement(factory.updateSetAccessorDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), ts.visitNode(node.name, visitor, ts.isPropertyName), ts.visitNodes(node.parameters, visitor, ts.isParameterDeclaration), ts.visitNode(node.body, visitor, ts.isBlock)), node);
82131
+ return finishClassElement(factory.updateSetAccessorDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), ts.visitNode(node.name, visitor, ts.isPropertyName), ts.visitNodes(node.parameters, visitor, ts.isParameter), ts.visitNode(node.body, visitor, ts.isBlock)), node);
82050
82132
  }
82051
82133
  function visitPropertyDeclaration(node) {
82052
82134
  if (node.flags & 16777216 || ts.hasSyntacticModifier(node, 2)) {
82053
82135
  return undefined;
82054
82136
  }
82055
- return finishClassElement(factory.updatePropertyDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), ts.visitNode(node.name, visitor, ts.isPropertyName), undefined, undefined, ts.visitNode(node.initializer, visitor, ts.isExpression)), node);
82137
+ return finishClassElement(factory.updatePropertyDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), ts.Debug.checkDefined(ts.visitNode(node.name, visitor, ts.isPropertyName)), undefined, undefined, ts.visitNode(node.initializer, visitor, ts.isExpression)), node);
82056
82138
  }
82057
82139
  function visitParameterDeclaration(node) {
82058
- var updated = factory.updateParameterDeclaration(node, ts.elideNodes(factory, node.modifiers), node.dotDotDotToken, ts.visitNode(node.name, visitor, ts.isBindingName), undefined, undefined, ts.visitNode(node.initializer, visitor, ts.isExpression));
82140
+ var updated = factory.updateParameterDeclaration(node, ts.elideNodes(factory, node.modifiers), node.dotDotDotToken, ts.Debug.checkDefined(ts.visitNode(node.name, visitor, ts.isBindingName)), undefined, undefined, ts.visitNode(node.initializer, visitor, ts.isExpression));
82059
82141
  if (updated !== node) {
82060
82142
  ts.setCommentRange(updated, node);
82061
82143
  ts.setTextRange(updated, ts.moveRangePastModifiers(node));
@@ -82133,7 +82215,7 @@ var ts;
82133
82215
  return expression;
82134
82216
  }
82135
82217
  function transformDecorator(decorator) {
82136
- return ts.visitNode(decorator.expression, visitor, ts.isExpression);
82218
+ return ts.Debug.checkDefined(ts.visitNode(decorator.expression, visitor, ts.isExpression));
82137
82219
  }
82138
82220
  function transformDecoratorsOfParameter(decorators, parameterOffset) {
82139
82221
  var expressions;
@@ -82385,7 +82467,7 @@ var ts;
82385
82467
  : ts.visitNode(node.initializer, visitor, ts.isForInitializer), ts.visitNode(node.expression, visitor, ts.isExpression), ts.visitIterationBody(node.statement, asyncBodyVisitor, context));
82386
82468
  }
82387
82469
  function visitForOfStatementInAsyncBody(node) {
82388
- return factory.updateForOfStatement(node, ts.visitNode(node.awaitModifier, visitor, ts.isToken), isVariableDeclarationListWithCollidingName(node.initializer)
82470
+ return factory.updateForOfStatement(node, ts.visitNode(node.awaitModifier, visitor, ts.isAwaitKeyword), isVariableDeclarationListWithCollidingName(node.initializer)
82389
82471
  ? visitVariableDeclarationListWithCollidingNames(node.initializer, true)
82390
82472
  : ts.visitNode(node.initializer, visitor, ts.isForInitializer), ts.visitNode(node.expression, visitor, ts.isExpression), ts.visitIterationBody(node.statement, asyncBodyVisitor, context));
82391
82473
  }
@@ -82412,12 +82494,12 @@ var ts;
82412
82494
  : ts.visitFunctionBody(node.body, visitor, context));
82413
82495
  }
82414
82496
  function visitFunctionExpression(node) {
82415
- return factory.updateFunctionExpression(node, ts.visitNodes(node.modifiers, visitor, ts.isModifierLike), node.asteriskToken, node.name, undefined, ts.visitParameterList(node.parameters, visitor, context), undefined, ts.getFunctionFlags(node) & 2
82497
+ return factory.updateFunctionExpression(node, ts.visitNodes(node.modifiers, visitor, ts.isModifier), node.asteriskToken, node.name, undefined, ts.visitParameterList(node.parameters, visitor, context), undefined, ts.getFunctionFlags(node) & 2
82416
82498
  ? transformAsyncFunctionBody(node)
82417
82499
  : ts.visitFunctionBody(node.body, visitor, context));
82418
82500
  }
82419
82501
  function visitArrowFunction(node) {
82420
- return factory.updateArrowFunction(node, ts.visitNodes(node.modifiers, visitor, ts.isModifierLike), undefined, ts.visitParameterList(node.parameters, visitor, context), undefined, node.equalsGreaterThanToken, ts.getFunctionFlags(node) & 2
82502
+ return factory.updateArrowFunction(node, ts.visitNodes(node.modifiers, visitor, ts.isModifier), undefined, ts.visitParameterList(node.parameters, visitor, context), undefined, node.equalsGreaterThanToken, ts.getFunctionFlags(node) & 2
82421
82503
  ? transformAsyncFunctionBody(node)
82422
82504
  : ts.visitFunctionBody(node.body, visitor, context));
82423
82505
  }
@@ -82471,7 +82553,7 @@ var ts;
82471
82553
  }
82472
82554
  function transformInitializedVariable(node) {
82473
82555
  var converted = ts.setSourceMapRange(factory.createAssignment(factory.converters.convertToAssignmentElementTarget(node.name), node.initializer), node);
82474
- return ts.visitNode(converted, visitor, ts.isExpression);
82556
+ return ts.Debug.checkDefined(ts.visitNode(converted, visitor, ts.isExpression));
82475
82557
  }
82476
82558
  function collidesWithParameterName(_a) {
82477
82559
  var name = _a.name;
@@ -83163,7 +83245,7 @@ var ts;
83163
83245
  ? ts.visitNodes(node.modifiers, visitorNoAsyncModifier, ts.isModifierLike)
83164
83246
  : node.modifiers, enclosingFunctionFlags & 2
83165
83247
  ? undefined
83166
- : node.asteriskToken, ts.visitNode(node.name, visitor, ts.isPropertyName), ts.visitNode(undefined, visitor, ts.isToken), undefined, ts.visitParameterList(node.parameters, parameterVisitor, context), undefined, enclosingFunctionFlags & 2 && enclosingFunctionFlags & 1
83248
+ : node.asteriskToken, ts.visitNode(node.name, visitor, ts.isPropertyName), ts.visitNode(undefined, visitor, ts.isQuestionToken), undefined, ts.visitParameterList(node.parameters, parameterVisitor, context), undefined, enclosingFunctionFlags & 2 && enclosingFunctionFlags & 1
83167
83249
  ? transformAsyncGeneratorFunctionBody(node)
83168
83250
  : transformFunctionBody(node));
83169
83251
  enclosingFunctionFlags = savedEnclosingFunctionFlags;
@@ -83959,7 +84041,7 @@ var ts;
83959
84041
  return ts.singleOrUndefined(expressions) || emitHelpers().createAssignHelper(expressions);
83960
84042
  }
83961
84043
  function transformJsxSpreadAttributeToExpression(node) {
83962
- return ts.visitNode(node.expression, visitor, ts.isExpression);
84044
+ return ts.Debug.checkDefined(ts.visitNode(node.expression, visitor, ts.isExpression));
83963
84045
  }
83964
84046
  function transformJsxAttributeToObjectLiteralElement(node) {
83965
84047
  var name = getAttributeName(node);
@@ -85096,6 +85178,7 @@ var ts;
85096
85178
  var sourceMapRange = ts.getSourceMapRange(member);
85097
85179
  var memberFunction = transformFunctionLikeToExpression(member, member, undefined, container);
85098
85180
  var propertyName = ts.visitNode(member.name, visitor, ts.isPropertyName);
85181
+ ts.Debug.assert(propertyName);
85099
85182
  var e;
85100
85183
  if (!ts.isPrivateIdentifier(propertyName) && ts.getUseDefineForClassFields(context.getCompilerOptions())) {
85101
85184
  var name = ts.isComputedPropertyName(propertyName) ? propertyName.expression
@@ -85127,6 +85210,7 @@ var ts;
85127
85210
  ts.setEmitFlags(target, 1536 | 32);
85128
85211
  ts.setSourceMapRange(target, firstAccessor.name);
85129
85212
  var visitedAccessorName = ts.visitNode(firstAccessor.name, visitor, ts.isPropertyName);
85213
+ ts.Debug.assert(visitedAccessorName);
85130
85214
  if (ts.isPrivateIdentifier(visitedAccessorName)) {
85131
85215
  return ts.Debug.failBadSyntaxKind(visitedAccessorName, "Encountered unhandled private identifier while transforming ES2015.");
85132
85216
  }
@@ -85321,6 +85405,7 @@ var ts;
85321
85405
  var visited = ts.visitNode(element, i < node.elements.length - 1 ? visitorWithUnusedExpressionResult : visitor, ts.isExpression);
85322
85406
  if (result || visited !== element) {
85323
85407
  result || (result = node.elements.slice(0, i));
85408
+ ts.Debug.assert(visited);
85324
85409
  result.push(visited);
85325
85410
  }
85326
85411
  }
@@ -85373,6 +85458,7 @@ var ts;
85373
85458
  var declarations = ts.flatMap(node.declarations, node.flags & 1
85374
85459
  ? visitVariableDeclarationInLetDeclarationList
85375
85460
  : visitVariableDeclaration);
85461
+ ts.Debug.assertEachNode(declarations, ts.isVariableDeclaration);
85376
85462
  var declarationList = factory.createVariableDeclarationList(declarations);
85377
85463
  ts.setOriginalNode(declarationList, node);
85378
85464
  ts.setTextRange(declarationList, node);
@@ -85517,6 +85603,7 @@ var ts;
85517
85603
  }
85518
85604
  else {
85519
85605
  var statement = ts.visitNode(node.statement, visitor, ts.isStatement, factory.liftToBlock);
85606
+ ts.Debug.assert(statement);
85520
85607
  if (ts.isBlock(statement)) {
85521
85608
  return factory.updateBlock(statement, ts.setTextRange(factory.createNodeArray(ts.concatenate(statements, statement.statements)), statement.statements));
85522
85609
  }
@@ -85531,6 +85618,7 @@ var ts;
85531
85618
  }
85532
85619
  function convertForOfStatementForArray(node, outermostLabeledStatement, convertedLoopBodyStatements) {
85533
85620
  var expression = ts.visitNode(node.expression, visitor, ts.isExpression);
85621
+ ts.Debug.assert(expression);
85534
85622
  var counter = factory.createLoopVariable();
85535
85623
  var rhsReference = ts.isIdentifier(expression) ? factory.getGeneratedNameForNode(expression) : factory.createTempVariable(undefined);
85536
85624
  ts.setEmitFlags(expression, 48 | ts.getEmitFlags(expression));
@@ -85544,6 +85632,7 @@ var ts;
85544
85632
  }
85545
85633
  function convertForOfStatementForIterable(node, outermostLabeledStatement, convertedLoopBodyStatements, ancestorFacts) {
85546
85634
  var expression = ts.visitNode(node.expression, visitor, ts.isExpression);
85635
+ ts.Debug.assert(expression);
85547
85636
  var iterator = ts.isIdentifier(expression) ? factory.getGeneratedNameForNode(expression) : factory.createTempVariable(undefined);
85548
85637
  var result = ts.isIdentifier(expression) ? factory.getGeneratedNameForNode(iterator) : factory.createTempVariable(undefined);
85549
85638
  var errorRecord = factory.createUniqueName("e");
@@ -85838,6 +85927,7 @@ var ts;
85838
85927
  statements.push(factory.createIfStatement(factory.createPrefixUnaryExpression(53, ts.visitNode(node.condition, visitor, ts.isExpression)), ts.visitNode(factory.createBreakStatement(), visitor, ts.isStatement)));
85839
85928
  }
85840
85929
  }
85930
+ ts.Debug.assert(statement);
85841
85931
  if (ts.isBlock(statement)) {
85842
85932
  ts.addRange(statements, statement.statements);
85843
85933
  }
@@ -86222,7 +86312,9 @@ var ts;
86222
86312
  return ts.map(chunk, visitExpressionOfSpread);
86223
86313
  }
86224
86314
  function visitExpressionOfSpread(node) {
86315
+ ts.Debug.assertNode(node, ts.isSpreadElement);
86225
86316
  var expression = ts.visitNode(node.expression, visitor, ts.isExpression);
86317
+ ts.Debug.assert(expression);
86226
86318
  var isCallToReadHelper = ts.isCallToHelper(expression, "___read");
86227
86319
  var kind = isCallToReadHelper || ts.isPackedArrayLiteral(expression) ? 2 : 1;
86228
86320
  if (compilerOptions.downlevelIteration && kind === 1 && !ts.isArrayLiteralExpression(expression) && !isCallToReadHelper) {
@@ -86260,7 +86352,7 @@ var ts;
86260
86352
  var expression = factory.createStringLiteral(node.head.text);
86261
86353
  for (var _i = 0, _a = node.templateSpans; _i < _a.length; _i++) {
86262
86354
  var span = _a[_i];
86263
- var args = [ts.visitNode(span.expression, visitor, ts.isExpression)];
86355
+ var args = [ts.Debug.checkDefined(ts.visitNode(span.expression, visitor, ts.isExpression))];
86264
86356
  if (span.literal.text.length > 0) {
86265
86357
  args.push(factory.createStringLiteral(span.literal.text));
86266
86358
  }
@@ -86775,10 +86867,10 @@ var ts;
86775
86867
  var target = void 0;
86776
86868
  switch (left.kind) {
86777
86869
  case 208:
86778
- target = factory.updatePropertyAccessExpression(left, cacheExpression(ts.visitNode(left.expression, visitor, ts.isLeftHandSideExpression)), left.name);
86870
+ target = factory.updatePropertyAccessExpression(left, cacheExpression(ts.Debug.checkDefined(ts.visitNode(left.expression, visitor, ts.isLeftHandSideExpression))), left.name);
86779
86871
  break;
86780
86872
  case 209:
86781
- target = factory.updateElementAccessExpression(left, cacheExpression(ts.visitNode(left.expression, visitor, ts.isLeftHandSideExpression)), cacheExpression(ts.visitNode(left.argumentExpression, visitor, ts.isExpression)));
86873
+ target = factory.updateElementAccessExpression(left, cacheExpression(ts.Debug.checkDefined(ts.visitNode(left.expression, visitor, ts.isLeftHandSideExpression))), cacheExpression(ts.Debug.checkDefined(ts.visitNode(left.argumentExpression, visitor, ts.isExpression))));
86782
86874
  break;
86783
86875
  default:
86784
86876
  target = ts.visitNode(left, visitor, ts.isExpression);
@@ -86946,14 +87038,14 @@ var ts;
86946
87038
  }
86947
87039
  function visitElementAccessExpression(node) {
86948
87040
  if (containsYield(node.argumentExpression)) {
86949
- return factory.updateElementAccessExpression(node, cacheExpression(ts.visitNode(node.expression, visitor, ts.isLeftHandSideExpression)), ts.visitNode(node.argumentExpression, visitor, ts.isExpression));
87041
+ return factory.updateElementAccessExpression(node, cacheExpression(ts.Debug.checkDefined(ts.visitNode(node.expression, visitor, ts.isLeftHandSideExpression))), ts.visitNode(node.argumentExpression, visitor, ts.isExpression));
86950
87042
  }
86951
87043
  return ts.visitEachChild(node, visitor, context);
86952
87044
  }
86953
87045
  function visitCallExpression(node) {
86954
87046
  if (!ts.isImportCall(node) && ts.forEach(node.arguments, containsYield)) {
86955
87047
  var _a = factory.createCallBinding(node.expression, hoistVariableDeclaration, languageVersion, true), target = _a.target, thisArg = _a.thisArg;
86956
- return ts.setOriginalNode(ts.setTextRange(factory.createFunctionApplyCall(cacheExpression(ts.visitNode(target, visitor, ts.isLeftHandSideExpression)), thisArg, visitElements(node.arguments)), node), node);
87048
+ return ts.setOriginalNode(ts.setTextRange(factory.createFunctionApplyCall(cacheExpression(ts.Debug.checkDefined(ts.visitNode(target, visitor, ts.isLeftHandSideExpression))), thisArg, visitElements(node.arguments)), node), node);
86957
87049
  }
86958
87050
  return ts.visitEachChild(node, visitor, context);
86959
87051
  }
@@ -88306,7 +88398,7 @@ var ts;
88306
88398
  }
88307
88399
  function addExportEqualsIfNeeded(statements, emitAsReturn) {
88308
88400
  if (currentModuleInfo.exportEquals) {
88309
- var expressionResult = ts.visitNode(currentModuleInfo.exportEquals.expression, visitor);
88401
+ var expressionResult = ts.visitNode(currentModuleInfo.exportEquals.expression, visitor, ts.isExpression);
88310
88402
  if (expressionResult) {
88311
88403
  if (emitAsReturn) {
88312
88404
  var statement = factory.createReturnStatement(expressionResult);
@@ -88487,7 +88579,7 @@ var ts;
88487
88579
  }
88488
88580
  function visitImportCallExpression(node) {
88489
88581
  var externalModuleName = ts.getExternalModuleNameLiteral(factory, node, currentSourceFile, host, resolver, compilerOptions);
88490
- var firstArgument = ts.visitNode(ts.firstOrUndefined(node.arguments), visitor);
88582
+ var firstArgument = ts.visitNode(ts.firstOrUndefined(node.arguments), visitor, ts.isExpression);
88491
88583
  var argument = externalModuleName && (!firstArgument || !ts.isStringLiteral(firstArgument) || firstArgument.text !== externalModuleName.text) ? externalModuleName : firstArgument;
88492
88584
  var containsLexicalThis = !!(node.transformFlags & 16384);
88493
88585
  switch (compilerOptions.module) {
@@ -88703,7 +88795,7 @@ var ts;
88703
88795
  function visitFunctionDeclaration(node) {
88704
88796
  var statements;
88705
88797
  if (ts.hasSyntacticModifier(node, 1)) {
88706
- statements = ts.append(statements, ts.setOriginalNode(ts.setTextRange(factory.createFunctionDeclaration(ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), node.asteriskToken, factory.getDeclarationName(node, true, true), undefined, ts.visitNodes(node.parameters, visitor), undefined, ts.visitEachChild(node.body, visitor, context)), node), node));
88798
+ statements = ts.append(statements, ts.setOriginalNode(ts.setTextRange(factory.createFunctionDeclaration(ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), node.asteriskToken, factory.getDeclarationName(node, true, true), undefined, ts.visitNodes(node.parameters, visitor, ts.isParameter), undefined, ts.visitEachChild(node.body, visitor, context)), node), node));
88707
88799
  }
88708
88800
  else {
88709
88801
  statements = ts.append(statements, ts.visitEachChild(node, visitor, context));
@@ -88720,7 +88812,7 @@ var ts;
88720
88812
  function visitClassDeclaration(node) {
88721
88813
  var statements;
88722
88814
  if (ts.hasSyntacticModifier(node, 1)) {
88723
- statements = ts.append(statements, ts.setOriginalNode(ts.setTextRange(factory.createClassDeclaration(ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifierLike), factory.getDeclarationName(node, true, true), undefined, ts.visitNodes(node.heritageClauses, visitor), ts.visitNodes(node.members, visitor)), node), node));
88815
+ statements = ts.append(statements, ts.setOriginalNode(ts.setTextRange(factory.createClassDeclaration(ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifierLike), factory.getDeclarationName(node, true, true), undefined, ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause), ts.visitNodes(node.members, visitor, ts.isClassElement)), node), node));
88724
88816
  }
88725
88817
  else {
88726
88818
  statements = ts.append(statements, ts.visitEachChild(node, visitor, context));
@@ -88752,7 +88844,7 @@ var ts;
88752
88844
  else if (variable.initializer) {
88753
88845
  if (!ts.isBindingPattern(variable.name) && (ts.isArrowFunction(variable.initializer) || ts.isFunctionExpression(variable.initializer) || ts.isClassExpression(variable.initializer))) {
88754
88846
  var expression = factory.createAssignment(ts.setTextRange(factory.createPropertyAccessExpression(factory.createIdentifier("exports"), variable.name), variable.name), factory.createIdentifier(ts.getTextOfIdentifierOrLiteral(variable.name)));
88755
- var updatedVariable = factory.createVariableDeclaration(variable.name, variable.exclamationToken, variable.type, ts.visitNode(variable.initializer, visitor));
88847
+ var updatedVariable = factory.createVariableDeclaration(variable.name, variable.exclamationToken, variable.type, ts.visitNode(variable.initializer, visitor, ts.isExpression));
88756
88848
  variables = ts.append(variables, updatedVariable);
88757
88849
  expressions = ts.append(expressions, expression);
88758
88850
  removeCommentsOnExpressions = true;
@@ -89376,7 +89468,7 @@ var ts;
89376
89468
  }
89377
89469
  function visitFunctionDeclaration(node) {
89378
89470
  if (ts.hasSyntacticModifier(node, 1)) {
89379
- hoistedStatements = ts.append(hoistedStatements, factory.updateFunctionDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifierLike), node.asteriskToken, factory.getDeclarationName(node, true, true), undefined, ts.visitNodes(node.parameters, visitor, ts.isParameterDeclaration), undefined, ts.visitNode(node.body, visitor, ts.isBlock)));
89471
+ hoistedStatements = ts.append(hoistedStatements, factory.updateFunctionDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifierLike), node.asteriskToken, factory.getDeclarationName(node, true, true), undefined, ts.visitNodes(node.parameters, visitor, ts.isParameter), undefined, ts.visitNode(node.body, visitor, ts.isBlock)));
89380
89472
  }
89381
89473
  else {
89382
89474
  hoistedStatements = ts.append(hoistedStatements, ts.visitEachChild(node, visitor, context));
@@ -89692,7 +89784,7 @@ var ts;
89692
89784
  return expressions ? factory.inlineExpressions(expressions) : factory.createOmittedExpression();
89693
89785
  }
89694
89786
  else {
89695
- return ts.visitNode(node, discardedValueVisitor, ts.isExpression);
89787
+ return ts.visitNode(node, discardedValueVisitor, ts.isForInitializer);
89696
89788
  }
89697
89789
  }
89698
89790
  function visitDoStatement(node) {
@@ -89786,7 +89878,7 @@ var ts;
89786
89878
  }
89787
89879
  function visitImportCallExpression(node) {
89788
89880
  var externalModuleName = ts.getExternalModuleNameLiteral(factory, node, currentSourceFile, host, resolver, compilerOptions);
89789
- var firstArgument = ts.visitNode(ts.firstOrUndefined(node.arguments), visitor);
89881
+ var firstArgument = ts.visitNode(ts.firstOrUndefined(node.arguments), visitor, ts.isExpression);
89790
89882
  var argument = externalModuleName && (!firstArgument || !ts.isStringLiteral(firstArgument) || firstArgument.text !== externalModuleName.text) ? externalModuleName : firstArgument;
89791
89883
  return factory.createCallExpression(factory.createPropertyAccessExpression(contextObject, factory.createIdentifier("import")), undefined, argument ? [argument] : []);
89792
89884
  }
@@ -90862,12 +90954,12 @@ var ts;
90862
90954
  if (ts.isExternalOrCommonJsModule(sourceFile) || ts.isJsonSourceFile(sourceFile)) {
90863
90955
  resultHasExternalModuleIndicator = false;
90864
90956
  needsDeclare = false;
90865
- var statements = ts.isSourceFileJS(sourceFile) ? factory.createNodeArray(transformDeclarationsForJS(sourceFile, true)) : ts.visitNodes(sourceFile.statements, visitDeclarationStatements);
90957
+ var statements = ts.isSourceFileJS(sourceFile) ? factory.createNodeArray(transformDeclarationsForJS(sourceFile, true)) : ts.visitNodes(sourceFile.statements, visitDeclarationStatements, ts.isStatement);
90866
90958
  var newFile = factory.updateSourceFile(sourceFile, [factory.createModuleDeclaration([factory.createModifier(136)], factory.createStringLiteral(ts.getResolvedExternalModuleName(context.getEmitHost(), sourceFile)), factory.createModuleBlock(ts.setTextRange(factory.createNodeArray(transformAndReplaceLatePaintedStatements(statements)), sourceFile.statements)))], true, [], [], false, []);
90867
90959
  return newFile;
90868
90960
  }
90869
90961
  needsDeclare = true;
90870
- var updated = ts.isSourceFileJS(sourceFile) ? factory.createNodeArray(transformDeclarationsForJS(sourceFile)) : ts.visitNodes(sourceFile.statements, visitDeclarationStatements);
90962
+ var updated = ts.isSourceFileJS(sourceFile) ? factory.createNodeArray(transformDeclarationsForJS(sourceFile)) : ts.visitNodes(sourceFile.statements, visitDeclarationStatements, ts.isStatement);
90871
90963
  return factory.updateSourceFile(sourceFile, transformAndReplaceLatePaintedStatements(updated), true, [], [], false, []);
90872
90964
  }), ts.mapDefined(node.prepends, function (prepend) {
90873
90965
  if (prepend.kind === 311) {
@@ -90913,7 +91005,7 @@ var ts;
90913
91005
  emittedImports = ts.filter(combinedStatements, ts.isAnyImportSyntax);
90914
91006
  }
90915
91007
  else {
90916
- var statements = ts.visitNodes(node.statements, visitDeclarationStatements);
91008
+ var statements = ts.visitNodes(node.statements, visitDeclarationStatements, ts.isStatement);
90917
91009
  combinedStatements = ts.setTextRange(factory.createNodeArray(transformAndReplaceLatePaintedStatements(statements)), node.statements);
90918
91010
  refs.forEach(referenceVisitor);
90919
91011
  emittedImports = ts.filter(combinedStatements, ts.isAnyImportSyntax);
@@ -91004,10 +91096,10 @@ var ts;
91004
91096
  }
91005
91097
  else {
91006
91098
  if (name.kind === 204) {
91007
- return factory.updateArrayBindingPattern(name, ts.visitNodes(name.elements, visitBindingElement));
91099
+ return factory.updateArrayBindingPattern(name, ts.visitNodes(name.elements, visitBindingElement, ts.isArrayBindingElement));
91008
91100
  }
91009
91101
  else {
91010
- return factory.updateObjectBindingPattern(name, ts.visitNodes(name.elements, visitBindingElement));
91102
+ return factory.updateObjectBindingPattern(name, ts.visitNodes(name.elements, visitBindingElement, ts.isBindingElement));
91011
91103
  }
91012
91104
  }
91013
91105
  function visitBindingElement(elem) {
@@ -91052,10 +91144,10 @@ var ts;
91052
91144
  (resolver.isRequiredInitializedParameter(node) ||
91053
91145
  resolver.isOptionalUninitializedParameterProperty(node));
91054
91146
  if (type && !shouldUseResolverType) {
91055
- return ts.visitNode(type, visitDeclarationSubtree);
91147
+ return ts.visitNode(type, visitDeclarationSubtree, ts.isTypeNode);
91056
91148
  }
91057
91149
  if (!ts.getParseTreeNode(node)) {
91058
- return type ? ts.visitNode(type, visitDeclarationSubtree) : factory.createKeywordTypeNode(131);
91150
+ return type ? ts.visitNode(type, visitDeclarationSubtree, ts.isTypeNode) : factory.createKeywordTypeNode(131);
91059
91151
  }
91060
91152
  if (node.kind === 175) {
91061
91153
  return factory.createKeywordTypeNode(131);
@@ -91161,7 +91253,7 @@ var ts;
91161
91253
  return factory.createNodeArray(newParams || ts.emptyArray);
91162
91254
  }
91163
91255
  function ensureTypeParams(node, params) {
91164
- return ts.hasEffectiveModifier(node, 8) ? undefined : ts.visitNodes(params, visitDeclarationSubtree);
91256
+ return ts.hasEffectiveModifier(node, 8) ? undefined : ts.visitNodes(params, visitDeclarationSubtree, ts.isTypeParameterDeclaration);
91165
91257
  }
91166
91258
  function isEnclosingDeclaration(node) {
91167
91259
  return ts.isSourceFile(node)
@@ -91267,6 +91359,7 @@ var ts;
91267
91359
  var key = ts.getOriginalNodeId(statement);
91268
91360
  if (lateStatementReplacementMap.has(key)) {
91269
91361
  var result = lateStatementReplacementMap.get(key);
91362
+ ts.Debug.type(result);
91270
91363
  lateStatementReplacementMap.delete(key);
91271
91364
  if (result) {
91272
91365
  if (ts.isArray(result) ? ts.some(result, ts.needsScopeMarker) : ts.needsScopeMarker(result)) {
@@ -91398,13 +91491,17 @@ var ts;
91398
91491
  return cleanup(ts.visitEachChild(input, visitDeclarationSubtree, context));
91399
91492
  }
91400
91493
  case 191: {
91401
- var checkType = ts.visitNode(input.checkType, visitDeclarationSubtree);
91402
- var extendsType = ts.visitNode(input.extendsType, visitDeclarationSubtree);
91494
+ var checkType = ts.visitNode(input.checkType, visitDeclarationSubtree, ts.isTypeNode);
91495
+ var extendsType = ts.visitNode(input.extendsType, visitDeclarationSubtree, ts.isTypeNode);
91403
91496
  var oldEnclosingDecl = enclosingDeclaration;
91404
91497
  enclosingDeclaration = input.trueType;
91405
- var trueType = ts.visitNode(input.trueType, visitDeclarationSubtree);
91498
+ var trueType = ts.visitNode(input.trueType, visitDeclarationSubtree, ts.isTypeNode);
91406
91499
  enclosingDeclaration = oldEnclosingDecl;
91407
- var falseType = ts.visitNode(input.falseType, visitDeclarationSubtree);
91500
+ var falseType = ts.visitNode(input.falseType, visitDeclarationSubtree, ts.isTypeNode);
91501
+ ts.Debug.assert(checkType);
91502
+ ts.Debug.assert(extendsType);
91503
+ ts.Debug.assert(trueType);
91504
+ ts.Debug.assert(falseType);
91408
91505
  return cleanup(factory.updateConditionalTypeNode(input, checkType, extendsType, trueType, falseType));
91409
91506
  }
91410
91507
  case 181: {
@@ -91534,7 +91631,7 @@ var ts;
91534
91631
  return clean;
91535
91632
  }
91536
91633
  case 261: {
91537
- return cleanup(factory.updateInterfaceDeclaration(input, ensureModifiers(input), input.name, ensureTypeParams(input, input.typeParameters), transformHeritageClauses(input.heritageClauses), ts.visitNodes(input.members, visitDeclarationSubtree)));
91634
+ return cleanup(factory.updateInterfaceDeclaration(input, ensureModifiers(input), input.name, ensureTypeParams(input, input.typeParameters), transformHeritageClauses(input.heritageClauses), ts.visitNodes(input.members, visitDeclarationSubtree, ts.isTypeElement)));
91538
91635
  }
91539
91636
  case 259: {
91540
91637
  var clean = cleanup(factory.updateFunctionDeclaration(input, ensureModifiers(input), undefined, input.name, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type), undefined));
@@ -91596,7 +91693,7 @@ var ts;
91596
91693
  var oldHasScopeFix = resultHasScopeMarker;
91597
91694
  resultHasScopeMarker = false;
91598
91695
  needsScopeFixMarker = false;
91599
- var statements = ts.visitNodes(inner.statements, visitDeclarationStatements);
91696
+ var statements = ts.visitNodes(inner.statements, visitDeclarationStatements, ts.isStatement);
91600
91697
  var lateStatements = transformAndReplaceLatePaintedStatements(statements);
91601
91698
  if (input.flags & 16777216) {
91602
91699
  needsScopeFixMarker = false;
@@ -91667,7 +91764,7 @@ var ts;
91667
91764
  var privateIdentifier = hasPrivateIdentifier ? [
91668
91765
  factory.createPropertyDeclaration(undefined, factory.createPrivateIdentifier("#private"), undefined, undefined, undefined)
91669
91766
  ] : undefined;
91670
- var memberNodes = ts.concatenate(ts.concatenate(privateIdentifier, parameterProperties), ts.visitNodes(input.members, visitDeclarationSubtree));
91767
+ var memberNodes = ts.concatenate(ts.concatenate(privateIdentifier, parameterProperties), ts.visitNodes(input.members, visitDeclarationSubtree, ts.isClassElement));
91671
91768
  var members = factory.createNodeArray(memberNodes);
91672
91769
  var extendsClause_1 = ts.getEffectiveBaseTypeNode(input);
91673
91770
  if (extendsClause_1 && !ts.isEntityNameExpression(extendsClause_1.expression) && extendsClause_1.expression.kind !== 104) {
@@ -91684,11 +91781,11 @@ var ts;
91684
91781
  if (clause.token === 94) {
91685
91782
  var oldDiag_2 = getSymbolAccessibilityDiagnostic;
91686
91783
  getSymbolAccessibilityDiagnostic = ts.createGetSymbolAccessibilityDiagnosticForNode(clause.types[0]);
91687
- var newClause = factory.updateHeritageClause(clause, ts.map(clause.types, function (t) { return factory.updateExpressionWithTypeArguments(t, newId_1, ts.visitNodes(t.typeArguments, visitDeclarationSubtree)); }));
91784
+ var newClause = factory.updateHeritageClause(clause, ts.map(clause.types, function (t) { return factory.updateExpressionWithTypeArguments(t, newId_1, ts.visitNodes(t.typeArguments, visitDeclarationSubtree, ts.isTypeNode)); }));
91688
91785
  getSymbolAccessibilityDiagnostic = oldDiag_2;
91689
91786
  return newClause;
91690
91787
  }
91691
- return factory.updateHeritageClause(clause, ts.visitNodes(factory.createNodeArray(ts.filter(clause.types, function (t) { return ts.isEntityNameExpression(t.expression) || t.expression.kind === 104; })), visitDeclarationSubtree));
91788
+ return factory.updateHeritageClause(clause, ts.visitNodes(factory.createNodeArray(ts.filter(clause.types, function (t) { return ts.isEntityNameExpression(t.expression) || t.expression.kind === 104; })), visitDeclarationSubtree, ts.isExpressionWithTypeArguments));
91692
91789
  }));
91693
91790
  return [statement, cleanup(factory.updateClassDeclaration(input, modifiers, input.name, typeParameters, heritageClauses, members))];
91694
91791
  }
@@ -91731,7 +91828,7 @@ var ts;
91731
91828
  function transformVariableStatement(input) {
91732
91829
  if (!ts.forEach(input.declarationList.declarations, getBindingNameVisible))
91733
91830
  return;
91734
- var nodes = ts.visitNodes(input.declarationList.declarations, visitDeclarationSubtree);
91831
+ var nodes = ts.visitNodes(input.declarationList.declarations, visitDeclarationSubtree, ts.isVariableDeclaration);
91735
91832
  if (!ts.length(nodes))
91736
91833
  return;
91737
91834
  return factory.updateVariableStatement(input, factory.createNodeArray(ensureModifiers(input)), factory.updateVariableDeclarationList(input.declarationList, nodes));
@@ -91812,7 +91909,7 @@ var ts;
91812
91909
  function transformHeritageClauses(nodes) {
91813
91910
  return factory.createNodeArray(ts.filter(ts.map(nodes, function (clause) { return factory.updateHeritageClause(clause, ts.visitNodes(factory.createNodeArray(ts.filter(clause.types, function (t) {
91814
91911
  return ts.isEntityNameExpression(t.expression) || (clause.token === 94 && t.expression.kind === 104);
91815
- })), visitDeclarationSubtree)); }), function (clause) { return clause.types && !!clause.types.length; }));
91912
+ })), visitDeclarationSubtree, ts.isExpressionWithTypeArguments)); }), function (clause) { return clause.types && !!clause.types.length; }));
91816
91913
  }
91817
91914
  }
91818
91915
  ts.transformDeclarations = transformDeclarations;
@@ -104061,6 +104158,9 @@ var ts;
104061
104158
  return "".concat(errorDiagnostic.file.fileName);
104062
104159
  });
104063
104160
  return filesInError.map(function (fileName) {
104161
+ if (fileName === undefined) {
104162
+ return undefined;
104163
+ }
104064
104164
  var diagnosticForFileName = ts.find(diagnostics, function (diagnostic) {
104065
104165
  return diagnostic.file !== undefined && diagnostic.file.fileName === fileName;
104066
104166
  });
@@ -104655,6 +104755,8 @@ var ts;
104655
104755
  parseConfigFile();
104656
104756
  newLine = updateNewLine();
104657
104757
  }
104758
+ ts.Debug.assert(compilerOptions);
104759
+ ts.Debug.assert(rootFileNames);
104658
104760
  var _b = ts.createWatchFactory(host, compilerOptions), watchFile = _b.watchFile, watchDirectory = _b.watchDirectory, writeLog = _b.writeLog;
104659
104761
  var getCanonicalFileName = ts.createGetCanonicalFileName(useCaseSensitiveFileNames);
104660
104762
  writeLog("Current directory: ".concat(currentDirectory, " CaseSensitiveFileNames: ").concat(useCaseSensitiveFileNames));
@@ -104771,6 +104873,8 @@ var ts;
104771
104873
  }
104772
104874
  function synchronizeProgram() {
104773
104875
  writeLog("Synchronizing program");
104876
+ ts.Debug.assert(compilerOptions);
104877
+ ts.Debug.assert(rootFileNames);
104774
104878
  clearInvalidateResolutionsOfFailedLookupLocations();
104775
104879
  var program = getCurrentBuilderProgram();
104776
104880
  if (hasChangedCompilerOptions) {
@@ -104996,6 +105100,8 @@ var ts;
104996
105100
  }
104997
105101
  function reloadFileNamesFromConfigFile() {
104998
105102
  writeLog("Reloading new file names and options");
105103
+ ts.Debug.assert(compilerOptions);
105104
+ ts.Debug.assert(configFileName);
104999
105105
  reloadLevel = ts.ConfigFileProgramReloadLevel.None;
105000
105106
  rootFileNames = ts.getFileNamesFromConfigSpecs(compilerOptions.configFile.configFileSpecs, ts.getNormalizedAbsolutePath(ts.getDirectoryPath(configFileName), currentDirectory), compilerOptions, parseConfigFileHost, extraFileExtensions);
105001
105107
  if (ts.updateErrorForNoInputFiles(rootFileNames, ts.getNormalizedAbsolutePath(configFileName, currentDirectory), compilerOptions.configFile.configFileSpecs, configFileParsingDiagnostics, canConfigFileJsonReportNoInputFiles)) {
@@ -105004,6 +105110,7 @@ var ts;
105004
105110
  synchronizeProgram();
105005
105111
  }
105006
105112
  function reloadConfigFile() {
105113
+ ts.Debug.assert(configFileName);
105007
105114
  writeLog("Reloading config file: ".concat(configFileName));
105008
105115
  reloadLevel = ts.ConfigFileProgramReloadLevel.None;
105009
105116
  if (cachedDirectoryStructureHost) {
@@ -105016,6 +105123,7 @@ var ts;
105016
105123
  updateExtendedConfigFilesWatches(toPath(configFileName), compilerOptions, watchOptions, ts.WatchType.ExtendedConfigFile);
105017
105124
  }
105018
105125
  function parseConfigFile() {
105126
+ ts.Debug.assert(configFileName);
105019
105127
  setConfigFileParsingResult(ts.getParsedCommandLineOfConfigFile(configFileName, optionsToExtendForConfigFile, parseConfigFileHost, extendedConfigCache || (extendedConfigCache = new ts.Map()), watchOptionsToExtend, extraFileExtensions));
105020
105128
  }
105021
105129
  function setConfigFileParsingResult(configFileParseResult) {
@@ -105036,6 +105144,7 @@ var ts;
105036
105144
  return config.parsedCommandLine;
105037
105145
  if (config.parsedCommandLine && config.reloadLevel === ts.ConfigFileProgramReloadLevel.Partial && !host.getParsedCommandLine) {
105038
105146
  writeLog("Reloading new file names and options");
105147
+ ts.Debug.assert(compilerOptions);
105039
105148
  var fileNames = ts.getFileNamesFromConfigSpecs(config.parsedCommandLine.options.configFile.configFileSpecs, ts.getNormalizedAbsolutePath(ts.getDirectoryPath(configFileName), currentDirectory), compilerOptions, parseConfigFileHost);
105040
105149
  config.parsedCommandLine = __assign(__assign({}, config.parsedCommandLine), { fileNames: fileNames });
105041
105150
  config.reloadLevel = undefined;
@@ -105115,7 +105224,8 @@ var ts;
105115
105224
  }
105116
105225
  function watchWildcardDirectory(directory, flags) {
105117
105226
  return watchDirectory(directory, function (fileOrDirectory) {
105118
- ts.Debug.assert(!!configFileName);
105227
+ ts.Debug.assert(configFileName);
105228
+ ts.Debug.assert(compilerOptions);
105119
105229
  var fileOrDirectoryPath = toPath(fileOrDirectory);
105120
105230
  if (cachedDirectoryStructureHost) {
105121
105231
  cachedDirectoryStructureHost.addOrDeleteFileOrDirectory(fileOrDirectory, fileOrDirectoryPath);
@@ -105142,6 +105252,7 @@ var ts;
105142
105252
  }, flags, watchOptions, ts.WatchType.WildcardDirectory);
105143
105253
  }
105144
105254
  function updateExtendedConfigFilesWatches(forProjectPath, options, watchOptions, watchType) {
105255
+ ts.Debug.assert(configFileName);
105145
105256
  ts.updateSharedExtendedConfigFileWatcher(forProjectPath, options, sharedExtendedConfigFileWatchers || (sharedExtendedConfigFileWatchers = new ts.Map()), function (extendedConfigFileName, extendedConfigFilePath) { return watchFile(extendedConfigFileName, function (_fileName, eventKind) {
105146
105257
  var _a;
105147
105258
  updateCachedSystemWithFile(extendedConfigFileName, extendedConfigFilePath, eventKind);