typescript 5.0.0-dev.20230117 → 5.0.0-dev.20230119

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.
@@ -54,7 +54,7 @@ var path = __toESM(require("path"));
54
54
 
55
55
  // src/compiler/corePublic.ts
56
56
  var versionMajorMinor = "5.0";
57
- var version = `${versionMajorMinor}.0-dev.20230117`;
57
+ var version = `${versionMajorMinor}.0-dev.20230119`;
58
58
 
59
59
  // src/compiler/core.ts
60
60
  var emptyArray = [];
@@ -2966,14 +2966,15 @@ var SyntaxKind = /* @__PURE__ */ ((SyntaxKind4) => {
2966
2966
  SyntaxKind4[SyntaxKind4["JSDocSeeTag"] = 350] = "JSDocSeeTag";
2967
2967
  SyntaxKind4[SyntaxKind4["JSDocPropertyTag"] = 351] = "JSDocPropertyTag";
2968
2968
  SyntaxKind4[SyntaxKind4["JSDocThrowsTag"] = 352] = "JSDocThrowsTag";
2969
- SyntaxKind4[SyntaxKind4["SyntaxList"] = 353] = "SyntaxList";
2970
- SyntaxKind4[SyntaxKind4["NotEmittedStatement"] = 354] = "NotEmittedStatement";
2971
- SyntaxKind4[SyntaxKind4["PartiallyEmittedExpression"] = 355] = "PartiallyEmittedExpression";
2972
- SyntaxKind4[SyntaxKind4["CommaListExpression"] = 356] = "CommaListExpression";
2973
- SyntaxKind4[SyntaxKind4["MergeDeclarationMarker"] = 357] = "MergeDeclarationMarker";
2974
- SyntaxKind4[SyntaxKind4["EndOfDeclarationMarker"] = 358] = "EndOfDeclarationMarker";
2975
- SyntaxKind4[SyntaxKind4["SyntheticReferenceExpression"] = 359] = "SyntheticReferenceExpression";
2976
- SyntaxKind4[SyntaxKind4["Count"] = 360] = "Count";
2969
+ SyntaxKind4[SyntaxKind4["JSDocSatisfiesTag"] = 353] = "JSDocSatisfiesTag";
2970
+ SyntaxKind4[SyntaxKind4["SyntaxList"] = 354] = "SyntaxList";
2971
+ SyntaxKind4[SyntaxKind4["NotEmittedStatement"] = 355] = "NotEmittedStatement";
2972
+ SyntaxKind4[SyntaxKind4["PartiallyEmittedExpression"] = 356] = "PartiallyEmittedExpression";
2973
+ SyntaxKind4[SyntaxKind4["CommaListExpression"] = 357] = "CommaListExpression";
2974
+ SyntaxKind4[SyntaxKind4["MergeDeclarationMarker"] = 358] = "MergeDeclarationMarker";
2975
+ SyntaxKind4[SyntaxKind4["EndOfDeclarationMarker"] = 359] = "EndOfDeclarationMarker";
2976
+ SyntaxKind4[SyntaxKind4["SyntheticReferenceExpression"] = 360] = "SyntheticReferenceExpression";
2977
+ SyntaxKind4[SyntaxKind4["Count"] = 361] = "Count";
2977
2978
  SyntaxKind4[SyntaxKind4["FirstAssignment"] = 63 /* EqualsToken */] = "FirstAssignment";
2978
2979
  SyntaxKind4[SyntaxKind4["LastAssignment"] = 78 /* CaretEqualsToken */] = "LastAssignment";
2979
2980
  SyntaxKind4[SyntaxKind4["FirstCompoundAssignment"] = 64 /* PlusEqualsToken */] = "FirstCompoundAssignment";
@@ -3002,9 +3003,9 @@ var SyntaxKind = /* @__PURE__ */ ((SyntaxKind4) => {
3002
3003
  SyntaxKind4[SyntaxKind4["LastStatement"] = 256 /* DebuggerStatement */] = "LastStatement";
3003
3004
  SyntaxKind4[SyntaxKind4["FirstNode"] = 163 /* QualifiedName */] = "FirstNode";
3004
3005
  SyntaxKind4[SyntaxKind4["FirstJSDocNode"] = 312 /* JSDocTypeExpression */] = "FirstJSDocNode";
3005
- SyntaxKind4[SyntaxKind4["LastJSDocNode"] = 352 /* JSDocThrowsTag */] = "LastJSDocNode";
3006
+ SyntaxKind4[SyntaxKind4["LastJSDocNode"] = 353 /* JSDocSatisfiesTag */] = "LastJSDocNode";
3006
3007
  SyntaxKind4[SyntaxKind4["FirstJSDocTagNode"] = 330 /* JSDocTag */] = "FirstJSDocTagNode";
3007
- SyntaxKind4[SyntaxKind4["LastJSDocTagNode"] = 352 /* JSDocThrowsTag */] = "LastJSDocTagNode";
3008
+ SyntaxKind4[SyntaxKind4["LastJSDocTagNode"] = 353 /* JSDocSatisfiesTag */] = "LastJSDocTagNode";
3008
3009
  SyntaxKind4[SyntaxKind4["FirstContextualKeyword"] = 126 /* AbstractKeyword */] = "FirstContextualKeyword";
3009
3010
  SyntaxKind4[SyntaxKind4["LastContextualKeyword"] = 162 /* OfKeyword */] = "LastContextualKeyword";
3010
3011
  return SyntaxKind4;
@@ -6301,7 +6302,7 @@ var Diagnostics = {
6301
6302
  Compiler_option_0_may_only_be_used_with_build: diag(5093, 1 /* Error */, "Compiler_option_0_may_only_be_used_with_build_5093", "Compiler option '--{0}' may only be used with '--build'."),
6302
6303
  Compiler_option_0_may_not_be_used_with_build: diag(5094, 1 /* Error */, "Compiler_option_0_may_not_be_used_with_build_5094", "Compiler option '--{0}' may not be used with '--build'."),
6303
6304
  Option_preserveValueImports_can_only_be_used_when_module_is_set_to_es2015_or_later: diag(5095, 1 /* Error */, "Option_preserveValueImports_can_only_be_used_when_module_is_set_to_es2015_or_later_5095", "Option 'preserveValueImports' can only be used when 'module' is set to 'es2015' or later."),
6304
- Option_allowImportingTsExtensions_can_only_be_used_when_moduleResolution_is_set_to_bundler_and_either_noEmit_or_emitDeclarationOnly_is_set: diag(5096, 1 /* Error */, "Option_allowImportingTsExtensions_can_only_be_used_when_moduleResolution_is_set_to_bundler_and_eithe_5096", "Option 'allowImportingTsExtensions' can only be used when 'moduleResolution' is set to 'bundler' and either 'noEmit' or 'emitDeclarationOnly' is set."),
6305
+ Option_allowImportingTsExtensions_can_only_be_used_when_either_noEmit_or_emitDeclarationOnly_is_set: diag(5096, 1 /* Error */, "Option_allowImportingTsExtensions_can_only_be_used_when_either_noEmit_or_emitDeclarationOnly_is_set_5096", "Option 'allowImportingTsExtensions' can only be used when either 'noEmit' or 'emitDeclarationOnly' is set."),
6305
6306
  An_import_path_can_only_end_with_a_0_extension_when_allowImportingTsExtensions_is_enabled: diag(5097, 1 /* Error */, "An_import_path_can_only_end_with_a_0_extension_when_allowImportingTsExtensions_is_enabled_5097", "An import path can only end with a '{0}' extension when 'allowImportingTsExtensions' is enabled."),
6306
6307
  Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler: diag(5098, 1 /* Error */, "Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler_5098", "Option '{0}' can only be used when 'moduleResolution' is set to 'node16', 'nodenext', or 'bundler'."),
6307
6308
  Import_assignment_is_not_allowed_when_moduleResolution_is_set_to_bundler_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead: diag(5099, 1 /* Error */, "Import_assignment_is_not_allowed_when_moduleResolution_is_set_to_bundler_Consider_using_import_Aster_5099", `Import assignment is not allowed when 'moduleResolution' is set to 'bundler'. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead.`),
@@ -7223,7 +7224,8 @@ var Diagnostics = {
7223
7224
  _0_is_possibly_null: diag(18047, 1 /* Error */, "_0_is_possibly_null_18047", "'{0}' is possibly 'null'."),
7224
7225
  _0_is_possibly_undefined: diag(18048, 1 /* Error */, "_0_is_possibly_undefined_18048", "'{0}' is possibly 'undefined'."),
7225
7226
  _0_is_possibly_null_or_undefined: diag(18049, 1 /* Error */, "_0_is_possibly_null_or_undefined_18049", "'{0}' is possibly 'null' or 'undefined'."),
7226
- The_value_0_cannot_be_used_here: diag(18050, 1 /* Error */, "The_value_0_cannot_be_used_here_18050", "The value '{0}' cannot be used here.")
7227
+ The_value_0_cannot_be_used_here: diag(18050, 1 /* Error */, "The_value_0_cannot_be_used_here_18050", "The value '{0}' cannot be used here."),
7228
+ Compiler_option_0_cannot_be_given_an_empty_string: diag(18051, 1 /* Error */, "Compiler_option_0_cannot_be_given_an_empty_string_18051", "Compiler option '{0}' cannot be given an empty string.")
7227
7229
  };
7228
7230
 
7229
7231
  // src/compiler/scanner.ts
@@ -7756,10 +7758,7 @@ function reduceEachTrailingCommentRange(text, pos, cb, state, initial) {
7756
7758
  initial
7757
7759
  );
7758
7760
  }
7759
- function appendCommentRange(pos, end, kind, hasTrailingNewLine, _state, comments) {
7760
- if (!comments) {
7761
- comments = [];
7762
- }
7761
+ function appendCommentRange(pos, end, kind, hasTrailingNewLine, _state, comments = []) {
7763
7762
  comments.push({ kind, pos, end, hasTrailingNewLine });
7764
7763
  return comments;
7765
7764
  }
@@ -9702,18 +9701,15 @@ function isNamedExportBindings(node) {
9702
9701
  function isNodeKind(kind) {
9703
9702
  return kind >= 163 /* FirstNode */;
9704
9703
  }
9705
- function isTokenKind(kind) {
9706
- return kind >= 0 /* FirstToken */ && kind <= 162 /* LastToken */;
9707
- }
9708
- function isToken(n) {
9709
- return isTokenKind(n.kind);
9710
- }
9711
9704
  function isNodeArray(array) {
9712
9705
  return hasProperty(array, "pos") && hasProperty(array, "end");
9713
9706
  }
9714
9707
  function isLiteralKind(kind) {
9715
9708
  return 8 /* FirstLiteralToken */ <= kind && kind <= 14 /* LastLiteralToken */;
9716
9709
  }
9710
+ function isLiteralExpression(node) {
9711
+ return isLiteralKind(node.kind);
9712
+ }
9717
9713
  function isTemplateLiteralKind(kind) {
9718
9714
  return 14 /* FirstTemplateToken */ <= kind && kind <= 17 /* LastTemplateToken */;
9719
9715
  }
@@ -9945,6 +9941,18 @@ function isUnaryExpressionKind(kind) {
9945
9941
  return isLeftHandSideExpressionKind(kind);
9946
9942
  }
9947
9943
  }
9944
+ function isLiteralTypeLiteral(node) {
9945
+ node = skipPartiallyEmittedExpressions(node);
9946
+ switch (skipPartiallyEmittedExpressions(node).kind) {
9947
+ case 104 /* NullKeyword */:
9948
+ case 110 /* TrueKeyword */:
9949
+ case 95 /* FalseKeyword */:
9950
+ case 221 /* PrefixUnaryExpression */:
9951
+ return true;
9952
+ default:
9953
+ return isLiteralExpression(node);
9954
+ }
9955
+ }
9948
9956
  function isExpression(node) {
9949
9957
  return isExpressionKind(skipPartiallyEmittedExpressions(node).kind);
9950
9958
  }
@@ -9957,8 +9965,8 @@ function isExpressionKind(kind) {
9957
9965
  case 227 /* SpreadElement */:
9958
9966
  case 231 /* AsExpression */:
9959
9967
  case 229 /* OmittedExpression */:
9960
- case 356 /* CommaListExpression */:
9961
- case 355 /* PartiallyEmittedExpression */:
9968
+ case 357 /* CommaListExpression */:
9969
+ case 356 /* PartiallyEmittedExpression */:
9962
9970
  case 235 /* SatisfiesExpression */:
9963
9971
  return true;
9964
9972
  default:
@@ -10097,7 +10105,7 @@ function isDeclarationStatementKind(kind) {
10097
10105
  return kind === 259 /* FunctionDeclaration */ || kind === 279 /* MissingDeclaration */ || kind === 260 /* ClassDeclaration */ || kind === 261 /* InterfaceDeclaration */ || kind === 262 /* TypeAliasDeclaration */ || kind === 263 /* EnumDeclaration */ || kind === 264 /* ModuleDeclaration */ || kind === 269 /* ImportDeclaration */ || kind === 268 /* ImportEqualsDeclaration */ || kind === 275 /* ExportDeclaration */ || kind === 274 /* ExportAssignment */ || kind === 267 /* NamespaceExportDeclaration */;
10098
10106
  }
10099
10107
  function isStatementKindButNotDeclarationKind(kind) {
10100
- return kind === 249 /* BreakStatement */ || kind === 248 /* ContinueStatement */ || kind === 256 /* DebuggerStatement */ || kind === 243 /* DoStatement */ || kind === 241 /* ExpressionStatement */ || kind === 239 /* EmptyStatement */ || kind === 246 /* ForInStatement */ || kind === 247 /* ForOfStatement */ || kind === 245 /* ForStatement */ || kind === 242 /* IfStatement */ || kind === 253 /* LabeledStatement */ || kind === 250 /* ReturnStatement */ || kind === 252 /* SwitchStatement */ || kind === 254 /* ThrowStatement */ || kind === 255 /* TryStatement */ || kind === 240 /* VariableStatement */ || kind === 244 /* WhileStatement */ || kind === 251 /* WithStatement */ || kind === 354 /* NotEmittedStatement */ || kind === 358 /* EndOfDeclarationMarker */ || kind === 357 /* MergeDeclarationMarker */;
10108
+ return kind === 249 /* BreakStatement */ || kind === 248 /* ContinueStatement */ || kind === 256 /* DebuggerStatement */ || kind === 243 /* DoStatement */ || kind === 241 /* ExpressionStatement */ || kind === 239 /* EmptyStatement */ || kind === 246 /* ForInStatement */ || kind === 247 /* ForOfStatement */ || kind === 245 /* ForStatement */ || kind === 242 /* IfStatement */ || kind === 253 /* LabeledStatement */ || kind === 250 /* ReturnStatement */ || kind === 252 /* SwitchStatement */ || kind === 254 /* ThrowStatement */ || kind === 255 /* TryStatement */ || kind === 240 /* VariableStatement */ || kind === 244 /* WhileStatement */ || kind === 251 /* WithStatement */ || kind === 355 /* NotEmittedStatement */ || kind === 359 /* EndOfDeclarationMarker */ || kind === 358 /* MergeDeclarationMarker */;
10101
10109
  }
10102
10110
  function isDeclaration(node) {
10103
10111
  if (node.kind === 165 /* TypeParameter */) {
@@ -10154,7 +10162,7 @@ function isCaseOrDefaultClause(node) {
10154
10162
  return kind === 292 /* CaseClause */ || kind === 293 /* DefaultClause */;
10155
10163
  }
10156
10164
  function isJSDocNode(node) {
10157
- return node.kind >= 312 /* FirstJSDocNode */ && node.kind <= 352 /* LastJSDocNode */;
10165
+ return node.kind >= 312 /* FirstJSDocNode */ && node.kind <= 353 /* LastJSDocNode */;
10158
10166
  }
10159
10167
  function hasJSDocNodes(node) {
10160
10168
  if (!canHaveJSDoc(node))
@@ -10289,7 +10297,7 @@ function getTokenPosOfNode(node, sourceFile, includeJsDoc) {
10289
10297
  if (includeJsDoc && hasJSDocNodes(node)) {
10290
10298
  return getTokenPosOfNode(node.jsDoc[0], sourceFile);
10291
10299
  }
10292
- if (node.kind === 353 /* SyntaxList */ && node._children.length > 0) {
10300
+ if (node.kind === 354 /* SyntaxList */ && node._children.length > 0) {
10293
10301
  return getTokenPosOfNode(node._children[0], sourceFile, includeJsDoc);
10294
10302
  }
10295
10303
  return skipTrivia(
@@ -11024,7 +11032,7 @@ function filterOwnedJSDocTags(hostNode, jsDoc) {
11024
11032
  return ownsJSDocTag(hostNode, jsDoc) ? [jsDoc] : void 0;
11025
11033
  }
11026
11034
  function ownsJSDocTag(hostNode, tag) {
11027
- return !isJSDocTypeTag(tag) || !tag.parent || !isJSDoc(tag.parent) || !isParenthesizedExpression(tag.parent.parent) || tag.parent.parent === hostNode;
11035
+ return !(isJSDocTypeTag(tag) || isJSDocSatisfiesTag(tag)) || !tag.parent || !isJSDoc(tag.parent) || !isParenthesizedExpression(tag.parent.parent) || tag.parent.parent === hostNode;
11028
11036
  }
11029
11037
  function getNextJSDocCommentLocation(node) {
11030
11038
  const parent = node.parent;
@@ -11279,7 +11287,7 @@ function getOperator(expression) {
11279
11287
  }
11280
11288
  function getOperatorPrecedence(nodeKind, operatorKind, hasArguments) {
11281
11289
  switch (nodeKind) {
11282
- case 356 /* CommaListExpression */:
11290
+ case 357 /* CommaListExpression */:
11283
11291
  return 0 /* Comma */;
11284
11292
  case 227 /* SpreadElement */:
11285
11293
  return 1 /* Spread */;
@@ -11588,9 +11596,21 @@ function modifierToFlag(token) {
11588
11596
  }
11589
11597
  return 0 /* None */;
11590
11598
  }
11599
+ function isBinaryLogicalOperator(token) {
11600
+ return token === 56 /* BarBarToken */ || token === 55 /* AmpersandAmpersandToken */;
11601
+ }
11591
11602
  function isLogicalOrCoalescingAssignmentOperator(token) {
11592
11603
  return token === 75 /* BarBarEqualsToken */ || token === 76 /* AmpersandAmpersandEqualsToken */ || token === 77 /* QuestionQuestionEqualsToken */;
11593
11604
  }
11605
+ function isLogicalOrCoalescingAssignmentExpression(expr) {
11606
+ return isBinaryExpression(expr) && isLogicalOrCoalescingAssignmentOperator(expr.operatorToken.kind);
11607
+ }
11608
+ function isLogicalOrCoalescingBinaryOperator(token) {
11609
+ return isBinaryLogicalOperator(token) || token === 60 /* QuestionQuestionToken */;
11610
+ }
11611
+ function isLogicalOrCoalescingBinaryExpression(expr) {
11612
+ return isBinaryExpression(expr) && isLogicalOrCoalescingBinaryOperator(expr.operatorToken.kind);
11613
+ }
11594
11614
  function isAssignmentOperator(token) {
11595
11615
  return token >= 63 /* FirstAssignment */ && token <= 78 /* LastAssignment */;
11596
11616
  }
@@ -11666,7 +11686,7 @@ function getLastChild(node) {
11666
11686
  return lastChild;
11667
11687
  }
11668
11688
  function isTypeNodeKind(kind) {
11669
- return kind >= 179 /* FirstTypeNode */ && kind <= 202 /* LastTypeNode */ || kind === 131 /* AnyKeyword */ || kind === 157 /* UnknownKeyword */ || kind === 148 /* NumberKeyword */ || kind === 160 /* BigIntKeyword */ || kind === 149 /* ObjectKeyword */ || kind === 134 /* BooleanKeyword */ || kind === 152 /* StringKeyword */ || kind === 153 /* SymbolKeyword */ || kind === 114 /* VoidKeyword */ || kind === 155 /* UndefinedKeyword */ || kind === 144 /* NeverKeyword */ || kind === 230 /* ExpressionWithTypeArguments */ || kind === 315 /* JSDocAllType */ || kind === 316 /* JSDocUnknownType */ || kind === 317 /* JSDocNullableType */ || kind === 318 /* JSDocNonNullableType */ || kind === 319 /* JSDocOptionalType */ || kind === 320 /* JSDocFunctionType */ || kind === 321 /* JSDocVariadicType */;
11689
+ return kind >= 179 /* FirstTypeNode */ && kind <= 202 /* LastTypeNode */ || kind === 131 /* AnyKeyword */ || kind === 157 /* UnknownKeyword */ || kind === 148 /* NumberKeyword */ || kind === 160 /* BigIntKeyword */ || kind === 149 /* ObjectKeyword */ || kind === 134 /* BooleanKeyword */ || kind === 152 /* StringKeyword */ || kind === 153 /* SymbolKeyword */ || kind === 114 /* VoidKeyword */ || kind === 155 /* UndefinedKeyword */ || kind === 144 /* NeverKeyword */ || kind === 139 /* IntrinsicKeyword */ || kind === 230 /* ExpressionWithTypeArguments */ || kind === 315 /* JSDocAllType */ || kind === 316 /* JSDocUnknownType */ || kind === 317 /* JSDocNullableType */ || kind === 318 /* JSDocNonNullableType */ || kind === 319 /* JSDocOptionalType */ || kind === 320 /* JSDocFunctionType */ || kind === 321 /* JSDocVariadicType */;
11670
11690
  }
11671
11691
  function isAccessExpression(node) {
11672
11692
  return node.kind === 208 /* PropertyAccessExpression */ || node.kind === 209 /* ElementAccessExpression */;
@@ -11700,7 +11720,7 @@ function getLeftmostExpression(node, stopAtCallExpressions) {
11700
11720
  case 209 /* ElementAccessExpression */:
11701
11721
  case 208 /* PropertyAccessExpression */:
11702
11722
  case 232 /* NonNullExpression */:
11703
- case 355 /* PartiallyEmittedExpression */:
11723
+ case 356 /* PartiallyEmittedExpression */:
11704
11724
  case 235 /* SatisfiesExpression */:
11705
11725
  node = node.expression;
11706
11726
  continue;
@@ -13359,6 +13379,12 @@ function createNodeFactory(flags, baseFactory2) {
13359
13379
  get updateJSDocThrowsTag() {
13360
13380
  return getJSDocTypeLikeTagUpdateFunction(352 /* JSDocThrowsTag */);
13361
13381
  },
13382
+ get createJSDocSatisfiesTag() {
13383
+ return getJSDocTypeLikeTagCreateFunction(353 /* JSDocSatisfiesTag */);
13384
+ },
13385
+ get updateJSDocSatisfiesTag() {
13386
+ return getJSDocTypeLikeTagUpdateFunction(353 /* JSDocSatisfiesTag */);
13387
+ },
13362
13388
  createJSDocEnumTag,
13363
13389
  updateJSDocEnumTag,
13364
13390
  createJSDocUnknownTag,
@@ -16518,18 +16544,18 @@ function createNodeFactory(flags, baseFactory2) {
16518
16544
  return node;
16519
16545
  }
16520
16546
  function createSyntaxList(children) {
16521
- const node = createBaseNode(353 /* SyntaxList */);
16547
+ const node = createBaseNode(354 /* SyntaxList */);
16522
16548
  node._children = children;
16523
16549
  return node;
16524
16550
  }
16525
16551
  function createNotEmittedStatement(original) {
16526
- const node = createBaseNode(354 /* NotEmittedStatement */);
16552
+ const node = createBaseNode(355 /* NotEmittedStatement */);
16527
16553
  node.original = original;
16528
16554
  setTextRange(node, original);
16529
16555
  return node;
16530
16556
  }
16531
16557
  function createPartiallyEmittedExpression(expression, original) {
16532
- const node = createBaseNode(355 /* PartiallyEmittedExpression */);
16558
+ const node = createBaseNode(356 /* PartiallyEmittedExpression */);
16533
16559
  node.expression = expression;
16534
16560
  node.original = original;
16535
16561
  node.transformFlags |= propagateChildFlags(node.expression) | 1 /* ContainsTypeScript */;
@@ -16551,7 +16577,7 @@ function createNodeFactory(flags, baseFactory2) {
16551
16577
  return node;
16552
16578
  }
16553
16579
  function createCommaListExpression(elements) {
16554
- const node = createBaseNode(356 /* CommaListExpression */);
16580
+ const node = createBaseNode(357 /* CommaListExpression */);
16555
16581
  node.elements = createNodeArray(sameFlatMap(elements, flattenCommaElements));
16556
16582
  node.transformFlags |= propagateChildrenFlags(node.elements);
16557
16583
  return node;
@@ -16560,19 +16586,19 @@ function createNodeFactory(flags, baseFactory2) {
16560
16586
  return node.elements !== elements ? update(createCommaListExpression(elements), node) : node;
16561
16587
  }
16562
16588
  function createEndOfDeclarationMarker(original) {
16563
- const node = createBaseNode(358 /* EndOfDeclarationMarker */);
16589
+ const node = createBaseNode(359 /* EndOfDeclarationMarker */);
16564
16590
  node.emitNode = {};
16565
16591
  node.original = original;
16566
16592
  return node;
16567
16593
  }
16568
16594
  function createMergeDeclarationMarker(original) {
16569
- const node = createBaseNode(357 /* MergeDeclarationMarker */);
16595
+ const node = createBaseNode(358 /* MergeDeclarationMarker */);
16570
16596
  node.emitNode = {};
16571
16597
  node.original = original;
16572
16598
  return node;
16573
16599
  }
16574
16600
  function createSyntheticReferenceExpression(expression, thisArg) {
16575
- const node = createBaseNode(359 /* SyntheticReferenceExpression */);
16601
+ const node = createBaseNode(360 /* SyntheticReferenceExpression */);
16576
16602
  node.expression = expression;
16577
16603
  node.thisArg = thisArg;
16578
16604
  node.transformFlags |= propagateChildFlags(node.expression) | propagateChildFlags(node.thisArg);
@@ -16812,7 +16838,7 @@ function createNodeFactory(flags, baseFactory2) {
16812
16838
  return updateSatisfiesExpression(outerExpression, expression, outerExpression.type);
16813
16839
  case 232 /* NonNullExpression */:
16814
16840
  return updateNonNullExpression(outerExpression, expression);
16815
- case 355 /* PartiallyEmittedExpression */:
16841
+ case 356 /* PartiallyEmittedExpression */:
16816
16842
  return updatePartiallyEmittedExpression(outerExpression, expression);
16817
16843
  }
16818
16844
  }
@@ -17348,7 +17374,7 @@ function getTransformFlagsSubtreeExclusions(kind) {
17348
17374
  case 213 /* TypeAssertionExpression */:
17349
17375
  case 235 /* SatisfiesExpression */:
17350
17376
  case 231 /* AsExpression */:
17351
- case 355 /* PartiallyEmittedExpression */:
17377
+ case 356 /* PartiallyEmittedExpression */:
17352
17378
  case 214 /* ParenthesizedExpression */:
17353
17379
  case 106 /* SuperKeyword */:
17354
17380
  return -2147483648 /* OuterExpressionExcludes */;
@@ -17773,7 +17799,7 @@ function isMetaProperty(node) {
17773
17799
  return node.kind === 233 /* MetaProperty */;
17774
17800
  }
17775
17801
  function isCommaListExpression(node) {
17776
- return node.kind === 356 /* CommaListExpression */;
17802
+ return node.kind === 357 /* CommaListExpression */;
17777
17803
  }
17778
17804
  function isTemplateSpan(node) {
17779
17805
  return node.kind === 236 /* TemplateSpan */;
@@ -17854,7 +17880,7 @@ function isExportSpecifier(node) {
17854
17880
  return node.kind === 278 /* ExportSpecifier */;
17855
17881
  }
17856
17882
  function isNotEmittedStatement(node) {
17857
- return node.kind === 354 /* NotEmittedStatement */;
17883
+ return node.kind === 355 /* NotEmittedStatement */;
17858
17884
  }
17859
17885
  function isExternalModuleReference(node) {
17860
17886
  return node.kind === 280 /* ExternalModuleReference */;
@@ -17940,6 +17966,9 @@ function isJSDocTypeTag(node) {
17940
17966
  function isJSDocTemplateTag(node) {
17941
17967
  return node.kind === 348 /* JSDocTemplateTag */;
17942
17968
  }
17969
+ function isJSDocSatisfiesTag(node) {
17970
+ return node.kind === 353 /* JSDocSatisfiesTag */;
17971
+ }
17943
17972
 
17944
17973
  // src/compiler/factory/utilities.ts
17945
17974
  function isLocalName(node) {
@@ -17961,7 +17990,7 @@ function findUseStrictPrologue(statements) {
17961
17990
  return void 0;
17962
17991
  }
17963
17992
  function isCommaSequence(node) {
17964
- return node.kind === 223 /* BinaryExpression */ && node.operatorToken.kind === 27 /* CommaToken */ || node.kind === 356 /* CommaListExpression */;
17993
+ return node.kind === 223 /* BinaryExpression */ && node.operatorToken.kind === 27 /* CommaToken */ || node.kind === 357 /* CommaListExpression */;
17965
17994
  }
17966
17995
  function isJSDocTypeAssertion(node) {
17967
17996
  return isParenthesizedExpression(node) && isInJSFile(node) && !!getJSDocTypeTag(node);
@@ -17979,7 +18008,7 @@ function isOuterExpression(node, kinds = 15 /* All */) {
17979
18008
  return (kinds & 2 /* TypeAssertions */) !== 0;
17980
18009
  case 232 /* NonNullExpression */:
17981
18010
  return (kinds & 4 /* NonNullAssertions */) !== 0;
17982
- case 355 /* PartiallyEmittedExpression */:
18011
+ case 356 /* PartiallyEmittedExpression */:
17983
18012
  return (kinds & 8 /* PartiallyEmittedExpressions */) !== 0;
17984
18013
  }
17985
18014
  return false;
@@ -18642,7 +18671,7 @@ var forEachChildTable = {
18642
18671
  [279 /* MissingDeclaration */]: function forEachChildInMissingDeclaration(node, cbNode, cbNodes) {
18643
18672
  return visitNodes(cbNode, cbNodes, node.illegalDecorators) || visitNodes(cbNode, cbNodes, node.modifiers);
18644
18673
  },
18645
- [356 /* CommaListExpression */]: function forEachChildInCommaListExpression(node, cbNode, cbNodes) {
18674
+ [357 /* CommaListExpression */]: function forEachChildInCommaListExpression(node, cbNode, cbNodes) {
18646
18675
  return visitNodes(cbNode, cbNodes, node.elements);
18647
18676
  },
18648
18677
  [281 /* JsxElement */]: function forEachChildInJsxElement(node, cbNode, cbNodes) {
@@ -18714,6 +18743,7 @@ var forEachChildTable = {
18714
18743
  [347 /* JSDocTypeTag */]: forEachChildInJSDocTypeLikeTag,
18715
18744
  [346 /* JSDocThisTag */]: forEachChildInJSDocTypeLikeTag,
18716
18745
  [343 /* JSDocEnumTag */]: forEachChildInJSDocTypeLikeTag,
18746
+ [353 /* JSDocSatisfiesTag */]: forEachChildInJSDocTypeLikeTag,
18717
18747
  [352 /* JSDocThrowsTag */]: forEachChildInJSDocTypeLikeTag,
18718
18748
  [342 /* JSDocOverloadTag */]: forEachChildInJSDocTypeLikeTag,
18719
18749
  [326 /* JSDocSignature */]: function forEachChildInJSDocSignature(node, cbNode, _cbNodes) {
@@ -18733,7 +18763,7 @@ var forEachChildTable = {
18733
18763
  [339 /* JSDocReadonlyTag */]: forEachChildInJSDocTag,
18734
18764
  [334 /* JSDocDeprecatedTag */]: forEachChildInJSDocTag,
18735
18765
  [340 /* JSDocOverrideTag */]: forEachChildInJSDocTag,
18736
- [355 /* PartiallyEmittedExpression */]: forEachChildInPartiallyEmittedExpression
18766
+ [356 /* PartiallyEmittedExpression */]: forEachChildInPartiallyEmittedExpression
18737
18767
  };
18738
18768
  function forEachChildInCallOrConstructSignature(node, cbNode, cbNodes) {
18739
18769
  return visitNodes(cbNode, cbNodes, node.typeParameters) || visitNodes(cbNode, cbNodes, node.parameters) || visitNode2(cbNode, node.type);
@@ -24741,6 +24771,9 @@ var Parser;
24741
24771
  case "overload":
24742
24772
  tag = parseOverloadTag(start2, tagName, margin, indentText);
24743
24773
  break;
24774
+ case "satisfies":
24775
+ tag = parseSatisfiesTag(start2, tagName, margin, indentText);
24776
+ break;
24744
24777
  case "see":
24745
24778
  tag = parseSeeTag(start2, tagName, margin, indentText);
24746
24779
  break;
@@ -25049,6 +25082,14 @@ var Parser;
25049
25082
  const className = parseExpressionWithTypeArgumentsForAugments();
25050
25083
  return finishNode(factory2.createJSDocAugmentsTag(tagName, className, parseTrailingTagComments(start2, getNodePos(), margin, indentText)), start2);
25051
25084
  }
25085
+ function parseSatisfiesTag(start2, tagName, margin, indentText) {
25086
+ const typeExpression = parseJSDocTypeExpression(
25087
+ /*mayOmitBraces*/
25088
+ false
25089
+ );
25090
+ const comments2 = margin !== void 0 && indentText !== void 0 ? parseTrailingTagComments(start2, getNodePos(), margin, indentText) : void 0;
25091
+ return finishNode(factory2.createJSDocSatisfiesTag(tagName, typeExpression, comments2), start2);
25092
+ }
25052
25093
  function parseExpressionWithTypeArgumentsForAugments() {
25053
25094
  const usedBrace = parseOptional(18 /* OpenBraceToken */);
25054
25095
  const pos = getNodePos();
@@ -26885,7 +26926,7 @@ var commandOptionsWithoutBuild = [
26885
26926
  {
26886
26927
  name: "allowImportingTsExtensions",
26887
26928
  type: "boolean",
26888
- affectsModuleResolution: true,
26929
+ affectsSemanticDiagnostics: true,
26889
26930
  category: Diagnostics.Modules,
26890
26931
  description: Diagnostics.Allow_imports_to_include_TypeScript_file_extensions_Requires_moduleResolution_bundler_and_either_noEmit_or_emitDeclarationOnly_to_be_set,
26891
26932
  defaultValueDescription: false
@@ -27875,6 +27916,7 @@ function matchesExcludeWorker(pathToCheck, excludeSpecs, useCaseSensitiveFileNam
27875
27916
  return !hasExtension(pathToCheck) && excludeRegex.test(ensureTrailingDirectorySeparator(pathToCheck));
27876
27917
  }
27877
27918
  function specToDiagnostic(spec, disallowTrailingRecursion) {
27919
+ Debug.assert(typeof spec === "string");
27878
27920
  if (disallowTrailingRecursion && invalidTrailingRecursionPattern.test(spec)) {
27879
27921
  return [Diagnostics.File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0, spec];
27880
27922
  } else if (invalidDotDotAfterRecursiveWildcard(spec)) {
@@ -30385,13 +30427,12 @@ function createBinder() {
30385
30427
  } else if (node.kind === 221 /* PrefixUnaryExpression */ && node.operator === 53 /* ExclamationToken */) {
30386
30428
  node = node.operand;
30387
30429
  } else {
30388
- return node.kind === 223 /* BinaryExpression */ && (node.operatorToken.kind === 55 /* AmpersandAmpersandToken */ || node.operatorToken.kind === 56 /* BarBarToken */ || node.operatorToken.kind === 60 /* QuestionQuestionToken */);
30430
+ return isLogicalOrCoalescingBinaryExpression(node);
30389
30431
  }
30390
30432
  }
30391
30433
  }
30392
30434
  function isLogicalAssignmentExpression(node) {
30393
- node = skipParentheses(node);
30394
- return isBinaryExpression(node) && isLogicalOrCoalescingAssignmentOperator(node.operatorToken.kind);
30435
+ return isLogicalOrCoalescingAssignmentExpression(skipParentheses(node));
30395
30436
  }
30396
30437
  function isTopLevelLogicalExpression(node) {
30397
30438
  while (isParenthesizedExpression(node.parent) || isPrefixUnaryExpression(node.parent) && node.parent.operator === 53 /* ExclamationToken */) {
@@ -30774,7 +30815,7 @@ function createBinder() {
30774
30815
  };
30775
30816
  }
30776
30817
  const operator = node.operatorToken.kind;
30777
- if (operator === 55 /* AmpersandAmpersandToken */ || operator === 56 /* BarBarToken */ || operator === 60 /* QuestionQuestionToken */ || isLogicalOrCoalescingAssignmentOperator(operator)) {
30818
+ if (isLogicalOrCoalescingBinaryOperator(operator) || isLogicalOrCoalescingAssignmentOperator(operator)) {
30778
30819
  if (isTopLevelLogicalExpression(node)) {
30779
30820
  const postExpressionLabel = createBranchLabel();
30780
30821
  bindLogicalLikeExpression(node, postExpressionLabel, postExpressionLabel);
@@ -32593,13 +32634,10 @@ var JsxNames;
32593
32634
 
32594
32635
  // src/compiler/visitorPublic.ts
32595
32636
  function visitNode(node, visitor, test, lift) {
32596
- if (node === void 0 || visitor === void 0) {
32637
+ if (node === void 0) {
32597
32638
  return node;
32598
32639
  }
32599
32640
  const visited = visitor(node);
32600
- if (visited === node) {
32601
- return node;
32602
- }
32603
32641
  let visitedNode;
32604
32642
  if (visited === void 0) {
32605
32643
  return void 0;
@@ -32612,7 +32650,7 @@ function visitNode(node, visitor, test, lift) {
32612
32650
  return visitedNode;
32613
32651
  }
32614
32652
  function visitNodes2(nodes, visitor, test, start, count) {
32615
- if (nodes === void 0 || visitor === void 0) {
32653
+ if (nodes === void 0) {
32616
32654
  return nodes;
32617
32655
  }
32618
32656
  const length2 = nodes.length;
@@ -32648,25 +32686,30 @@ function visitArrayWorker(nodes, visitor, test, start, count) {
32648
32686
  }
32649
32687
  for (let i = 0; i < count; i++) {
32650
32688
  const node = nodes[i + start];
32651
- const visited = node !== void 0 ? visitor(node) : void 0;
32689
+ const visited = node !== void 0 ? visitor ? visitor(node) : node : void 0;
32652
32690
  if (updated !== void 0 || visited === void 0 || visited !== node) {
32653
32691
  if (updated === void 0) {
32654
32692
  updated = nodes.slice(0, i);
32693
+ Debug.assertEachNode(updated, test);
32655
32694
  }
32656
32695
  if (visited) {
32657
32696
  if (isArray(visited)) {
32658
32697
  for (const visitedNode of visited) {
32659
- void Debug.assertNode(visitedNode, test);
32698
+ Debug.assertNode(visitedNode, test);
32660
32699
  updated.push(visitedNode);
32661
32700
  }
32662
32701
  } else {
32663
- void Debug.assertNode(visited, test);
32702
+ Debug.assertNode(visited, test);
32664
32703
  updated.push(visited);
32665
32704
  }
32666
32705
  }
32667
32706
  }
32668
32707
  }
32669
- return updated != null ? updated : nodes;
32708
+ if (updated) {
32709
+ return updated;
32710
+ }
32711
+ Debug.assertEachNode(nodes, test);
32712
+ return nodes;
32670
32713
  }
32671
32714
  function visitLexicalEnvironment(statements, visitor, context, start, ensureUseStrict, nodesVisitor = visitNodes2) {
32672
32715
  context.startLexicalEnvironment();
@@ -32680,7 +32723,7 @@ function visitParameterList(nodes, visitor, context, nodesVisitor = visitNodes2)
32680
32723
  context.startLexicalEnvironment();
32681
32724
  if (nodes) {
32682
32725
  context.setLexicalEnvironmentFlags(1 /* InParameters */, true);
32683
- updated = nodesVisitor(nodes, visitor, isParameterDeclaration);
32726
+ updated = nodesVisitor(nodes, visitor, isParameter);
32684
32727
  if (context.getLexicalEnvironmentFlags() & 2 /* VariablesHoistedInParameters */ && getEmitScriptTarget(context.getCompilerOptions()) >= 2 /* ES2015 */) {
32685
32728
  updated = addDefaultValueAssignmentsIfNeeded(updated, context);
32686
32729
  }
@@ -32802,6 +32845,7 @@ function visitFunctionBody(node, visitor, context, nodeVisitor = visitNode) {
32802
32845
  function visitIterationBody(body, visitor, context, nodeVisitor = visitNode) {
32803
32846
  context.startBlockScope();
32804
32847
  const updated = nodeVisitor(body, visitor, isStatement, context.factory.liftToBlock);
32848
+ Debug.assert(updated);
32805
32849
  const declarations = context.endBlockScope();
32806
32850
  if (some(declarations)) {
32807
32851
  if (isBlock(updated)) {
@@ -32817,14 +32861,14 @@ var visitEachChildTable = {
32817
32861
  [163 /* QualifiedName */]: function visitEachChildOfQualifiedName(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
32818
32862
  return context.factory.updateQualifiedName(
32819
32863
  node,
32820
- nodeVisitor(node.left, visitor, isEntityName),
32821
- nodeVisitor(node.right, visitor, isIdentifier)
32864
+ Debug.checkDefined(nodeVisitor(node.left, visitor, isEntityName)),
32865
+ Debug.checkDefined(nodeVisitor(node.right, visitor, isIdentifier))
32822
32866
  );
32823
32867
  },
32824
32868
  [164 /* ComputedPropertyName */]: function visitEachChildOfComputedPropertyName(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
32825
32869
  return context.factory.updateComputedPropertyName(
32826
32870
  node,
32827
- nodeVisitor(node.expression, visitor, isExpression)
32871
+ Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression))
32828
32872
  );
32829
32873
  },
32830
32874
  // Signature elements
@@ -32832,7 +32876,7 @@ var visitEachChildTable = {
32832
32876
  return context.factory.updateTypeParameterDeclaration(
32833
32877
  node,
32834
32878
  nodesVisitor(node.modifiers, visitor, isModifier),
32835
- nodeVisitor(node.name, visitor, isIdentifier),
32879
+ Debug.checkDefined(nodeVisitor(node.name, visitor, isIdentifier)),
32836
32880
  nodeVisitor(node.constraint, visitor, isTypeNode),
32837
32881
  nodeVisitor(node.default, visitor, isTypeNode)
32838
32882
  );
@@ -32841,9 +32885,9 @@ var visitEachChildTable = {
32841
32885
  return context.factory.updateParameterDeclaration(
32842
32886
  node,
32843
32887
  nodesVisitor(node.modifiers, visitor, isModifierLike),
32844
- nodeVisitor(node.dotDotDotToken, tokenVisitor, isDotDotDotToken),
32845
- nodeVisitor(node.name, visitor, isBindingName),
32846
- nodeVisitor(node.questionToken, tokenVisitor, isQuestionToken),
32888
+ tokenVisitor ? nodeVisitor(node.dotDotDotToken, tokenVisitor, isDotDotDotToken) : node.dotDotDotToken,
32889
+ Debug.checkDefined(nodeVisitor(node.name, visitor, isBindingName)),
32890
+ tokenVisitor ? nodeVisitor(node.questionToken, tokenVisitor, isQuestionToken) : node.questionToken,
32847
32891
  nodeVisitor(node.type, visitor, isTypeNode),
32848
32892
  nodeVisitor(node.initializer, visitor, isExpression)
32849
32893
  );
@@ -32851,7 +32895,7 @@ var visitEachChildTable = {
32851
32895
  [167 /* Decorator */]: function visitEachChildOfDecorator(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
32852
32896
  return context.factory.updateDecorator(
32853
32897
  node,
32854
- nodeVisitor(node.expression, visitor, isExpression)
32898
+ Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression))
32855
32899
  );
32856
32900
  },
32857
32901
  // Type elements
@@ -32859,19 +32903,19 @@ var visitEachChildTable = {
32859
32903
  return context.factory.updatePropertySignature(
32860
32904
  node,
32861
32905
  nodesVisitor(node.modifiers, visitor, isModifier),
32862
- nodeVisitor(node.name, visitor, isPropertyName),
32863
- nodeVisitor(node.questionToken, tokenVisitor, isToken),
32906
+ Debug.checkDefined(nodeVisitor(node.name, visitor, isPropertyName)),
32907
+ tokenVisitor ? nodeVisitor(node.questionToken, tokenVisitor, isQuestionToken) : node.questionToken,
32864
32908
  nodeVisitor(node.type, visitor, isTypeNode)
32865
32909
  );
32866
32910
  },
32867
32911
  [169 /* PropertyDeclaration */]: function visitEachChildOfPropertyDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
32868
- var _a2;
32912
+ var _a2, _b;
32869
32913
  return context.factory.updatePropertyDeclaration(
32870
32914
  node,
32871
32915
  nodesVisitor(node.modifiers, visitor, isModifierLike),
32872
- nodeVisitor(node.name, visitor, isPropertyName),
32916
+ Debug.checkDefined(nodeVisitor(node.name, visitor, isPropertyName)),
32873
32917
  // QuestionToken and ExclamationToken are mutually exclusive in PropertyDeclaration
32874
- nodeVisitor((_a2 = node.questionToken) != null ? _a2 : node.exclamationToken, tokenVisitor, isQuestionOrExclamationToken),
32918
+ tokenVisitor ? nodeVisitor((_a2 = node.questionToken) != null ? _a2 : node.exclamationToken, tokenVisitor, isQuestionOrExclamationToken) : (_b = node.questionToken) != null ? _b : node.exclamationToken,
32875
32919
  nodeVisitor(node.type, visitor, isTypeNode),
32876
32920
  nodeVisitor(node.initializer, visitor, isExpression)
32877
32921
  );
@@ -32880,10 +32924,10 @@ var visitEachChildTable = {
32880
32924
  return context.factory.updateMethodSignature(
32881
32925
  node,
32882
32926
  nodesVisitor(node.modifiers, visitor, isModifier),
32883
- nodeVisitor(node.name, visitor, isPropertyName),
32884
- nodeVisitor(node.questionToken, tokenVisitor, isQuestionToken),
32927
+ Debug.checkDefined(nodeVisitor(node.name, visitor, isPropertyName)),
32928
+ tokenVisitor ? nodeVisitor(node.questionToken, tokenVisitor, isQuestionToken) : node.questionToken,
32885
32929
  nodesVisitor(node.typeParameters, visitor, isTypeParameterDeclaration),
32886
- nodesVisitor(node.parameters, visitor, isParameterDeclaration),
32930
+ nodesVisitor(node.parameters, visitor, isParameter),
32887
32931
  nodeVisitor(node.type, visitor, isTypeNode)
32888
32932
  );
32889
32933
  },
@@ -32891,9 +32935,9 @@ var visitEachChildTable = {
32891
32935
  return context.factory.updateMethodDeclaration(
32892
32936
  node,
32893
32937
  nodesVisitor(node.modifiers, visitor, isModifierLike),
32894
- nodeVisitor(node.asteriskToken, tokenVisitor, isAsteriskToken),
32895
- nodeVisitor(node.name, visitor, isPropertyName),
32896
- nodeVisitor(node.questionToken, tokenVisitor, isQuestionToken),
32938
+ tokenVisitor ? nodeVisitor(node.asteriskToken, tokenVisitor, isAsteriskToken) : node.asteriskToken,
32939
+ Debug.checkDefined(nodeVisitor(node.name, visitor, isPropertyName)),
32940
+ tokenVisitor ? nodeVisitor(node.questionToken, tokenVisitor, isQuestionToken) : node.questionToken,
32897
32941
  nodesVisitor(node.typeParameters, visitor, isTypeParameterDeclaration),
32898
32942
  visitParameterList(node.parameters, visitor, context, nodesVisitor),
32899
32943
  nodeVisitor(node.type, visitor, isTypeNode),
@@ -32912,7 +32956,7 @@ var visitEachChildTable = {
32912
32956
  return context.factory.updateGetAccessorDeclaration(
32913
32957
  node,
32914
32958
  nodesVisitor(node.modifiers, visitor, isModifierLike),
32915
- nodeVisitor(node.name, visitor, isPropertyName),
32959
+ Debug.checkDefined(nodeVisitor(node.name, visitor, isPropertyName)),
32916
32960
  visitParameterList(node.parameters, visitor, context, nodesVisitor),
32917
32961
  nodeVisitor(node.type, visitor, isTypeNode),
32918
32962
  visitFunctionBody(node.body, visitor, context, nodeVisitor)
@@ -32922,7 +32966,7 @@ var visitEachChildTable = {
32922
32966
  return context.factory.updateSetAccessorDeclaration(
32923
32967
  node,
32924
32968
  nodesVisitor(node.modifiers, visitor, isModifierLike),
32925
- nodeVisitor(node.name, visitor, isPropertyName),
32969
+ Debug.checkDefined(nodeVisitor(node.name, visitor, isPropertyName)),
32926
32970
  visitParameterList(node.parameters, visitor, context, nodesVisitor),
32927
32971
  visitFunctionBody(node.body, visitor, context, nodeVisitor)
32928
32972
  );
@@ -32939,7 +32983,7 @@ var visitEachChildTable = {
32939
32983
  return context.factory.updateCallSignature(
32940
32984
  node,
32941
32985
  nodesVisitor(node.typeParameters, visitor, isTypeParameterDeclaration),
32942
- nodesVisitor(node.parameters, visitor, isParameterDeclaration),
32986
+ nodesVisitor(node.parameters, visitor, isParameter),
32943
32987
  nodeVisitor(node.type, visitor, isTypeNode)
32944
32988
  );
32945
32989
  },
@@ -32947,7 +32991,7 @@ var visitEachChildTable = {
32947
32991
  return context.factory.updateConstructSignature(
32948
32992
  node,
32949
32993
  nodesVisitor(node.typeParameters, visitor, isTypeParameterDeclaration),
32950
- nodesVisitor(node.parameters, visitor, isParameterDeclaration),
32994
+ nodesVisitor(node.parameters, visitor, isParameter),
32951
32995
  nodeVisitor(node.type, visitor, isTypeNode)
32952
32996
  );
32953
32997
  },
@@ -32955,8 +32999,8 @@ var visitEachChildTable = {
32955
32999
  return context.factory.updateIndexSignature(
32956
33000
  node,
32957
33001
  nodesVisitor(node.modifiers, visitor, isModifier),
32958
- nodesVisitor(node.parameters, visitor, isParameterDeclaration),
32959
- nodeVisitor(node.type, visitor, isTypeNode)
33002
+ nodesVisitor(node.parameters, visitor, isParameter),
33003
+ Debug.checkDefined(nodeVisitor(node.type, visitor, isTypeNode))
32960
33004
  );
32961
33005
  },
32962
33006
  // Types
@@ -32964,14 +33008,14 @@ var visitEachChildTable = {
32964
33008
  return context.factory.updateTypePredicateNode(
32965
33009
  node,
32966
33010
  nodeVisitor(node.assertsModifier, visitor, isAssertsKeyword),
32967
- nodeVisitor(node.parameterName, visitor, isIdentifierOrThisTypeNode),
33011
+ Debug.checkDefined(nodeVisitor(node.parameterName, visitor, isIdentifierOrThisTypeNode)),
32968
33012
  nodeVisitor(node.type, visitor, isTypeNode)
32969
33013
  );
32970
33014
  },
32971
33015
  [180 /* TypeReference */]: function visitEachChildOfTypeReferenceNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
32972
33016
  return context.factory.updateTypeReferenceNode(
32973
33017
  node,
32974
- nodeVisitor(node.typeName, visitor, isEntityName),
33018
+ Debug.checkDefined(nodeVisitor(node.typeName, visitor, isEntityName)),
32975
33019
  nodesVisitor(node.typeArguments, visitor, isTypeNode)
32976
33020
  );
32977
33021
  },
@@ -32979,8 +33023,8 @@ var visitEachChildTable = {
32979
33023
  return context.factory.updateFunctionTypeNode(
32980
33024
  node,
32981
33025
  nodesVisitor(node.typeParameters, visitor, isTypeParameterDeclaration),
32982
- nodesVisitor(node.parameters, visitor, isParameterDeclaration),
32983
- nodeVisitor(node.type, visitor, isTypeNode)
33026
+ nodesVisitor(node.parameters, visitor, isParameter),
33027
+ Debug.checkDefined(nodeVisitor(node.type, visitor, isTypeNode))
32984
33028
  );
32985
33029
  },
32986
33030
  [182 /* ConstructorType */]: function visitEachChildOfConstructorTypeNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
@@ -32988,14 +33032,14 @@ var visitEachChildTable = {
32988
33032
  node,
32989
33033
  nodesVisitor(node.modifiers, visitor, isModifier),
32990
33034
  nodesVisitor(node.typeParameters, visitor, isTypeParameterDeclaration),
32991
- nodesVisitor(node.parameters, visitor, isParameterDeclaration),
32992
- nodeVisitor(node.type, visitor, isTypeNode)
33035
+ nodesVisitor(node.parameters, visitor, isParameter),
33036
+ Debug.checkDefined(nodeVisitor(node.type, visitor, isTypeNode))
32993
33037
  );
32994
33038
  },
32995
33039
  [183 /* TypeQuery */]: function visitEachChildOfTypeQueryNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
32996
33040
  return context.factory.updateTypeQueryNode(
32997
33041
  node,
32998
- nodeVisitor(node.exprName, visitor, isEntityName),
33042
+ Debug.checkDefined(nodeVisitor(node.exprName, visitor, isEntityName)),
32999
33043
  nodesVisitor(node.typeArguments, visitor, isTypeNode)
33000
33044
  );
33001
33045
  },
@@ -33008,7 +33052,7 @@ var visitEachChildTable = {
33008
33052
  [185 /* ArrayType */]: function visitEachChildOfArrayTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33009
33053
  return context.factory.updateArrayTypeNode(
33010
33054
  node,
33011
- nodeVisitor(node.elementType, visitor, isTypeNode)
33055
+ Debug.checkDefined(nodeVisitor(node.elementType, visitor, isTypeNode))
33012
33056
  );
33013
33057
  },
33014
33058
  [186 /* TupleType */]: function visitEachChildOfTupleTypeNode(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
@@ -33020,13 +33064,13 @@ var visitEachChildTable = {
33020
33064
  [187 /* OptionalType */]: function visitEachChildOfOptionalTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33021
33065
  return context.factory.updateOptionalTypeNode(
33022
33066
  node,
33023
- nodeVisitor(node.type, visitor, isTypeNode)
33067
+ Debug.checkDefined(nodeVisitor(node.type, visitor, isTypeNode))
33024
33068
  );
33025
33069
  },
33026
33070
  [188 /* RestType */]: function visitEachChildOfRestTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33027
33071
  return context.factory.updateRestTypeNode(
33028
33072
  node,
33029
- nodeVisitor(node.type, visitor, isTypeNode)
33073
+ Debug.checkDefined(nodeVisitor(node.type, visitor, isTypeNode))
33030
33074
  );
33031
33075
  },
33032
33076
  [189 /* UnionType */]: function visitEachChildOfUnionTypeNode(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
@@ -33044,22 +33088,22 @@ var visitEachChildTable = {
33044
33088
  [191 /* ConditionalType */]: function visitEachChildOfConditionalTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33045
33089
  return context.factory.updateConditionalTypeNode(
33046
33090
  node,
33047
- nodeVisitor(node.checkType, visitor, isTypeNode),
33048
- nodeVisitor(node.extendsType, visitor, isTypeNode),
33049
- nodeVisitor(node.trueType, visitor, isTypeNode),
33050
- nodeVisitor(node.falseType, visitor, isTypeNode)
33091
+ Debug.checkDefined(nodeVisitor(node.checkType, visitor, isTypeNode)),
33092
+ Debug.checkDefined(nodeVisitor(node.extendsType, visitor, isTypeNode)),
33093
+ Debug.checkDefined(nodeVisitor(node.trueType, visitor, isTypeNode)),
33094
+ Debug.checkDefined(nodeVisitor(node.falseType, visitor, isTypeNode))
33051
33095
  );
33052
33096
  },
33053
33097
  [192 /* InferType */]: function visitEachChildOfInferTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33054
33098
  return context.factory.updateInferTypeNode(
33055
33099
  node,
33056
- nodeVisitor(node.typeParameter, visitor, isTypeParameterDeclaration)
33100
+ Debug.checkDefined(nodeVisitor(node.typeParameter, visitor, isTypeParameterDeclaration))
33057
33101
  );
33058
33102
  },
33059
33103
  [202 /* ImportType */]: function visitEachChildOfImportTypeNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
33060
33104
  return context.factory.updateImportTypeNode(
33061
33105
  node,
33062
- nodeVisitor(node.argument, visitor, isTypeNode),
33106
+ Debug.checkDefined(nodeVisitor(node.argument, visitor, isTypeNode)),
33063
33107
  nodeVisitor(node.assertions, visitor, isImportTypeAssertionContainer),
33064
33108
  nodeVisitor(node.qualifier, visitor, isEntityName),
33065
33109
  nodesVisitor(node.typeArguments, visitor, isTypeNode),
@@ -33069,45 +33113,45 @@ var visitEachChildTable = {
33069
33113
  [298 /* ImportTypeAssertionContainer */]: function visitEachChildOfImportTypeAssertionContainer(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33070
33114
  return context.factory.updateImportTypeAssertionContainer(
33071
33115
  node,
33072
- nodeVisitor(node.assertClause, visitor, isAssertClause),
33116
+ Debug.checkDefined(nodeVisitor(node.assertClause, visitor, isAssertClause)),
33073
33117
  node.multiLine
33074
33118
  );
33075
33119
  },
33076
33120
  [199 /* NamedTupleMember */]: function visitEachChildOfNamedTupleMember(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
33077
33121
  return context.factory.updateNamedTupleMember(
33078
33122
  node,
33079
- nodeVisitor(node.dotDotDotToken, tokenVisitor, isDotDotDotToken),
33080
- nodeVisitor(node.name, visitor, isIdentifier),
33081
- nodeVisitor(node.questionToken, tokenVisitor, isQuestionToken),
33082
- nodeVisitor(node.type, visitor, isTypeNode)
33123
+ tokenVisitor ? nodeVisitor(node.dotDotDotToken, tokenVisitor, isDotDotDotToken) : node.dotDotDotToken,
33124
+ Debug.checkDefined(nodeVisitor(node.name, visitor, isIdentifier)),
33125
+ tokenVisitor ? nodeVisitor(node.questionToken, tokenVisitor, isQuestionToken) : node.questionToken,
33126
+ Debug.checkDefined(nodeVisitor(node.type, visitor, isTypeNode))
33083
33127
  );
33084
33128
  },
33085
33129
  [193 /* ParenthesizedType */]: function visitEachChildOfParenthesizedType(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33086
33130
  return context.factory.updateParenthesizedType(
33087
33131
  node,
33088
- nodeVisitor(node.type, visitor, isTypeNode)
33132
+ Debug.checkDefined(nodeVisitor(node.type, visitor, isTypeNode))
33089
33133
  );
33090
33134
  },
33091
33135
  [195 /* TypeOperator */]: function visitEachChildOfTypeOperatorNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33092
33136
  return context.factory.updateTypeOperatorNode(
33093
33137
  node,
33094
- nodeVisitor(node.type, visitor, isTypeNode)
33138
+ Debug.checkDefined(nodeVisitor(node.type, visitor, isTypeNode))
33095
33139
  );
33096
33140
  },
33097
33141
  [196 /* IndexedAccessType */]: function visitEachChildOfIndexedAccessType(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33098
33142
  return context.factory.updateIndexedAccessTypeNode(
33099
33143
  node,
33100
- nodeVisitor(node.objectType, visitor, isTypeNode),
33101
- nodeVisitor(node.indexType, visitor, isTypeNode)
33144
+ Debug.checkDefined(nodeVisitor(node.objectType, visitor, isTypeNode)),
33145
+ Debug.checkDefined(nodeVisitor(node.indexType, visitor, isTypeNode))
33102
33146
  );
33103
33147
  },
33104
33148
  [197 /* MappedType */]: function visitEachChildOfMappedType(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
33105
33149
  return context.factory.updateMappedTypeNode(
33106
33150
  node,
33107
- nodeVisitor(node.readonlyToken, tokenVisitor, isReadonlyKeywordOrPlusOrMinusToken),
33108
- nodeVisitor(node.typeParameter, visitor, isTypeParameterDeclaration),
33151
+ tokenVisitor ? nodeVisitor(node.readonlyToken, tokenVisitor, isReadonlyKeywordOrPlusOrMinusToken) : node.readonlyToken,
33152
+ Debug.checkDefined(nodeVisitor(node.typeParameter, visitor, isTypeParameterDeclaration)),
33109
33153
  nodeVisitor(node.nameType, visitor, isTypeNode),
33110
- nodeVisitor(node.questionToken, tokenVisitor, isQuestionOrPlusOrMinusToken),
33154
+ tokenVisitor ? nodeVisitor(node.questionToken, tokenVisitor, isQuestionOrPlusOrMinusToken) : node.questionToken,
33111
33155
  nodeVisitor(node.type, visitor, isTypeNode),
33112
33156
  nodesVisitor(node.members, visitor, isTypeElement)
33113
33157
  );
@@ -33115,21 +33159,21 @@ var visitEachChildTable = {
33115
33159
  [198 /* LiteralType */]: function visitEachChildOfLiteralTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33116
33160
  return context.factory.updateLiteralTypeNode(
33117
33161
  node,
33118
- nodeVisitor(node.literal, visitor, isExpression)
33162
+ Debug.checkDefined(nodeVisitor(node.literal, visitor, isLiteralTypeLiteral))
33119
33163
  );
33120
33164
  },
33121
33165
  [200 /* TemplateLiteralType */]: function visitEachChildOfTemplateLiteralType(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
33122
33166
  return context.factory.updateTemplateLiteralType(
33123
33167
  node,
33124
- nodeVisitor(node.head, visitor, isTemplateHead),
33168
+ Debug.checkDefined(nodeVisitor(node.head, visitor, isTemplateHead)),
33125
33169
  nodesVisitor(node.templateSpans, visitor, isTemplateLiteralTypeSpan)
33126
33170
  );
33127
33171
  },
33128
33172
  [201 /* TemplateLiteralTypeSpan */]: function visitEachChildOfTemplateLiteralTypeSpan(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33129
33173
  return context.factory.updateTemplateLiteralTypeSpan(
33130
33174
  node,
33131
- nodeVisitor(node.type, visitor, isTypeNode),
33132
- nodeVisitor(node.literal, visitor, isTemplateMiddleOrTemplateTail)
33175
+ Debug.checkDefined(nodeVisitor(node.type, visitor, isTypeNode)),
33176
+ Debug.checkDefined(nodeVisitor(node.literal, visitor, isTemplateMiddleOrTemplateTail))
33133
33177
  );
33134
33178
  },
33135
33179
  // Binding patterns
@@ -33148,9 +33192,9 @@ var visitEachChildTable = {
33148
33192
  [205 /* BindingElement */]: function visitEachChildOfBindingElement(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
33149
33193
  return context.factory.updateBindingElement(
33150
33194
  node,
33151
- nodeVisitor(node.dotDotDotToken, tokenVisitor, isDotDotDotToken),
33195
+ tokenVisitor ? nodeVisitor(node.dotDotDotToken, tokenVisitor, isDotDotDotToken) : node.dotDotDotToken,
33152
33196
  nodeVisitor(node.propertyName, visitor, isPropertyName),
33153
- nodeVisitor(node.name, visitor, isBindingName),
33197
+ Debug.checkDefined(nodeVisitor(node.name, visitor, isBindingName)),
33154
33198
  nodeVisitor(node.initializer, visitor, isExpression)
33155
33199
  );
33156
33200
  },
@@ -33170,37 +33214,37 @@ var visitEachChildTable = {
33170
33214
  [208 /* PropertyAccessExpression */]: function visitEachChildOfPropertyAccessExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
33171
33215
  return isPropertyAccessChain(node) ? context.factory.updatePropertyAccessChain(
33172
33216
  node,
33173
- nodeVisitor(node.expression, visitor, isExpression),
33174
- nodeVisitor(node.questionDotToken, tokenVisitor, isQuestionDotToken),
33175
- nodeVisitor(node.name, visitor, isMemberName)
33217
+ Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression)),
33218
+ tokenVisitor ? nodeVisitor(node.questionDotToken, tokenVisitor, isQuestionDotToken) : node.questionDotToken,
33219
+ Debug.checkDefined(nodeVisitor(node.name, visitor, isMemberName))
33176
33220
  ) : context.factory.updatePropertyAccessExpression(
33177
33221
  node,
33178
- nodeVisitor(node.expression, visitor, isExpression),
33179
- nodeVisitor(node.name, visitor, isMemberName)
33222
+ Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression)),
33223
+ Debug.checkDefined(nodeVisitor(node.name, visitor, isMemberName))
33180
33224
  );
33181
33225
  },
33182
33226
  [209 /* ElementAccessExpression */]: function visitEachChildOfElementAccessExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
33183
33227
  return isElementAccessChain(node) ? context.factory.updateElementAccessChain(
33184
33228
  node,
33185
- nodeVisitor(node.expression, visitor, isExpression),
33186
- nodeVisitor(node.questionDotToken, tokenVisitor, isQuestionDotToken),
33187
- nodeVisitor(node.argumentExpression, visitor, isExpression)
33229
+ Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression)),
33230
+ tokenVisitor ? nodeVisitor(node.questionDotToken, tokenVisitor, isQuestionDotToken) : node.questionDotToken,
33231
+ Debug.checkDefined(nodeVisitor(node.argumentExpression, visitor, isExpression))
33188
33232
  ) : context.factory.updateElementAccessExpression(
33189
33233
  node,
33190
- nodeVisitor(node.expression, visitor, isExpression),
33191
- nodeVisitor(node.argumentExpression, visitor, isExpression)
33234
+ Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression)),
33235
+ Debug.checkDefined(nodeVisitor(node.argumentExpression, visitor, isExpression))
33192
33236
  );
33193
33237
  },
33194
33238
  [210 /* CallExpression */]: function visitEachChildOfCallExpression(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
33195
33239
  return isCallChain(node) ? context.factory.updateCallChain(
33196
33240
  node,
33197
- nodeVisitor(node.expression, visitor, isExpression),
33198
- nodeVisitor(node.questionDotToken, tokenVisitor, isQuestionDotToken),
33241
+ Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression)),
33242
+ tokenVisitor ? nodeVisitor(node.questionDotToken, tokenVisitor, isQuestionDotToken) : node.questionDotToken,
33199
33243
  nodesVisitor(node.typeArguments, visitor, isTypeNode),
33200
33244
  nodesVisitor(node.arguments, visitor, isExpression)
33201
33245
  ) : context.factory.updateCallExpression(
33202
33246
  node,
33203
- nodeVisitor(node.expression, visitor, isExpression),
33247
+ Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression)),
33204
33248
  nodesVisitor(node.typeArguments, visitor, isTypeNode),
33205
33249
  nodesVisitor(node.arguments, visitor, isExpression)
33206
33250
  );
@@ -33208,7 +33252,7 @@ var visitEachChildTable = {
33208
33252
  [211 /* NewExpression */]: function visitEachChildOfNewExpression(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
33209
33253
  return context.factory.updateNewExpression(
33210
33254
  node,
33211
- nodeVisitor(node.expression, visitor, isExpression),
33255
+ Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression)),
33212
33256
  nodesVisitor(node.typeArguments, visitor, isTypeNode),
33213
33257
  nodesVisitor(node.arguments, visitor, isExpression)
33214
33258
  );
@@ -33216,29 +33260,29 @@ var visitEachChildTable = {
33216
33260
  [212 /* TaggedTemplateExpression */]: function visitEachChildOfTaggedTemplateExpression(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
33217
33261
  return context.factory.updateTaggedTemplateExpression(
33218
33262
  node,
33219
- nodeVisitor(node.tag, visitor, isExpression),
33263
+ Debug.checkDefined(nodeVisitor(node.tag, visitor, isExpression)),
33220
33264
  nodesVisitor(node.typeArguments, visitor, isTypeNode),
33221
- nodeVisitor(node.template, visitor, isTemplateLiteral)
33265
+ Debug.checkDefined(nodeVisitor(node.template, visitor, isTemplateLiteral))
33222
33266
  );
33223
33267
  },
33224
33268
  [213 /* TypeAssertionExpression */]: function visitEachChildOfTypeAssertionExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33225
33269
  return context.factory.updateTypeAssertion(
33226
33270
  node,
33227
- nodeVisitor(node.type, visitor, isTypeNode),
33228
- nodeVisitor(node.expression, visitor, isExpression)
33271
+ Debug.checkDefined(nodeVisitor(node.type, visitor, isTypeNode)),
33272
+ Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression))
33229
33273
  );
33230
33274
  },
33231
33275
  [214 /* ParenthesizedExpression */]: function visitEachChildOfParenthesizedExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33232
33276
  return context.factory.updateParenthesizedExpression(
33233
33277
  node,
33234
- nodeVisitor(node.expression, visitor, isExpression)
33278
+ Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression))
33235
33279
  );
33236
33280
  },
33237
33281
  [215 /* FunctionExpression */]: function visitEachChildOfFunctionExpression(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
33238
33282
  return context.factory.updateFunctionExpression(
33239
33283
  node,
33240
33284
  nodesVisitor(node.modifiers, visitor, isModifier),
33241
- nodeVisitor(node.asteriskToken, tokenVisitor, isAsteriskToken),
33285
+ tokenVisitor ? nodeVisitor(node.asteriskToken, tokenVisitor, isAsteriskToken) : node.asteriskToken,
33242
33286
  nodeVisitor(node.name, visitor, isIdentifier),
33243
33287
  nodesVisitor(node.typeParameters, visitor, isTypeParameterDeclaration),
33244
33288
  visitParameterList(node.parameters, visitor, context, nodesVisitor),
@@ -33253,82 +33297,82 @@ var visitEachChildTable = {
33253
33297
  nodesVisitor(node.typeParameters, visitor, isTypeParameterDeclaration),
33254
33298
  visitParameterList(node.parameters, visitor, context, nodesVisitor),
33255
33299
  nodeVisitor(node.type, visitor, isTypeNode),
33256
- nodeVisitor(node.equalsGreaterThanToken, tokenVisitor, isEqualsGreaterThanToken),
33300
+ tokenVisitor ? Debug.checkDefined(nodeVisitor(node.equalsGreaterThanToken, tokenVisitor, isEqualsGreaterThanToken)) : node.equalsGreaterThanToken,
33257
33301
  visitFunctionBody(node.body, visitor, context, nodeVisitor)
33258
33302
  );
33259
33303
  },
33260
33304
  [217 /* DeleteExpression */]: function visitEachChildOfDeleteExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33261
33305
  return context.factory.updateDeleteExpression(
33262
33306
  node,
33263
- nodeVisitor(node.expression, visitor, isExpression)
33307
+ Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression))
33264
33308
  );
33265
33309
  },
33266
33310
  [218 /* TypeOfExpression */]: function visitEachChildOfTypeOfExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33267
33311
  return context.factory.updateTypeOfExpression(
33268
33312
  node,
33269
- nodeVisitor(node.expression, visitor, isExpression)
33313
+ Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression))
33270
33314
  );
33271
33315
  },
33272
33316
  [219 /* VoidExpression */]: function visitEachChildOfVoidExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33273
33317
  return context.factory.updateVoidExpression(
33274
33318
  node,
33275
- nodeVisitor(node.expression, visitor, isExpression)
33319
+ Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression))
33276
33320
  );
33277
33321
  },
33278
33322
  [220 /* AwaitExpression */]: function visitEachChildOfAwaitExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33279
33323
  return context.factory.updateAwaitExpression(
33280
33324
  node,
33281
- nodeVisitor(node.expression, visitor, isExpression)
33325
+ Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression))
33282
33326
  );
33283
33327
  },
33284
33328
  [221 /* PrefixUnaryExpression */]: function visitEachChildOfPrefixUnaryExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33285
33329
  return context.factory.updatePrefixUnaryExpression(
33286
33330
  node,
33287
- nodeVisitor(node.operand, visitor, isExpression)
33331
+ Debug.checkDefined(nodeVisitor(node.operand, visitor, isExpression))
33288
33332
  );
33289
33333
  },
33290
33334
  [222 /* PostfixUnaryExpression */]: function visitEachChildOfPostfixUnaryExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33291
33335
  return context.factory.updatePostfixUnaryExpression(
33292
33336
  node,
33293
- nodeVisitor(node.operand, visitor, isExpression)
33337
+ Debug.checkDefined(nodeVisitor(node.operand, visitor, isExpression))
33294
33338
  );
33295
33339
  },
33296
33340
  [223 /* BinaryExpression */]: function visitEachChildOfBinaryExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
33297
33341
  return context.factory.updateBinaryExpression(
33298
33342
  node,
33299
- nodeVisitor(node.left, visitor, isExpression),
33300
- nodeVisitor(node.operatorToken, tokenVisitor, isBinaryOperatorToken),
33301
- nodeVisitor(node.right, visitor, isExpression)
33343
+ Debug.checkDefined(nodeVisitor(node.left, visitor, isExpression)),
33344
+ tokenVisitor ? Debug.checkDefined(nodeVisitor(node.operatorToken, tokenVisitor, isBinaryOperatorToken)) : node.operatorToken,
33345
+ Debug.checkDefined(nodeVisitor(node.right, visitor, isExpression))
33302
33346
  );
33303
33347
  },
33304
33348
  [224 /* ConditionalExpression */]: function visitEachChildOfConditionalExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
33305
33349
  return context.factory.updateConditionalExpression(
33306
33350
  node,
33307
- nodeVisitor(node.condition, visitor, isExpression),
33308
- nodeVisitor(node.questionToken, tokenVisitor, isQuestionToken),
33309
- nodeVisitor(node.whenTrue, visitor, isExpression),
33310
- nodeVisitor(node.colonToken, tokenVisitor, isColonToken),
33311
- nodeVisitor(node.whenFalse, visitor, isExpression)
33351
+ Debug.checkDefined(nodeVisitor(node.condition, visitor, isExpression)),
33352
+ tokenVisitor ? Debug.checkDefined(nodeVisitor(node.questionToken, tokenVisitor, isQuestionToken)) : node.questionToken,
33353
+ Debug.checkDefined(nodeVisitor(node.whenTrue, visitor, isExpression)),
33354
+ tokenVisitor ? Debug.checkDefined(nodeVisitor(node.colonToken, tokenVisitor, isColonToken)) : node.colonToken,
33355
+ Debug.checkDefined(nodeVisitor(node.whenFalse, visitor, isExpression))
33312
33356
  );
33313
33357
  },
33314
33358
  [225 /* TemplateExpression */]: function visitEachChildOfTemplateExpression(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
33315
33359
  return context.factory.updateTemplateExpression(
33316
33360
  node,
33317
- nodeVisitor(node.head, visitor, isTemplateHead),
33361
+ Debug.checkDefined(nodeVisitor(node.head, visitor, isTemplateHead)),
33318
33362
  nodesVisitor(node.templateSpans, visitor, isTemplateSpan)
33319
33363
  );
33320
33364
  },
33321
33365
  [226 /* YieldExpression */]: function visitEachChildOfYieldExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
33322
33366
  return context.factory.updateYieldExpression(
33323
33367
  node,
33324
- nodeVisitor(node.asteriskToken, tokenVisitor, isAsteriskToken),
33368
+ tokenVisitor ? nodeVisitor(node.asteriskToken, tokenVisitor, isAsteriskToken) : node.asteriskToken,
33325
33369
  nodeVisitor(node.expression, visitor, isExpression)
33326
33370
  );
33327
33371
  },
33328
33372
  [227 /* SpreadElement */]: function visitEachChildOfSpreadElement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33329
33373
  return context.factory.updateSpreadElement(
33330
33374
  node,
33331
- nodeVisitor(node.expression, visitor, isExpression)
33375
+ Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression))
33332
33376
  );
33333
33377
  },
33334
33378
  [228 /* ClassExpression */]: function visitEachChildOfClassExpression(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
@@ -33344,45 +33388,45 @@ var visitEachChildTable = {
33344
33388
  [230 /* ExpressionWithTypeArguments */]: function visitEachChildOfExpressionWithTypeArguments(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
33345
33389
  return context.factory.updateExpressionWithTypeArguments(
33346
33390
  node,
33347
- nodeVisitor(node.expression, visitor, isExpression),
33391
+ Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression)),
33348
33392
  nodesVisitor(node.typeArguments, visitor, isTypeNode)
33349
33393
  );
33350
33394
  },
33351
33395
  [231 /* AsExpression */]: function visitEachChildOfAsExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33352
33396
  return context.factory.updateAsExpression(
33353
33397
  node,
33354
- nodeVisitor(node.expression, visitor, isExpression),
33355
- nodeVisitor(node.type, visitor, isTypeNode)
33398
+ Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression)),
33399
+ Debug.checkDefined(nodeVisitor(node.type, visitor, isTypeNode))
33356
33400
  );
33357
33401
  },
33358
33402
  [235 /* SatisfiesExpression */]: function visitEachChildOfSatisfiesExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33359
33403
  return context.factory.updateSatisfiesExpression(
33360
33404
  node,
33361
- nodeVisitor(node.expression, visitor, isExpression),
33362
- nodeVisitor(node.type, visitor, isTypeNode)
33405
+ Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression)),
33406
+ Debug.checkDefined(nodeVisitor(node.type, visitor, isTypeNode))
33363
33407
  );
33364
33408
  },
33365
33409
  [232 /* NonNullExpression */]: function visitEachChildOfNonNullExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33366
33410
  return isOptionalChain(node) ? context.factory.updateNonNullChain(
33367
33411
  node,
33368
- nodeVisitor(node.expression, visitor, isExpression)
33412
+ Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression))
33369
33413
  ) : context.factory.updateNonNullExpression(
33370
33414
  node,
33371
- nodeVisitor(node.expression, visitor, isExpression)
33415
+ Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression))
33372
33416
  );
33373
33417
  },
33374
33418
  [233 /* MetaProperty */]: function visitEachChildOfMetaProperty(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33375
33419
  return context.factory.updateMetaProperty(
33376
33420
  node,
33377
- nodeVisitor(node.name, visitor, isIdentifier)
33421
+ Debug.checkDefined(nodeVisitor(node.name, visitor, isIdentifier))
33378
33422
  );
33379
33423
  },
33380
33424
  // Misc
33381
33425
  [236 /* TemplateSpan */]: function visitEachChildOfTemplateSpan(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33382
33426
  return context.factory.updateTemplateSpan(
33383
33427
  node,
33384
- nodeVisitor(node.expression, visitor, isExpression),
33385
- nodeVisitor(node.literal, visitor, isTemplateMiddleOrTemplateTail)
33428
+ Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression)),
33429
+ Debug.checkDefined(nodeVisitor(node.literal, visitor, isTemplateMiddleOrTemplateTail))
33386
33430
  );
33387
33431
  },
33388
33432
  // Element
@@ -33396,20 +33440,20 @@ var visitEachChildTable = {
33396
33440
  return context.factory.updateVariableStatement(
33397
33441
  node,
33398
33442
  nodesVisitor(node.modifiers, visitor, isModifier),
33399
- nodeVisitor(node.declarationList, visitor, isVariableDeclarationList)
33443
+ Debug.checkDefined(nodeVisitor(node.declarationList, visitor, isVariableDeclarationList))
33400
33444
  );
33401
33445
  },
33402
33446
  [241 /* ExpressionStatement */]: function visitEachChildOfExpressionStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33403
33447
  return context.factory.updateExpressionStatement(
33404
33448
  node,
33405
- nodeVisitor(node.expression, visitor, isExpression)
33449
+ Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression))
33406
33450
  );
33407
33451
  },
33408
33452
  [242 /* IfStatement */]: function visitEachChildOfIfStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33409
33453
  return context.factory.updateIfStatement(
33410
33454
  node,
33411
- nodeVisitor(node.expression, visitor, isExpression),
33412
- nodeVisitor(node.thenStatement, visitor, isStatement, context.factory.liftToBlock),
33455
+ Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression)),
33456
+ Debug.checkDefined(nodeVisitor(node.thenStatement, visitor, isStatement, context.factory.liftToBlock)),
33413
33457
  nodeVisitor(node.elseStatement, visitor, isStatement, context.factory.liftToBlock)
33414
33458
  );
33415
33459
  },
@@ -33417,13 +33461,13 @@ var visitEachChildTable = {
33417
33461
  return context.factory.updateDoStatement(
33418
33462
  node,
33419
33463
  visitIterationBody(node.statement, visitor, context, nodeVisitor),
33420
- nodeVisitor(node.expression, visitor, isExpression)
33464
+ Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression))
33421
33465
  );
33422
33466
  },
33423
33467
  [244 /* WhileStatement */]: function visitEachChildOfWhileStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33424
33468
  return context.factory.updateWhileStatement(
33425
33469
  node,
33426
- nodeVisitor(node.expression, visitor, isExpression),
33470
+ Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression)),
33427
33471
  visitIterationBody(node.statement, visitor, context, nodeVisitor)
33428
33472
  );
33429
33473
  },
@@ -33439,17 +33483,17 @@ var visitEachChildTable = {
33439
33483
  [246 /* ForInStatement */]: function visitEachChildOfForInStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33440
33484
  return context.factory.updateForInStatement(
33441
33485
  node,
33442
- nodeVisitor(node.initializer, visitor, isForInitializer),
33443
- nodeVisitor(node.expression, visitor, isExpression),
33486
+ Debug.checkDefined(nodeVisitor(node.initializer, visitor, isForInitializer)),
33487
+ Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression)),
33444
33488
  visitIterationBody(node.statement, visitor, context, nodeVisitor)
33445
33489
  );
33446
33490
  },
33447
33491
  [247 /* ForOfStatement */]: function visitEachChildOfForOfStatement(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
33448
33492
  return context.factory.updateForOfStatement(
33449
33493
  node,
33450
- nodeVisitor(node.awaitModifier, tokenVisitor, isAwaitKeyword),
33451
- nodeVisitor(node.initializer, visitor, isForInitializer),
33452
- nodeVisitor(node.expression, visitor, isExpression),
33494
+ tokenVisitor ? nodeVisitor(node.awaitModifier, tokenVisitor, isAwaitKeyword) : node.awaitModifier,
33495
+ Debug.checkDefined(nodeVisitor(node.initializer, visitor, isForInitializer)),
33496
+ Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression)),
33453
33497
  visitIterationBody(node.statement, visitor, context, nodeVisitor)
33454
33498
  );
33455
33499
  },
@@ -33474,34 +33518,34 @@ var visitEachChildTable = {
33474
33518
  [251 /* WithStatement */]: function visitEachChildOfWithStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33475
33519
  return context.factory.updateWithStatement(
33476
33520
  node,
33477
- nodeVisitor(node.expression, visitor, isExpression),
33478
- nodeVisitor(node.statement, visitor, isStatement, context.factory.liftToBlock)
33521
+ Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression)),
33522
+ Debug.checkDefined(nodeVisitor(node.statement, visitor, isStatement, context.factory.liftToBlock))
33479
33523
  );
33480
33524
  },
33481
33525
  [252 /* SwitchStatement */]: function visitEachChildOfSwitchStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33482
33526
  return context.factory.updateSwitchStatement(
33483
33527
  node,
33484
- nodeVisitor(node.expression, visitor, isExpression),
33485
- nodeVisitor(node.caseBlock, visitor, isCaseBlock)
33528
+ Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression)),
33529
+ Debug.checkDefined(nodeVisitor(node.caseBlock, visitor, isCaseBlock))
33486
33530
  );
33487
33531
  },
33488
33532
  [253 /* LabeledStatement */]: function visitEachChildOfLabeledStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33489
33533
  return context.factory.updateLabeledStatement(
33490
33534
  node,
33491
- nodeVisitor(node.label, visitor, isIdentifier),
33492
- nodeVisitor(node.statement, visitor, isStatement, context.factory.liftToBlock)
33535
+ Debug.checkDefined(nodeVisitor(node.label, visitor, isIdentifier)),
33536
+ Debug.checkDefined(nodeVisitor(node.statement, visitor, isStatement, context.factory.liftToBlock))
33493
33537
  );
33494
33538
  },
33495
33539
  [254 /* ThrowStatement */]: function visitEachChildOfThrowStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33496
33540
  return context.factory.updateThrowStatement(
33497
33541
  node,
33498
- nodeVisitor(node.expression, visitor, isExpression)
33542
+ Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression))
33499
33543
  );
33500
33544
  },
33501
33545
  [255 /* TryStatement */]: function visitEachChildOfTryStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33502
33546
  return context.factory.updateTryStatement(
33503
33547
  node,
33504
- nodeVisitor(node.tryBlock, visitor, isBlock),
33548
+ Debug.checkDefined(nodeVisitor(node.tryBlock, visitor, isBlock)),
33505
33549
  nodeVisitor(node.catchClause, visitor, isCatchClause),
33506
33550
  nodeVisitor(node.finallyBlock, visitor, isBlock)
33507
33551
  );
@@ -33509,8 +33553,8 @@ var visitEachChildTable = {
33509
33553
  [257 /* VariableDeclaration */]: function visitEachChildOfVariableDeclaration(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
33510
33554
  return context.factory.updateVariableDeclaration(
33511
33555
  node,
33512
- nodeVisitor(node.name, visitor, isBindingName),
33513
- nodeVisitor(node.exclamationToken, tokenVisitor, isExclamationToken),
33556
+ Debug.checkDefined(nodeVisitor(node.name, visitor, isBindingName)),
33557
+ tokenVisitor ? nodeVisitor(node.exclamationToken, tokenVisitor, isExclamationToken) : node.exclamationToken,
33514
33558
  nodeVisitor(node.type, visitor, isTypeNode),
33515
33559
  nodeVisitor(node.initializer, visitor, isExpression)
33516
33560
  );
@@ -33525,7 +33569,7 @@ var visitEachChildTable = {
33525
33569
  return context.factory.updateFunctionDeclaration(
33526
33570
  node,
33527
33571
  nodesVisitor(node.modifiers, visitor, isModifier),
33528
- nodeVisitor(node.asteriskToken, tokenVisitor, isAsteriskToken),
33572
+ tokenVisitor ? nodeVisitor(node.asteriskToken, tokenVisitor, isAsteriskToken) : node.asteriskToken,
33529
33573
  nodeVisitor(node.name, visitor, isIdentifier),
33530
33574
  nodesVisitor(node.typeParameters, visitor, isTypeParameterDeclaration),
33531
33575
  visitParameterList(node.parameters, visitor, context, nodesVisitor),
@@ -33547,7 +33591,7 @@ var visitEachChildTable = {
33547
33591
  return context.factory.updateInterfaceDeclaration(
33548
33592
  node,
33549
33593
  nodesVisitor(node.modifiers, visitor, isModifier),
33550
- nodeVisitor(node.name, visitor, isIdentifier),
33594
+ Debug.checkDefined(nodeVisitor(node.name, visitor, isIdentifier)),
33551
33595
  nodesVisitor(node.typeParameters, visitor, isTypeParameterDeclaration),
33552
33596
  nodesVisitor(node.heritageClauses, visitor, isHeritageClause),
33553
33597
  nodesVisitor(node.members, visitor, isTypeElement)
@@ -33557,16 +33601,16 @@ var visitEachChildTable = {
33557
33601
  return context.factory.updateTypeAliasDeclaration(
33558
33602
  node,
33559
33603
  nodesVisitor(node.modifiers, visitor, isModifier),
33560
- nodeVisitor(node.name, visitor, isIdentifier),
33604
+ Debug.checkDefined(nodeVisitor(node.name, visitor, isIdentifier)),
33561
33605
  nodesVisitor(node.typeParameters, visitor, isTypeParameterDeclaration),
33562
- nodeVisitor(node.type, visitor, isTypeNode)
33606
+ Debug.checkDefined(nodeVisitor(node.type, visitor, isTypeNode))
33563
33607
  );
33564
33608
  },
33565
33609
  [263 /* EnumDeclaration */]: function visitEachChildOfEnumDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
33566
33610
  return context.factory.updateEnumDeclaration(
33567
33611
  node,
33568
33612
  nodesVisitor(node.modifiers, visitor, isModifier),
33569
- nodeVisitor(node.name, visitor, isIdentifier),
33613
+ Debug.checkDefined(nodeVisitor(node.name, visitor, isIdentifier)),
33570
33614
  nodesVisitor(node.members, visitor, isEnumMember)
33571
33615
  );
33572
33616
  },
@@ -33574,7 +33618,7 @@ var visitEachChildTable = {
33574
33618
  return context.factory.updateModuleDeclaration(
33575
33619
  node,
33576
33620
  nodesVisitor(node.modifiers, visitor, isModifier),
33577
- nodeVisitor(node.name, visitor, isModuleName),
33621
+ Debug.checkDefined(nodeVisitor(node.name, visitor, isModuleName)),
33578
33622
  nodeVisitor(node.body, visitor, isModuleBody)
33579
33623
  );
33580
33624
  },
@@ -33593,7 +33637,7 @@ var visitEachChildTable = {
33593
33637
  [267 /* NamespaceExportDeclaration */]: function visitEachChildOfNamespaceExportDeclaration(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33594
33638
  return context.factory.updateNamespaceExportDeclaration(
33595
33639
  node,
33596
- nodeVisitor(node.name, visitor, isIdentifier)
33640
+ Debug.checkDefined(nodeVisitor(node.name, visitor, isIdentifier))
33597
33641
  );
33598
33642
  },
33599
33643
  [268 /* ImportEqualsDeclaration */]: function visitEachChildOfImportEqualsDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
@@ -33601,8 +33645,8 @@ var visitEachChildTable = {
33601
33645
  node,
33602
33646
  nodesVisitor(node.modifiers, visitor, isModifier),
33603
33647
  node.isTypeOnly,
33604
- nodeVisitor(node.name, visitor, isIdentifier),
33605
- nodeVisitor(node.moduleReference, visitor, isModuleReference)
33648
+ Debug.checkDefined(nodeVisitor(node.name, visitor, isIdentifier)),
33649
+ Debug.checkDefined(nodeVisitor(node.moduleReference, visitor, isModuleReference))
33606
33650
  );
33607
33651
  },
33608
33652
  [269 /* ImportDeclaration */]: function visitEachChildOfImportDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
@@ -33610,7 +33654,7 @@ var visitEachChildTable = {
33610
33654
  node,
33611
33655
  nodesVisitor(node.modifiers, visitor, isModifier),
33612
33656
  nodeVisitor(node.importClause, visitor, isImportClause),
33613
- nodeVisitor(node.moduleSpecifier, visitor, isExpression),
33657
+ Debug.checkDefined(nodeVisitor(node.moduleSpecifier, visitor, isExpression)),
33614
33658
  nodeVisitor(node.assertClause, visitor, isAssertClause)
33615
33659
  );
33616
33660
  },
@@ -33624,8 +33668,8 @@ var visitEachChildTable = {
33624
33668
  [297 /* AssertEntry */]: function visitEachChildOfAssertEntry(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33625
33669
  return context.factory.updateAssertEntry(
33626
33670
  node,
33627
- nodeVisitor(node.name, visitor, isAssertionKey),
33628
- nodeVisitor(node.value, visitor, isExpression)
33671
+ Debug.checkDefined(nodeVisitor(node.name, visitor, isAssertionKey)),
33672
+ Debug.checkDefined(nodeVisitor(node.value, visitor, isExpression))
33629
33673
  );
33630
33674
  },
33631
33675
  [270 /* ImportClause */]: function visitEachChildOfImportClause(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
@@ -33639,13 +33683,13 @@ var visitEachChildTable = {
33639
33683
  [271 /* NamespaceImport */]: function visitEachChildOfNamespaceImport(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33640
33684
  return context.factory.updateNamespaceImport(
33641
33685
  node,
33642
- nodeVisitor(node.name, visitor, isIdentifier)
33686
+ Debug.checkDefined(nodeVisitor(node.name, visitor, isIdentifier))
33643
33687
  );
33644
33688
  },
33645
33689
  [277 /* NamespaceExport */]: function visitEachChildOfNamespaceExport(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33646
33690
  return context.factory.updateNamespaceExport(
33647
33691
  node,
33648
- nodeVisitor(node.name, visitor, isIdentifier)
33692
+ Debug.checkDefined(nodeVisitor(node.name, visitor, isIdentifier))
33649
33693
  );
33650
33694
  },
33651
33695
  [272 /* NamedImports */]: function visitEachChildOfNamedImports(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
@@ -33659,14 +33703,14 @@ var visitEachChildTable = {
33659
33703
  node,
33660
33704
  node.isTypeOnly,
33661
33705
  nodeVisitor(node.propertyName, visitor, isIdentifier),
33662
- nodeVisitor(node.name, visitor, isIdentifier)
33706
+ Debug.checkDefined(nodeVisitor(node.name, visitor, isIdentifier))
33663
33707
  );
33664
33708
  },
33665
33709
  [274 /* ExportAssignment */]: function visitEachChildOfExportAssignment(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
33666
33710
  return context.factory.updateExportAssignment(
33667
33711
  node,
33668
33712
  nodesVisitor(node.modifiers, visitor, isModifier),
33669
- nodeVisitor(node.expression, visitor, isExpression)
33713
+ Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression))
33670
33714
  );
33671
33715
  },
33672
33716
  [275 /* ExportDeclaration */]: function visitEachChildOfExportDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
@@ -33690,59 +33734,59 @@ var visitEachChildTable = {
33690
33734
  node,
33691
33735
  node.isTypeOnly,
33692
33736
  nodeVisitor(node.propertyName, visitor, isIdentifier),
33693
- nodeVisitor(node.name, visitor, isIdentifier)
33737
+ Debug.checkDefined(nodeVisitor(node.name, visitor, isIdentifier))
33694
33738
  );
33695
33739
  },
33696
33740
  // Module references
33697
33741
  [280 /* ExternalModuleReference */]: function visitEachChildOfExternalModuleReference(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33698
33742
  return context.factory.updateExternalModuleReference(
33699
33743
  node,
33700
- nodeVisitor(node.expression, visitor, isExpression)
33744
+ Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression))
33701
33745
  );
33702
33746
  },
33703
33747
  // JSX
33704
33748
  [281 /* JsxElement */]: function visitEachChildOfJsxElement(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
33705
33749
  return context.factory.updateJsxElement(
33706
33750
  node,
33707
- nodeVisitor(node.openingElement, visitor, isJsxOpeningElement),
33751
+ Debug.checkDefined(nodeVisitor(node.openingElement, visitor, isJsxOpeningElement)),
33708
33752
  nodesVisitor(node.children, visitor, isJsxChild),
33709
- nodeVisitor(node.closingElement, visitor, isJsxClosingElement)
33753
+ Debug.checkDefined(nodeVisitor(node.closingElement, visitor, isJsxClosingElement))
33710
33754
  );
33711
33755
  },
33712
33756
  [282 /* JsxSelfClosingElement */]: function visitEachChildOfJsxSelfClosingElement(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
33713
33757
  return context.factory.updateJsxSelfClosingElement(
33714
33758
  node,
33715
- nodeVisitor(node.tagName, visitor, isJsxTagNameExpression),
33759
+ Debug.checkDefined(nodeVisitor(node.tagName, visitor, isJsxTagNameExpression)),
33716
33760
  nodesVisitor(node.typeArguments, visitor, isTypeNode),
33717
- nodeVisitor(node.attributes, visitor, isJsxAttributes)
33761
+ Debug.checkDefined(nodeVisitor(node.attributes, visitor, isJsxAttributes))
33718
33762
  );
33719
33763
  },
33720
33764
  [283 /* JsxOpeningElement */]: function visitEachChildOfJsxOpeningElement(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
33721
33765
  return context.factory.updateJsxOpeningElement(
33722
33766
  node,
33723
- nodeVisitor(node.tagName, visitor, isJsxTagNameExpression),
33767
+ Debug.checkDefined(nodeVisitor(node.tagName, visitor, isJsxTagNameExpression)),
33724
33768
  nodesVisitor(node.typeArguments, visitor, isTypeNode),
33725
- nodeVisitor(node.attributes, visitor, isJsxAttributes)
33769
+ Debug.checkDefined(nodeVisitor(node.attributes, visitor, isJsxAttributes))
33726
33770
  );
33727
33771
  },
33728
33772
  [284 /* JsxClosingElement */]: function visitEachChildOfJsxClosingElement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33729
33773
  return context.factory.updateJsxClosingElement(
33730
33774
  node,
33731
- nodeVisitor(node.tagName, visitor, isJsxTagNameExpression)
33775
+ Debug.checkDefined(nodeVisitor(node.tagName, visitor, isJsxTagNameExpression))
33732
33776
  );
33733
33777
  },
33734
33778
  [285 /* JsxFragment */]: function visitEachChildOfJsxFragment(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
33735
33779
  return context.factory.updateJsxFragment(
33736
33780
  node,
33737
- nodeVisitor(node.openingFragment, visitor, isJsxOpeningFragment),
33781
+ Debug.checkDefined(nodeVisitor(node.openingFragment, visitor, isJsxOpeningFragment)),
33738
33782
  nodesVisitor(node.children, visitor, isJsxChild),
33739
- nodeVisitor(node.closingFragment, visitor, isJsxClosingFragment)
33783
+ Debug.checkDefined(nodeVisitor(node.closingFragment, visitor, isJsxClosingFragment))
33740
33784
  );
33741
33785
  },
33742
33786
  [288 /* JsxAttribute */]: function visitEachChildOfJsxAttribute(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33743
33787
  return context.factory.updateJsxAttribute(
33744
33788
  node,
33745
- nodeVisitor(node.name, visitor, isIdentifier),
33789
+ Debug.checkDefined(nodeVisitor(node.name, visitor, isIdentifier)),
33746
33790
  nodeVisitor(node.initializer, visitor, isStringLiteralOrJsxExpression)
33747
33791
  );
33748
33792
  },
@@ -33755,20 +33799,20 @@ var visitEachChildTable = {
33755
33799
  [290 /* JsxSpreadAttribute */]: function visitEachChildOfJsxSpreadAttribute(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33756
33800
  return context.factory.updateJsxSpreadAttribute(
33757
33801
  node,
33758
- nodeVisitor(node.expression, visitor, isExpression)
33802
+ Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression))
33759
33803
  );
33760
33804
  },
33761
33805
  [291 /* JsxExpression */]: function visitEachChildOfJsxExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33762
33806
  return context.factory.updateJsxExpression(
33763
33807
  node,
33764
- nodeVisitor(node.expression, visitor, isExpression)
33808
+ Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression))
33765
33809
  );
33766
33810
  },
33767
33811
  // Clauses
33768
33812
  [292 /* CaseClause */]: function visitEachChildOfCaseClause(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
33769
33813
  return context.factory.updateCaseClause(
33770
33814
  node,
33771
- nodeVisitor(node.expression, visitor, isExpression),
33815
+ Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression)),
33772
33816
  nodesVisitor(node.statements, visitor, isStatement)
33773
33817
  );
33774
33818
  },
@@ -33788,35 +33832,35 @@ var visitEachChildTable = {
33788
33832
  return context.factory.updateCatchClause(
33789
33833
  node,
33790
33834
  nodeVisitor(node.variableDeclaration, visitor, isVariableDeclaration),
33791
- nodeVisitor(node.block, visitor, isBlock)
33835
+ Debug.checkDefined(nodeVisitor(node.block, visitor, isBlock))
33792
33836
  );
33793
33837
  },
33794
33838
  // Property assignments
33795
33839
  [299 /* PropertyAssignment */]: function visitEachChildOfPropertyAssignment(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33796
33840
  return context.factory.updatePropertyAssignment(
33797
33841
  node,
33798
- nodeVisitor(node.name, visitor, isPropertyName),
33799
- nodeVisitor(node.initializer, visitor, isExpression)
33842
+ Debug.checkDefined(nodeVisitor(node.name, visitor, isPropertyName)),
33843
+ Debug.checkDefined(nodeVisitor(node.initializer, visitor, isExpression))
33800
33844
  );
33801
33845
  },
33802
33846
  [300 /* ShorthandPropertyAssignment */]: function visitEachChildOfShorthandPropertyAssignment(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33803
33847
  return context.factory.updateShorthandPropertyAssignment(
33804
33848
  node,
33805
- nodeVisitor(node.name, visitor, isIdentifier),
33849
+ Debug.checkDefined(nodeVisitor(node.name, visitor, isIdentifier)),
33806
33850
  nodeVisitor(node.objectAssignmentInitializer, visitor, isExpression)
33807
33851
  );
33808
33852
  },
33809
33853
  [301 /* SpreadAssignment */]: function visitEachChildOfSpreadAssignment(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33810
33854
  return context.factory.updateSpreadAssignment(
33811
33855
  node,
33812
- nodeVisitor(node.expression, visitor, isExpression)
33856
+ Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression))
33813
33857
  );
33814
33858
  },
33815
33859
  // Enum
33816
33860
  [302 /* EnumMember */]: function visitEachChildOfEnumMember(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33817
33861
  return context.factory.updateEnumMember(
33818
33862
  node,
33819
- nodeVisitor(node.name, visitor, isPropertyName),
33863
+ Debug.checkDefined(nodeVisitor(node.name, visitor, isPropertyName)),
33820
33864
  nodeVisitor(node.initializer, visitor, isExpression)
33821
33865
  );
33822
33866
  },
@@ -33828,13 +33872,13 @@ var visitEachChildTable = {
33828
33872
  );
33829
33873
  },
33830
33874
  // Transformation nodes
33831
- [355 /* PartiallyEmittedExpression */]: function visitEachChildOfPartiallyEmittedExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33875
+ [356 /* PartiallyEmittedExpression */]: function visitEachChildOfPartiallyEmittedExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
33832
33876
  return context.factory.updatePartiallyEmittedExpression(
33833
33877
  node,
33834
- nodeVisitor(node.expression, visitor, isExpression)
33878
+ Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression))
33835
33879
  );
33836
33880
  },
33837
- [356 /* CommaListExpression */]: function visitEachChildOfCommaListExpression(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
33881
+ [357 /* CommaListExpression */]: function visitEachChildOfCommaListExpression(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
33838
33882
  return context.factory.updateCommaListExpression(
33839
33883
  node,
33840
33884
  nodesVisitor(node.elements, visitor, isExpression)
@@ -35216,7 +35260,7 @@ function sameFiles(a, b, caseSensitive) {
35216
35260
  return a === b || !caseSensitive && compareStringsCaseInsensitive(a, b) === 0 /* EqualTo */;
35217
35261
  }
35218
35262
  function getDetailWatchInfo(projectName, watchers) {
35219
- return `Project: ${projectName} watcher already invoked: ${watchers.isInvoked}`;
35263
+ return `Project: ${projectName} watcher already invoked: ${watchers == null ? void 0 : watchers.isInvoked}`;
35220
35264
  }
35221
35265
  var TypingsInstaller = class {
35222
35266
  constructor(installTypingHost, globalCachePath, safeListPath, typesMapLocation2, throttleLimit, log2 = nullLog) {