@typescript-deploys/pr-build 5.0.0-pr-49929-73 → 5.0.0-pr-52280-2

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.
@@ -42,7 +42,7 @@ var ts = (() => {
42
42
  "src/compiler/corePublic.ts"() {
43
43
  "use strict";
44
44
  versionMajorMinor = "5.0";
45
- version = `${versionMajorMinor}.0-insiders.20230116`;
45
+ version = `${versionMajorMinor}.0-insiders.20230117`;
46
46
  Comparison = /* @__PURE__ */ ((Comparison3) => {
47
47
  Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
48
48
  Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -3900,14 +3900,15 @@ ${lanes.join("\n")}
3900
3900
  SyntaxKind5[SyntaxKind5["JSDocSeeTag"] = 350] = "JSDocSeeTag";
3901
3901
  SyntaxKind5[SyntaxKind5["JSDocPropertyTag"] = 351] = "JSDocPropertyTag";
3902
3902
  SyntaxKind5[SyntaxKind5["JSDocThrowsTag"] = 352] = "JSDocThrowsTag";
3903
- SyntaxKind5[SyntaxKind5["SyntaxList"] = 353] = "SyntaxList";
3904
- SyntaxKind5[SyntaxKind5["NotEmittedStatement"] = 354] = "NotEmittedStatement";
3905
- SyntaxKind5[SyntaxKind5["PartiallyEmittedExpression"] = 355] = "PartiallyEmittedExpression";
3906
- SyntaxKind5[SyntaxKind5["CommaListExpression"] = 356] = "CommaListExpression";
3907
- SyntaxKind5[SyntaxKind5["MergeDeclarationMarker"] = 357] = "MergeDeclarationMarker";
3908
- SyntaxKind5[SyntaxKind5["EndOfDeclarationMarker"] = 358] = "EndOfDeclarationMarker";
3909
- SyntaxKind5[SyntaxKind5["SyntheticReferenceExpression"] = 359] = "SyntheticReferenceExpression";
3910
- SyntaxKind5[SyntaxKind5["Count"] = 360] = "Count";
3903
+ SyntaxKind5[SyntaxKind5["JSDocSatisfiesTag"] = 353] = "JSDocSatisfiesTag";
3904
+ SyntaxKind5[SyntaxKind5["SyntaxList"] = 354] = "SyntaxList";
3905
+ SyntaxKind5[SyntaxKind5["NotEmittedStatement"] = 355] = "NotEmittedStatement";
3906
+ SyntaxKind5[SyntaxKind5["PartiallyEmittedExpression"] = 356] = "PartiallyEmittedExpression";
3907
+ SyntaxKind5[SyntaxKind5["CommaListExpression"] = 357] = "CommaListExpression";
3908
+ SyntaxKind5[SyntaxKind5["MergeDeclarationMarker"] = 358] = "MergeDeclarationMarker";
3909
+ SyntaxKind5[SyntaxKind5["EndOfDeclarationMarker"] = 359] = "EndOfDeclarationMarker";
3910
+ SyntaxKind5[SyntaxKind5["SyntheticReferenceExpression"] = 360] = "SyntheticReferenceExpression";
3911
+ SyntaxKind5[SyntaxKind5["Count"] = 361] = "Count";
3911
3912
  SyntaxKind5[SyntaxKind5["FirstAssignment"] = 63 /* EqualsToken */] = "FirstAssignment";
3912
3913
  SyntaxKind5[SyntaxKind5["LastAssignment"] = 78 /* CaretEqualsToken */] = "LastAssignment";
3913
3914
  SyntaxKind5[SyntaxKind5["FirstCompoundAssignment"] = 64 /* PlusEqualsToken */] = "FirstCompoundAssignment";
@@ -3936,9 +3937,9 @@ ${lanes.join("\n")}
3936
3937
  SyntaxKind5[SyntaxKind5["LastStatement"] = 256 /* DebuggerStatement */] = "LastStatement";
3937
3938
  SyntaxKind5[SyntaxKind5["FirstNode"] = 163 /* QualifiedName */] = "FirstNode";
3938
3939
  SyntaxKind5[SyntaxKind5["FirstJSDocNode"] = 312 /* JSDocTypeExpression */] = "FirstJSDocNode";
3939
- SyntaxKind5[SyntaxKind5["LastJSDocNode"] = 352 /* JSDocThrowsTag */] = "LastJSDocNode";
3940
+ SyntaxKind5[SyntaxKind5["LastJSDocNode"] = 353 /* JSDocSatisfiesTag */] = "LastJSDocNode";
3940
3941
  SyntaxKind5[SyntaxKind5["FirstJSDocTagNode"] = 330 /* JSDocTag */] = "FirstJSDocTagNode";
3941
- SyntaxKind5[SyntaxKind5["LastJSDocTagNode"] = 352 /* JSDocThrowsTag */] = "LastJSDocTagNode";
3942
+ SyntaxKind5[SyntaxKind5["LastJSDocTagNode"] = 353 /* JSDocSatisfiesTag */] = "LastJSDocTagNode";
3942
3943
  SyntaxKind5[SyntaxKind5["FirstContextualKeyword"] = 126 /* AbstractKeyword */] = "FirstContextualKeyword";
3943
3944
  SyntaxKind5[SyntaxKind5["LastContextualKeyword"] = 162 /* OfKeyword */] = "LastContextualKeyword";
3944
3945
  return SyntaxKind5;
@@ -7171,7 +7172,6 @@ ${lanes.join("\n")}
7171
7172
  An_export_declaration_cannot_have_modifiers: diag(1193, 1 /* Error */, "An_export_declaration_cannot_have_modifiers_1193", "An export declaration cannot have modifiers."),
7172
7173
  Export_declarations_are_not_permitted_in_a_namespace: diag(1194, 1 /* Error */, "Export_declarations_are_not_permitted_in_a_namespace_1194", "Export declarations are not permitted in a namespace."),
7173
7174
  export_Asterisk_does_not_re_export_a_default: diag(1195, 1 /* Error */, "export_Asterisk_does_not_re_export_a_default_1195", "'export *' does not re-export a default."),
7174
- Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified: diag(1196, 1 /* Error */, "Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified_1196", "Catch clause variable type annotation must be 'any' or 'unknown' if specified."),
7175
7175
  Catch_clause_variable_cannot_have_an_initializer: diag(1197, 1 /* Error */, "Catch_clause_variable_cannot_have_an_initializer_1197", "Catch clause variable cannot have an initializer."),
7176
7176
  An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive: diag(1198, 1 /* Error */, "An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive_1198", "An extended Unicode escape value must be between 0x0 and 0x10FFFF inclusive."),
7177
7177
  Unterminated_Unicode_escape_sequence: diag(1199, 1 /* Error */, "Unterminated_Unicode_escape_sequence_1199", "Unterminated Unicode escape sequence."),
@@ -9039,7 +9039,8 @@ ${lanes.join("\n")}
9039
9039
  _0_is_possibly_null: diag(18047, 1 /* Error */, "_0_is_possibly_null_18047", "'{0}' is possibly 'null'."),
9040
9040
  _0_is_possibly_undefined: diag(18048, 1 /* Error */, "_0_is_possibly_undefined_18048", "'{0}' is possibly 'undefined'."),
9041
9041
  _0_is_possibly_null_or_undefined: diag(18049, 1 /* Error */, "_0_is_possibly_null_or_undefined_18049", "'{0}' is possibly 'null' or 'undefined'."),
9042
- 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.")
9042
+ 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."),
9043
+ 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.")
9043
9044
  };
9044
9045
  }
9045
9046
  });
@@ -9492,7 +9493,10 @@ ${lanes.join("\n")}
9492
9493
  initial
9493
9494
  );
9494
9495
  }
9495
- function appendCommentRange(pos, end, kind, hasTrailingNewLine, _state, comments = []) {
9496
+ function appendCommentRange(pos, end, kind, hasTrailingNewLine, _state, comments) {
9497
+ if (!comments) {
9498
+ comments = [];
9499
+ }
9496
9500
  comments.push({ kind, pos, end, hasTrailingNewLine });
9497
9501
  return comments;
9498
9502
  }
@@ -11440,10 +11444,7 @@ ${lanes.join("\n")}
11440
11444
  node = node.original;
11441
11445
  }
11442
11446
  }
11443
- if (!node || !nodeTest) {
11444
- return node;
11445
- }
11446
- return nodeTest(node) ? node : void 0;
11447
+ return !nodeTest || nodeTest(node) ? node : void 0;
11447
11448
  }
11448
11449
  function findAncestor(node, callback) {
11449
11450
  while (node) {
@@ -11761,6 +11762,9 @@ ${lanes.join("\n")}
11761
11762
  function getJSDocTemplateTag(node) {
11762
11763
  return getFirstJSDocTag(node, isJSDocTemplateTag);
11763
11764
  }
11765
+ function getJSDocSatisfiesTag(node) {
11766
+ return getFirstJSDocTag(node, isJSDocSatisfiesTag);
11767
+ }
11764
11768
  function getJSDocTypeTag(node) {
11765
11769
  const tag = getFirstJSDocTag(node, isJSDocTypeTag);
11766
11770
  if (tag && tag.typeExpression && tag.typeExpression.type) {
@@ -12184,9 +12188,6 @@ ${lanes.join("\n")}
12184
12188
  }
12185
12189
  return false;
12186
12190
  }
12187
- function isBindingOrAssignmentElement(node) {
12188
- return isVariableDeclaration(node) || isParameter(node) || isObjectBindingOrAssignmentElement(node) || isArrayBindingOrAssignmentElement(node);
12189
- }
12190
12191
  function isBindingOrAssignmentPattern(node) {
12191
12192
  return isObjectBindingOrAssignmentPattern(node) || isArrayBindingOrAssignmentPattern(node);
12192
12193
  }
@@ -12216,24 +12217,6 @@ ${lanes.join("\n")}
12216
12217
  }
12217
12218
  return false;
12218
12219
  }
12219
- function isArrayBindingOrAssignmentElement(node) {
12220
- switch (node.kind) {
12221
- case 205 /* BindingElement */:
12222
- case 229 /* OmittedExpression */:
12223
- case 227 /* SpreadElement */:
12224
- case 206 /* ArrayLiteralExpression */:
12225
- case 207 /* ObjectLiteralExpression */:
12226
- case 79 /* Identifier */:
12227
- case 208 /* PropertyAccessExpression */:
12228
- case 209 /* ElementAccessExpression */:
12229
- return true;
12230
- }
12231
- return isAssignmentExpression(
12232
- node,
12233
- /*excludeCompoundAssignment*/
12234
- true
12235
- );
12236
- }
12237
12220
  function isPropertyAccessOrQualifiedNameOrImportTypeNode(node) {
12238
12221
  const kind = node.kind;
12239
12222
  return kind === 208 /* PropertyAccessExpression */ || kind === 163 /* QualifiedName */ || kind === 202 /* ImportType */;
@@ -12329,18 +12312,6 @@ ${lanes.join("\n")}
12329
12312
  return false;
12330
12313
  }
12331
12314
  }
12332
- function isLiteralTypeLiteral(node) {
12333
- node = skipPartiallyEmittedExpressions(node);
12334
- switch (skipPartiallyEmittedExpressions(node).kind) {
12335
- case 104 /* NullKeyword */:
12336
- case 110 /* TrueKeyword */:
12337
- case 95 /* FalseKeyword */:
12338
- case 221 /* PrefixUnaryExpression */:
12339
- return true;
12340
- default:
12341
- return isLiteralExpression(node);
12342
- }
12343
- }
12344
12315
  function isExpression(node) {
12345
12316
  return isExpressionKind(skipPartiallyEmittedExpressions(node).kind);
12346
12317
  }
@@ -12353,8 +12324,8 @@ ${lanes.join("\n")}
12353
12324
  case 227 /* SpreadElement */:
12354
12325
  case 231 /* AsExpression */:
12355
12326
  case 229 /* OmittedExpression */:
12356
- case 356 /* CommaListExpression */:
12357
- case 355 /* PartiallyEmittedExpression */:
12327
+ case 357 /* CommaListExpression */:
12328
+ case 356 /* PartiallyEmittedExpression */:
12358
12329
  case 235 /* SatisfiesExpression */:
12359
12330
  return true;
12360
12331
  default:
@@ -12539,7 +12510,7 @@ ${lanes.join("\n")}
12539
12510
  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 */;
12540
12511
  }
12541
12512
  function isStatementKindButNotDeclarationKind(kind) {
12542
- 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 */;
12513
+ 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 */;
12543
12514
  }
12544
12515
  function isDeclaration(node) {
12545
12516
  if (node.kind === 165 /* TypeParameter */) {
@@ -12600,13 +12571,13 @@ ${lanes.join("\n")}
12600
12571
  return kind === 292 /* CaseClause */ || kind === 293 /* DefaultClause */;
12601
12572
  }
12602
12573
  function isJSDocNode(node) {
12603
- return node.kind >= 312 /* FirstJSDocNode */ && node.kind <= 352 /* LastJSDocNode */;
12574
+ return node.kind >= 312 /* FirstJSDocNode */ && node.kind <= 353 /* LastJSDocNode */;
12604
12575
  }
12605
12576
  function isJSDocCommentContainingNode(node) {
12606
12577
  return node.kind === 323 /* JSDoc */ || node.kind === 322 /* JSDocNamepathType */ || node.kind === 324 /* JSDocText */ || isJSDocLinkLike(node) || isJSDocTag(node) || isJSDocTypeLiteral(node) || isJSDocSignature(node);
12607
12578
  }
12608
12579
  function isJSDocTag(node) {
12609
- return node.kind >= 330 /* FirstJSDocTagNode */ && node.kind <= 352 /* LastJSDocTagNode */;
12580
+ return node.kind >= 330 /* FirstJSDocTagNode */ && node.kind <= 353 /* LastJSDocTagNode */;
12610
12581
  }
12611
12582
  function isSetAccessor(node) {
12612
12583
  return node.kind === 175 /* SetAccessor */;
@@ -13026,7 +12997,7 @@ ${lanes.join("\n")}
13026
12997
  if (includeJsDoc && hasJSDocNodes(node)) {
13027
12998
  return getTokenPosOfNode(node.jsDoc[0], sourceFile);
13028
12999
  }
13029
- if (node.kind === 353 /* SyntaxList */ && node._children.length > 0) {
13000
+ if (node.kind === 354 /* SyntaxList */ && node._children.length > 0) {
13030
13001
  return getTokenPosOfNode(node._children[0], sourceFile, includeJsDoc);
13031
13002
  }
13032
13003
  return skipTrivia(
@@ -13327,7 +13298,6 @@ ${lanes.join("\n")}
13327
13298
  return false;
13328
13299
  }
13329
13300
  function isDeclarationWithTypeParameters(node) {
13330
- Debug.type(node);
13331
13301
  switch (node.kind) {
13332
13302
  case 341 /* JSDocCallbackTag */:
13333
13303
  case 349 /* JSDocTypedefTag */:
@@ -13339,7 +13309,6 @@ ${lanes.join("\n")}
13339
13309
  }
13340
13310
  }
13341
13311
  function isDeclarationWithTypeParameterChildren(node) {
13342
- Debug.type(node);
13343
13312
  switch (node.kind) {
13344
13313
  case 176 /* CallSignature */:
13345
13314
  case 177 /* ConstructSignature */:
@@ -14894,7 +14863,7 @@ ${lanes.join("\n")}
14894
14863
  return ownsJSDocTag(hostNode, jsDoc) ? [jsDoc] : void 0;
14895
14864
  }
14896
14865
  function ownsJSDocTag(hostNode, tag) {
14897
- return !isJSDocTypeTag(tag) || !tag.parent || !isJSDoc(tag.parent) || !isParenthesizedExpression(tag.parent.parent) || tag.parent.parent === hostNode;
14866
+ return !(isJSDocTypeTag(tag) || isJSDocSatisfiesTag(tag)) || !tag.parent || !isJSDoc(tag.parent) || !isParenthesizedExpression(tag.parent.parent) || tag.parent.parent === hostNode;
14898
14867
  }
14899
14868
  function getNextJSDocCommentLocation(node) {
14900
14869
  const parent2 = node.parent;
@@ -15430,7 +15399,7 @@ ${lanes.join("\n")}
15430
15399
  }
15431
15400
  function getOperatorPrecedence(nodeKind, operatorKind, hasArguments) {
15432
15401
  switch (nodeKind) {
15433
- case 356 /* CommaListExpression */:
15402
+ case 357 /* CommaListExpression */:
15434
15403
  return 0 /* Comma */;
15435
15404
  case 227 /* SpreadElement */:
15436
15405
  return 1 /* Spread */;
@@ -16400,14 +16369,23 @@ ${lanes.join("\n")}
16400
16369
  }
16401
16370
  return 0 /* None */;
16402
16371
  }
16372
+ function isBinaryLogicalOperator(token) {
16373
+ return token === 56 /* BarBarToken */ || token === 55 /* AmpersandAmpersandToken */;
16374
+ }
16403
16375
  function isLogicalOperator(token) {
16404
- return token === 56 /* BarBarToken */ || token === 55 /* AmpersandAmpersandToken */ || token === 53 /* ExclamationToken */;
16376
+ return isBinaryLogicalOperator(token) || token === 53 /* ExclamationToken */;
16405
16377
  }
16406
16378
  function isLogicalOrCoalescingAssignmentOperator(token) {
16407
16379
  return token === 75 /* BarBarEqualsToken */ || token === 76 /* AmpersandAmpersandEqualsToken */ || token === 77 /* QuestionQuestionEqualsToken */;
16408
16380
  }
16409
16381
  function isLogicalOrCoalescingAssignmentExpression(expr) {
16410
- return isLogicalOrCoalescingAssignmentOperator(expr.operatorToken.kind);
16382
+ return isBinaryExpression(expr) && isLogicalOrCoalescingAssignmentOperator(expr.operatorToken.kind);
16383
+ }
16384
+ function isLogicalOrCoalescingBinaryOperator(token) {
16385
+ return isBinaryLogicalOperator(token) || token === 60 /* QuestionQuestionToken */;
16386
+ }
16387
+ function isLogicalOrCoalescingBinaryExpression(expr) {
16388
+ return isBinaryExpression(expr) && isLogicalOrCoalescingBinaryOperator(expr.operatorToken.kind);
16411
16389
  }
16412
16390
  function isAssignmentOperator(token) {
16413
16391
  return token >= 63 /* FirstAssignment */ && token <= 78 /* LastAssignment */;
@@ -16781,7 +16759,7 @@ ${lanes.join("\n")}
16781
16759
  return filter(node.declarations, isInitializedVariable);
16782
16760
  }
16783
16761
  function isInitializedVariable(node) {
16784
- return isVariableDeclaration(node) && node.initializer !== void 0;
16762
+ return node.initializer !== void 0;
16785
16763
  }
16786
16764
  function isWatchSet(options) {
16787
16765
  return options.watch && hasProperty(options, "watch");
@@ -16962,7 +16940,7 @@ ${lanes.join("\n")}
16962
16940
  return isClassLike(node) || isInterfaceDeclaration(node) || isTypeLiteralNode(node);
16963
16941
  }
16964
16942
  function isTypeNodeKind(kind) {
16965
- 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 */;
16943
+ 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 */;
16966
16944
  }
16967
16945
  function isAccessExpression(node) {
16968
16946
  return node.kind === 208 /* PropertyAccessExpression */ || node.kind === 209 /* ElementAccessExpression */;
@@ -17044,7 +17022,7 @@ ${lanes.join("\n")}
17044
17022
  case 209 /* ElementAccessExpression */:
17045
17023
  case 208 /* PropertyAccessExpression */:
17046
17024
  case 232 /* NonNullExpression */:
17047
- case 355 /* PartiallyEmittedExpression */:
17025
+ case 356 /* PartiallyEmittedExpression */:
17048
17026
  case 235 /* SatisfiesExpression */:
17049
17027
  node = node.expression;
17050
17028
  continue;
@@ -18285,7 +18263,7 @@ ${lanes.join("\n")}
18285
18263
  return parent2.types;
18286
18264
  case 186 /* TupleType */:
18287
18265
  case 206 /* ArrayLiteralExpression */:
18288
- case 356 /* CommaListExpression */:
18266
+ case 357 /* CommaListExpression */:
18289
18267
  case 272 /* NamedImports */:
18290
18268
  case 276 /* NamedExports */:
18291
18269
  return parent2.elements;
@@ -18470,6 +18448,16 @@ ${lanes.join("\n")}
18470
18448
  const kind = node.kind;
18471
18449
  return (kind === 208 /* PropertyAccessExpression */ || kind === 209 /* ElementAccessExpression */) && isNonNullExpression(node.expression);
18472
18450
  }
18451
+ function isJSDocSatisfiesExpression(node) {
18452
+ return isInJSFile(node) && isParenthesizedExpression(node) && hasJSDocNodes(node) && !!getJSDocSatisfiesTag(node);
18453
+ }
18454
+ function getJSDocSatisfiesExpressionType(node) {
18455
+ return Debug.checkDefined(tryGetJSDocSatisfiesTypeNode(node));
18456
+ }
18457
+ function tryGetJSDocSatisfiesTypeNode(node) {
18458
+ const tag = getJSDocSatisfiesTag(node);
18459
+ return tag && tag.typeExpression && tag.typeExpression.type;
18460
+ }
18473
18461
  var resolvingEmptyArray, externalHelpersModuleNameText, defaultMaximumTruncationLength, noTruncationMaximumTruncationLength, stringWriter, GetLiteralTextFlags, fullTripleSlashReferencePathRegEx, fullTripleSlashReferenceTypeReferenceDirectiveRegEx, fullTripleSlashAMDReferencePathRegEx, defaultLibReferenceRegEx, AssignmentKind, FunctionFlags, Associativity, OperatorPrecedence, templateSubstitutionRegExp, doubleQuoteEscapedCharsRegExp, singleQuoteEscapedCharsRegExp, backtickQuoteEscapedCharsRegExp, escapedCharsMap, nonAsciiCharacters, jsxDoubleQuoteEscapedCharsRegExp, jsxSingleQuoteEscapedCharsRegExp, jsxEscapedCharsMap, indentStrings, base64Digits, carriageReturnLineFeed, lineFeed, AccessKind, objectAllocator, objectAllocatorPatchers, localizedDiagnosticMessages, reservedCharacterPattern, wildcardCharCodes, commonPackageFolders, implicitExcludePathRegexPattern, filesMatcher, directoriesMatcher, excludeMatcher, wildcardMatchers, supportedTSExtensions, supportedTSExtensionsFlat, supportedTSExtensionsWithJson, supportedTSExtensionsForExtractExtension, supportedJSExtensions, supportedJSExtensionsFlat, allSupportedExtensions, allSupportedExtensionsWithJson, supportedDeclarationExtensions, supportedTSImplementationExtensions, ModuleSpecifierEnding, extensionsToRemove, emptyFileSystemEntries;
18474
18462
  var init_utilities = __esm({
18475
18463
  "src/compiler/utilities.ts"() {
@@ -19688,6 +19676,12 @@ ${lanes.join("\n")}
19688
19676
  get updateJSDocThrowsTag() {
19689
19677
  return getJSDocTypeLikeTagUpdateFunction(352 /* JSDocThrowsTag */);
19690
19678
  },
19679
+ get createJSDocSatisfiesTag() {
19680
+ return getJSDocTypeLikeTagCreateFunction(353 /* JSDocSatisfiesTag */);
19681
+ },
19682
+ get updateJSDocSatisfiesTag() {
19683
+ return getJSDocTypeLikeTagUpdateFunction(353 /* JSDocSatisfiesTag */);
19684
+ },
19691
19685
  createJSDocEnumTag: createJSDocEnumTag2,
19692
19686
  updateJSDocEnumTag,
19693
19687
  createJSDocUnknownTag,
@@ -22847,18 +22841,18 @@ ${lanes.join("\n")}
22847
22841
  return node;
22848
22842
  }
22849
22843
  function createSyntaxList3(children) {
22850
- const node = createBaseNode(353 /* SyntaxList */);
22844
+ const node = createBaseNode(354 /* SyntaxList */);
22851
22845
  node._children = children;
22852
22846
  return node;
22853
22847
  }
22854
22848
  function createNotEmittedStatement2(original) {
22855
- const node = createBaseNode(354 /* NotEmittedStatement */);
22849
+ const node = createBaseNode(355 /* NotEmittedStatement */);
22856
22850
  node.original = original;
22857
22851
  setTextRange(node, original);
22858
22852
  return node;
22859
22853
  }
22860
22854
  function createPartiallyEmittedExpression2(expression, original) {
22861
- const node = createBaseNode(355 /* PartiallyEmittedExpression */);
22855
+ const node = createBaseNode(356 /* PartiallyEmittedExpression */);
22862
22856
  node.expression = expression;
22863
22857
  node.original = original;
22864
22858
  node.transformFlags |= propagateChildFlags(node.expression) | 1 /* ContainsTypeScript */;
@@ -22880,7 +22874,7 @@ ${lanes.join("\n")}
22880
22874
  return node;
22881
22875
  }
22882
22876
  function createCommaListExpression(elements) {
22883
- const node = createBaseNode(356 /* CommaListExpression */);
22877
+ const node = createBaseNode(357 /* CommaListExpression */);
22884
22878
  node.elements = createNodeArray2(sameFlatMap(elements, flattenCommaElements));
22885
22879
  node.transformFlags |= propagateChildrenFlags(node.elements);
22886
22880
  return node;
@@ -22889,19 +22883,19 @@ ${lanes.join("\n")}
22889
22883
  return node.elements !== elements ? update(createCommaListExpression(elements), node) : node;
22890
22884
  }
22891
22885
  function createEndOfDeclarationMarker(original) {
22892
- const node = createBaseNode(358 /* EndOfDeclarationMarker */);
22886
+ const node = createBaseNode(359 /* EndOfDeclarationMarker */);
22893
22887
  node.emitNode = {};
22894
22888
  node.original = original;
22895
22889
  return node;
22896
22890
  }
22897
22891
  function createMergeDeclarationMarker(original) {
22898
- const node = createBaseNode(357 /* MergeDeclarationMarker */);
22892
+ const node = createBaseNode(358 /* MergeDeclarationMarker */);
22899
22893
  node.emitNode = {};
22900
22894
  node.original = original;
22901
22895
  return node;
22902
22896
  }
22903
22897
  function createSyntheticReferenceExpression(expression, thisArg) {
22904
- const node = createBaseNode(359 /* SyntheticReferenceExpression */);
22898
+ const node = createBaseNode(360 /* SyntheticReferenceExpression */);
22905
22899
  node.expression = expression;
22906
22900
  node.thisArg = thisArg;
22907
22901
  node.transformFlags |= propagateChildFlags(node.expression) | propagateChildFlags(node.thisArg);
@@ -23141,7 +23135,7 @@ ${lanes.join("\n")}
23141
23135
  return updateSatisfiesExpression(outerExpression, expression, outerExpression.type);
23142
23136
  case 232 /* NonNullExpression */:
23143
23137
  return updateNonNullExpression2(outerExpression, expression);
23144
- case 355 /* PartiallyEmittedExpression */:
23138
+ case 356 /* PartiallyEmittedExpression */:
23145
23139
  return updatePartiallyEmittedExpression2(outerExpression, expression);
23146
23140
  }
23147
23141
  }
@@ -23675,7 +23669,7 @@ ${lanes.join("\n")}
23675
23669
  case 213 /* TypeAssertionExpression */:
23676
23670
  case 235 /* SatisfiesExpression */:
23677
23671
  case 231 /* AsExpression */:
23678
- case 355 /* PartiallyEmittedExpression */:
23672
+ case 356 /* PartiallyEmittedExpression */:
23679
23673
  case 214 /* ParenthesizedExpression */:
23680
23674
  case 106 /* SuperKeyword */:
23681
23675
  return -2147483648 /* OuterExpressionExcludes */;
@@ -25343,10 +25337,10 @@ ${lanes.join("\n")}
25343
25337
  return node.kind === 234 /* SyntheticExpression */;
25344
25338
  }
25345
25339
  function isPartiallyEmittedExpression(node) {
25346
- return node.kind === 355 /* PartiallyEmittedExpression */;
25340
+ return node.kind === 356 /* PartiallyEmittedExpression */;
25347
25341
  }
25348
25342
  function isCommaListExpression(node) {
25349
- return node.kind === 356 /* CommaListExpression */;
25343
+ return node.kind === 357 /* CommaListExpression */;
25350
25344
  }
25351
25345
  function isTemplateSpan(node) {
25352
25346
  return node.kind === 236 /* TemplateSpan */;
@@ -25490,16 +25484,16 @@ ${lanes.join("\n")}
25490
25484
  return node.kind === 279 /* MissingDeclaration */;
25491
25485
  }
25492
25486
  function isNotEmittedStatement(node) {
25493
- return node.kind === 354 /* NotEmittedStatement */;
25487
+ return node.kind === 355 /* NotEmittedStatement */;
25494
25488
  }
25495
25489
  function isSyntheticReference(node) {
25496
- return node.kind === 359 /* SyntheticReferenceExpression */;
25490
+ return node.kind === 360 /* SyntheticReferenceExpression */;
25497
25491
  }
25498
25492
  function isMergeDeclarationMarker(node) {
25499
- return node.kind === 357 /* MergeDeclarationMarker */;
25493
+ return node.kind === 358 /* MergeDeclarationMarker */;
25500
25494
  }
25501
25495
  function isEndOfDeclarationMarker(node) {
25502
- return node.kind === 358 /* EndOfDeclarationMarker */;
25496
+ return node.kind === 359 /* EndOfDeclarationMarker */;
25503
25497
  }
25504
25498
  function isExternalModuleReference(node) {
25505
25499
  return node.kind === 280 /* ExternalModuleReference */;
@@ -25690,11 +25684,14 @@ ${lanes.join("\n")}
25690
25684
  function isJSDocImplementsTag(node) {
25691
25685
  return node.kind === 332 /* JSDocImplementsTag */;
25692
25686
  }
25687
+ function isJSDocSatisfiesTag(node) {
25688
+ return node.kind === 353 /* JSDocSatisfiesTag */;
25689
+ }
25693
25690
  function isJSDocThrowsTag(node) {
25694
25691
  return node.kind === 352 /* JSDocThrowsTag */;
25695
25692
  }
25696
25693
  function isSyntaxList(n) {
25697
- return n.kind === 353 /* SyntaxList */;
25694
+ return n.kind === 354 /* SyntaxList */;
25698
25695
  }
25699
25696
  var init_nodeTests = __esm({
25700
25697
  "src/compiler/factory/nodeTests.ts"() {
@@ -26068,7 +26065,7 @@ ${lanes.join("\n")}
26068
26065
  return firstStatement !== void 0 && isPrologueDirective(firstStatement) && isUseStrictPrologue(firstStatement);
26069
26066
  }
26070
26067
  function isCommaSequence(node) {
26071
- return node.kind === 223 /* BinaryExpression */ && node.operatorToken.kind === 27 /* CommaToken */ || node.kind === 356 /* CommaListExpression */;
26068
+ return node.kind === 223 /* BinaryExpression */ && node.operatorToken.kind === 27 /* CommaToken */ || node.kind === 357 /* CommaListExpression */;
26072
26069
  }
26073
26070
  function isJSDocTypeAssertion(node) {
26074
26071
  return isParenthesizedExpression(node) && isInJSFile(node) && !!getJSDocTypeTag(node);
@@ -26091,7 +26088,7 @@ ${lanes.join("\n")}
26091
26088
  return (kinds & 2 /* TypeAssertions */) !== 0;
26092
26089
  case 232 /* NonNullExpression */:
26093
26090
  return (kinds & 4 /* NonNullAssertions */) !== 0;
26094
- case 355 /* PartiallyEmittedExpression */:
26091
+ case 356 /* PartiallyEmittedExpression */:
26095
26092
  return (kinds & 8 /* PartiallyEmittedExpressions */) !== 0;
26096
26093
  }
26097
26094
  return false;
@@ -27500,7 +27497,7 @@ ${lanes.join("\n")}
27500
27497
  [279 /* MissingDeclaration */]: function forEachChildInMissingDeclaration(node, cbNode, cbNodes) {
27501
27498
  return visitNodes(cbNode, cbNodes, node.illegalDecorators) || visitNodes(cbNode, cbNodes, node.modifiers);
27502
27499
  },
27503
- [356 /* CommaListExpression */]: function forEachChildInCommaListExpression(node, cbNode, cbNodes) {
27500
+ [357 /* CommaListExpression */]: function forEachChildInCommaListExpression(node, cbNode, cbNodes) {
27504
27501
  return visitNodes(cbNode, cbNodes, node.elements);
27505
27502
  },
27506
27503
  [281 /* JsxElement */]: function forEachChildInJsxElement(node, cbNode, cbNodes) {
@@ -27572,6 +27569,7 @@ ${lanes.join("\n")}
27572
27569
  [347 /* JSDocTypeTag */]: forEachChildInJSDocTypeLikeTag,
27573
27570
  [346 /* JSDocThisTag */]: forEachChildInJSDocTypeLikeTag,
27574
27571
  [343 /* JSDocEnumTag */]: forEachChildInJSDocTypeLikeTag,
27572
+ [353 /* JSDocSatisfiesTag */]: forEachChildInJSDocTypeLikeTag,
27575
27573
  [352 /* JSDocThrowsTag */]: forEachChildInJSDocTypeLikeTag,
27576
27574
  [342 /* JSDocOverloadTag */]: forEachChildInJSDocTypeLikeTag,
27577
27575
  [326 /* JSDocSignature */]: function forEachChildInJSDocSignature(node, cbNode, _cbNodes) {
@@ -27591,7 +27589,7 @@ ${lanes.join("\n")}
27591
27589
  [339 /* JSDocReadonlyTag */]: forEachChildInJSDocTag,
27592
27590
  [334 /* JSDocDeprecatedTag */]: forEachChildInJSDocTag,
27593
27591
  [340 /* JSDocOverrideTag */]: forEachChildInJSDocTag,
27594
- [355 /* PartiallyEmittedExpression */]: forEachChildInPartiallyEmittedExpression
27592
+ [356 /* PartiallyEmittedExpression */]: forEachChildInPartiallyEmittedExpression
27595
27593
  };
27596
27594
  ((Parser2) => {
27597
27595
  const scanner2 = createScanner(
@@ -33484,6 +33482,9 @@ ${lanes.join("\n")}
33484
33482
  case "overload":
33485
33483
  tag = parseOverloadTag(start2, tagName, margin, indentText);
33486
33484
  break;
33485
+ case "satisfies":
33486
+ tag = parseSatisfiesTag(start2, tagName, margin, indentText);
33487
+ break;
33487
33488
  case "see":
33488
33489
  tag = parseSeeTag(start2, tagName, margin, indentText);
33489
33490
  break;
@@ -33792,6 +33793,14 @@ ${lanes.join("\n")}
33792
33793
  const className = parseExpressionWithTypeArgumentsForAugments();
33793
33794
  return finishNode(factory2.createJSDocAugmentsTag(tagName, className, parseTrailingTagComments(start2, getNodePos(), margin, indentText)), start2);
33794
33795
  }
33796
+ function parseSatisfiesTag(start2, tagName, margin, indentText) {
33797
+ const typeExpression = parseJSDocTypeExpression(
33798
+ /*mayOmitBraces*/
33799
+ false
33800
+ );
33801
+ const comments2 = margin !== void 0 && indentText !== void 0 ? parseTrailingTagComments(start2, getNodePos(), margin, indentText) : void 0;
33802
+ return finishNode(factory2.createJSDocSatisfiesTag(tagName, typeExpression, comments2), start2);
33803
+ }
33795
33804
  function parseExpressionWithTypeArgumentsForAugments() {
33796
33805
  const usedBrace = parseOptional(18 /* OpenBraceToken */);
33797
33806
  const pos = getNodePos();
@@ -35697,7 +35706,7 @@ ${lanes.join("\n")}
35697
35706
  const watchOptions = convertWatchOptionsFromJsonWorker(json.watchOptions, basePath, errors);
35698
35707
  json.compileOnSave = convertCompileOnSaveOptionFromJson(json, basePath, errors);
35699
35708
  let extendedConfigPath;
35700
- if (json.extends) {
35709
+ if (json.extends || json.extends === "") {
35701
35710
  if (!isCompilerOptionsValue(extendsOptionDeclaration, json.extends)) {
35702
35711
  errors.push(createCompilerDiagnostic(Diagnostics.Compiler_option_0_requires_a_value_of_type_1, "extends", getCompilerOptionValueTypeString(extendsOptionDeclaration)));
35703
35712
  } else {
@@ -35824,7 +35833,11 @@ ${lanes.join("\n")}
35824
35833
  if (resolved.resolvedModule) {
35825
35834
  return resolved.resolvedModule.resolvedFileName;
35826
35835
  }
35827
- errors.push(createDiagnostic(Diagnostics.File_0_not_found, extendedConfig));
35836
+ if (extendedConfig === "") {
35837
+ errors.push(createDiagnostic(Diagnostics.Compiler_option_0_cannot_be_given_an_empty_string, "extends"));
35838
+ } else {
35839
+ errors.push(createDiagnostic(Diagnostics.File_0_not_found, extendedConfig));
35840
+ }
35828
35841
  return void 0;
35829
35842
  }
35830
35843
  function getExtendedConfig(sourceFile, extendedConfigPath, host, resolutionStack, errors, extendedConfigCache, result) {
@@ -36105,7 +36118,6 @@ ${lanes.join("\n")}
36105
36118
  }
36106
36119
  }
36107
36120
  function specToDiagnostic(spec, disallowTrailingRecursion) {
36108
- Debug.assert(typeof spec === "string");
36109
36121
  if (disallowTrailingRecursion && invalidTrailingRecursionPattern.test(spec)) {
36110
36122
  return [Diagnostics.File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0, spec];
36111
36123
  } else if (invalidDotDotAfterRecursiveWildcard(spec)) {
@@ -41072,13 +41084,12 @@ ${lanes.join("\n")}
41072
41084
  } else if (node.kind === 221 /* PrefixUnaryExpression */ && node.operator === 53 /* ExclamationToken */) {
41073
41085
  node = node.operand;
41074
41086
  } else {
41075
- return node.kind === 223 /* BinaryExpression */ && (node.operatorToken.kind === 55 /* AmpersandAmpersandToken */ || node.operatorToken.kind === 56 /* BarBarToken */ || node.operatorToken.kind === 60 /* QuestionQuestionToken */);
41087
+ return isLogicalOrCoalescingBinaryExpression(node);
41076
41088
  }
41077
41089
  }
41078
41090
  }
41079
41091
  function isLogicalAssignmentExpression(node) {
41080
- node = skipParentheses(node);
41081
- return isBinaryExpression(node) && isLogicalOrCoalescingAssignmentOperator(node.operatorToken.kind);
41092
+ return isLogicalOrCoalescingAssignmentExpression(skipParentheses(node));
41082
41093
  }
41083
41094
  function isTopLevelLogicalExpression(node) {
41084
41095
  while (isParenthesizedExpression(node.parent) || isPrefixUnaryExpression(node.parent) && node.parent.operator === 53 /* ExclamationToken */) {
@@ -41461,7 +41472,7 @@ ${lanes.join("\n")}
41461
41472
  };
41462
41473
  }
41463
41474
  const operator = node.operatorToken.kind;
41464
- if (operator === 55 /* AmpersandAmpersandToken */ || operator === 56 /* BarBarToken */ || operator === 60 /* QuestionQuestionToken */ || isLogicalOrCoalescingAssignmentOperator(operator)) {
41475
+ if (isLogicalOrCoalescingBinaryOperator(operator) || isLogicalOrCoalescingAssignmentOperator(operator)) {
41465
41476
  if (isTopLevelLogicalExpression(node)) {
41466
41477
  const postExpressionLabel = createBranchLabel();
41467
41478
  bindLogicalLikeExpression(node, postExpressionLabel, postExpressionLabel);
@@ -44884,7 +44895,7 @@ ${lanes.join("\n")}
44884
44895
  if (jsxFragmentPragma) {
44885
44896
  const chosenPragma = isArray(jsxFragmentPragma) ? jsxFragmentPragma[0] : jsxFragmentPragma;
44886
44897
  file.localJsxFragmentFactory = parseIsolatedEntityName(chosenPragma.arguments.factory, languageVersion);
44887
- visitNode(file.localJsxFragmentFactory, markAsSynthetic, isEntityName);
44898
+ visitNode(file.localJsxFragmentFactory, markAsSynthetic);
44888
44899
  if (file.localJsxFragmentFactory) {
44889
44900
  return file.localJsxFragmentNamespace = getFirstIdentifier(file.localJsxFragmentFactory).escapedText;
44890
44901
  }
@@ -44927,7 +44938,7 @@ ${lanes.join("\n")}
44927
44938
  if (jsxPragma) {
44928
44939
  const chosenPragma = isArray(jsxPragma) ? jsxPragma[0] : jsxPragma;
44929
44940
  file.localJsxFactory = parseIsolatedEntityName(chosenPragma.arguments.factory, languageVersion);
44930
- visitNode(file.localJsxFactory, markAsSynthetic, isEntityName);
44941
+ visitNode(file.localJsxFactory, markAsSynthetic);
44931
44942
  if (file.localJsxFactory) {
44932
44943
  return file.localJsxNamespace = getFirstIdentifier(file.localJsxFactory).escapedText;
44933
44944
  }
@@ -46438,7 +46449,6 @@ ${lanes.join("\n")}
46438
46449
  return valueSymbol;
46439
46450
  }
46440
46451
  const result = createSymbol(valueSymbol.flags | typeSymbol.flags, valueSymbol.escapedName);
46441
- Debug.assert(valueSymbol.declarations || typeSymbol.declarations);
46442
46452
  result.declarations = deduplicate(concatenate(valueSymbol.declarations, typeSymbol.declarations), equateValues);
46443
46453
  result.parent = valueSymbol.parent || typeSymbol.parent;
46444
46454
  if (valueSymbol.valueDeclaration)
@@ -50078,7 +50088,7 @@ ${lanes.join("\n")}
50078
50088
  }
50079
50089
  let hadError = false;
50080
50090
  const file = getSourceFileOfNode(existing);
50081
- const transformed = visitNode(existing, visitExistingNodeTreeSymbols, isTypeNode);
50091
+ const transformed = visitNode(existing, visitExistingNodeTreeSymbols);
50082
50092
  if (hadError) {
50083
50093
  return void 0;
50084
50094
  }
@@ -50091,16 +50101,16 @@ ${lanes.join("\n")}
50091
50101
  return factory.createKeywordTypeNode(157 /* UnknownKeyword */);
50092
50102
  }
50093
50103
  if (isJSDocNullableType(node)) {
50094
- return factory.createUnionTypeNode([visitNode(node.type, visitExistingNodeTreeSymbols, isTypeNode), factory.createLiteralTypeNode(factory.createNull())]);
50104
+ return factory.createUnionTypeNode([visitNode(node.type, visitExistingNodeTreeSymbols), factory.createLiteralTypeNode(factory.createNull())]);
50095
50105
  }
50096
50106
  if (isJSDocOptionalType(node)) {
50097
- return factory.createUnionTypeNode([visitNode(node.type, visitExistingNodeTreeSymbols, isTypeNode), factory.createKeywordTypeNode(155 /* UndefinedKeyword */)]);
50107
+ return factory.createUnionTypeNode([visitNode(node.type, visitExistingNodeTreeSymbols), factory.createKeywordTypeNode(155 /* UndefinedKeyword */)]);
50098
50108
  }
50099
50109
  if (isJSDocNonNullableType(node)) {
50100
50110
  return visitNode(node.type, visitExistingNodeTreeSymbols);
50101
50111
  }
50102
50112
  if (isJSDocVariadicType(node)) {
50103
- return factory.createArrayTypeNode(visitNode(node.type, visitExistingNodeTreeSymbols, isTypeNode));
50113
+ return factory.createArrayTypeNode(visitNode(node.type, visitExistingNodeTreeSymbols));
50104
50114
  }
50105
50115
  if (isJSDocTypeLiteral(node)) {
50106
50116
  return factory.createTypeLiteralNode(map(node.jsDocPropertyTags, (t) => {
@@ -50112,7 +50122,7 @@ ${lanes.join("\n")}
50112
50122
  void 0,
50113
50123
  name,
50114
50124
  t.isBracketed || t.typeExpression && isJSDocOptionalType(t.typeExpression.type) ? factory.createToken(57 /* QuestionToken */) : void 0,
50115
- overrideTypeNode || t.typeExpression && visitNode(t.typeExpression.type, visitExistingNodeTreeSymbols, isTypeNode) || factory.createKeywordTypeNode(131 /* AnyKeyword */)
50125
+ overrideTypeNode || t.typeExpression && visitNode(t.typeExpression.type, visitExistingNodeTreeSymbols) || factory.createKeywordTypeNode(131 /* AnyKeyword */)
50116
50126
  );
50117
50127
  }));
50118
50128
  }
@@ -50131,9 +50141,9 @@ ${lanes.join("\n")}
50131
50141
  "x",
50132
50142
  /*questionToken*/
50133
50143
  void 0,
50134
- visitNode(node.typeArguments[0], visitExistingNodeTreeSymbols, isTypeNode)
50144
+ visitNode(node.typeArguments[0], visitExistingNodeTreeSymbols)
50135
50145
  )],
50136
- visitNode(node.typeArguments[1], visitExistingNodeTreeSymbols, isTypeNode)
50146
+ visitNode(node.typeArguments[1], visitExistingNodeTreeSymbols)
50137
50147
  )]);
50138
50148
  }
50139
50149
  if (isJSDocFunctionType(node)) {
@@ -50142,33 +50152,33 @@ ${lanes.join("\n")}
50142
50152
  return factory.createConstructorTypeNode(
50143
50153
  /*modifiers*/
50144
50154
  void 0,
50145
- visitNodes2(node.typeParameters, visitExistingNodeTreeSymbols, isTypeParameterDeclaration),
50155
+ visitNodes2(node.typeParameters, visitExistingNodeTreeSymbols),
50146
50156
  mapDefined(node.parameters, (p, i) => p.name && isIdentifier(p.name) && p.name.escapedText === "new" ? (newTypeNode = p.type, void 0) : factory.createParameterDeclaration(
50147
50157
  /*modifiers*/
50148
50158
  void 0,
50149
50159
  getEffectiveDotDotDotForParameter(p),
50150
50160
  getNameForJSDocFunctionParameter(p, i),
50151
50161
  p.questionToken,
50152
- visitNode(p.type, visitExistingNodeTreeSymbols, isTypeNode),
50162
+ visitNode(p.type, visitExistingNodeTreeSymbols),
50153
50163
  /*initializer*/
50154
50164
  void 0
50155
50165
  )),
50156
- visitNode(newTypeNode || node.type, visitExistingNodeTreeSymbols, isTypeNode) || factory.createKeywordTypeNode(131 /* AnyKeyword */)
50166
+ visitNode(newTypeNode || node.type, visitExistingNodeTreeSymbols) || factory.createKeywordTypeNode(131 /* AnyKeyword */)
50157
50167
  );
50158
50168
  } else {
50159
50169
  return factory.createFunctionTypeNode(
50160
- visitNodes2(node.typeParameters, visitExistingNodeTreeSymbols, isTypeParameterDeclaration),
50170
+ visitNodes2(node.typeParameters, visitExistingNodeTreeSymbols),
50161
50171
  map(node.parameters, (p, i) => factory.createParameterDeclaration(
50162
50172
  /*modifiers*/
50163
50173
  void 0,
50164
50174
  getEffectiveDotDotDotForParameter(p),
50165
50175
  getNameForJSDocFunctionParameter(p, i),
50166
50176
  p.questionToken,
50167
- visitNode(p.type, visitExistingNodeTreeSymbols, isTypeNode),
50177
+ visitNode(p.type, visitExistingNodeTreeSymbols),
50168
50178
  /*initializer*/
50169
50179
  void 0
50170
50180
  )),
50171
- visitNode(node.type, visitExistingNodeTreeSymbols, isTypeNode) || factory.createKeywordTypeNode(131 /* AnyKeyword */)
50181
+ visitNode(node.type, visitExistingNodeTreeSymbols) || factory.createKeywordTypeNode(131 /* AnyKeyword */)
50172
50182
  );
50173
50183
  }
50174
50184
  }
@@ -51090,7 +51100,7 @@ ${lanes.join("\n")}
51090
51100
  break;
51091
51101
  }
51092
51102
  case 268 /* ImportEqualsDeclaration */:
51093
- if (target.escapedName === "export=" /* ExportEquals */ && some(target.declarations, (d) => isSourceFile(d) && isJsonSourceFile(d))) {
51103
+ if (target.escapedName === "export=" /* ExportEquals */ && some(target.declarations, isJsonSourceFile)) {
51094
51104
  serializeMaybeAliasAssignment(symbol);
51095
51105
  break;
51096
51106
  }
@@ -52185,6 +52195,9 @@ ${lanes.join("\n")}
52185
52195
  const isProperty = isPropertyDeclaration(declaration) && !hasAccessorModifier(declaration) || isPropertySignature(declaration) || isJSDocPropertyTag(declaration);
52186
52196
  const isOptional = includeOptionality && isOptionalDeclaration(declaration);
52187
52197
  const declaredType = tryGetTypeFromEffectiveTypeNode(declaration);
52198
+ if (!declaredType && isCatchClauseVariableDeclarationOrBindingElement(declaration)) {
52199
+ return useUnknownInCatchVariables ? unknownType : anyType;
52200
+ }
52188
52201
  if (declaredType) {
52189
52202
  return addOptionality(declaredType, isProperty, isOptional);
52190
52203
  }
@@ -52763,14 +52776,6 @@ ${lanes.join("\n")}
52763
52776
  }
52764
52777
  Debug.assertIsDefined(symbol.valueDeclaration);
52765
52778
  const declaration = symbol.valueDeclaration;
52766
- if (isCatchClauseVariableDeclarationOrBindingElement(declaration)) {
52767
- const typeNode = getEffectiveTypeAnnotationNode(declaration);
52768
- if (typeNode === void 0) {
52769
- return useUnknownInCatchVariables ? unknownType : anyType;
52770
- }
52771
- const type2 = getTypeOfNode(typeNode);
52772
- return isTypeAny(type2) || type2 === unknownType ? type2 : errorType;
52773
- }
52774
52779
  if (isSourceFile(declaration) && isJsonSourceFile(declaration)) {
52775
52780
  if (!declaration.statements.length) {
52776
52781
  return emptyObjectType;
@@ -67359,7 +67364,7 @@ ${lanes.join("\n")}
67359
67364
  }
67360
67365
  }
67361
67366
  function getContextualTypeForVariableLikeDeclaration(declaration, contextFlags) {
67362
- const typeNode = getEffectiveTypeAnnotationNode(declaration);
67367
+ const typeNode = getEffectiveTypeAnnotationNode(declaration) || (isInJSFile(declaration) ? tryGetJSDocSatisfiesTypeNode(declaration) : void 0);
67363
67368
  if (typeNode) {
67364
67369
  return getTypeFromTypeNode(typeNode);
67365
67370
  }
@@ -67968,8 +67973,16 @@ ${lanes.join("\n")}
67968
67973
  Debug.assert(parent2.parent.kind === 225 /* TemplateExpression */);
67969
67974
  return getContextualTypeForSubstitutionExpression(parent2.parent, node);
67970
67975
  case 214 /* ParenthesizedExpression */: {
67971
- const tag = isInJSFile(parent2) ? getJSDocTypeTag(parent2) : void 0;
67972
- return !tag ? getContextualType2(parent2, contextFlags) : isJSDocTypeTag(tag) && isConstTypeReference(tag.typeExpression.type) ? getContextualType2(parent2, contextFlags) : getTypeFromTypeNode(tag.typeExpression.type);
67976
+ if (isInJSFile(parent2)) {
67977
+ if (isJSDocSatisfiesExpression(parent2)) {
67978
+ return getTypeFromTypeNode(getJSDocSatisfiesExpressionType(parent2));
67979
+ }
67980
+ const typeTag = getJSDocTypeTag(parent2);
67981
+ if (typeTag && !isConstTypeReference(typeTag.typeExpression.type)) {
67982
+ return getTypeFromTypeNode(typeTag.typeExpression.type);
67983
+ }
67984
+ }
67985
+ return getContextualType2(parent2, contextFlags);
67973
67986
  }
67974
67987
  case 232 /* NonNullExpression */:
67975
67988
  return getContextualType2(parent2, contextFlags);
@@ -72173,12 +72186,15 @@ ${lanes.join("\n")}
72173
72186
  }
72174
72187
  function checkSatisfiesExpression(node) {
72175
72188
  checkSourceElement(node.type);
72176
- const exprType = checkExpression(node.expression);
72177
- const targetType = getTypeFromTypeNode(node.type);
72189
+ return checkSatisfiesExpressionWorker(node.expression, node.type);
72190
+ }
72191
+ function checkSatisfiesExpressionWorker(expression, target, checkMode) {
72192
+ const exprType = checkExpression(expression, checkMode);
72193
+ const targetType = getTypeFromTypeNode(target);
72178
72194
  if (isErrorType(targetType)) {
72179
72195
  return targetType;
72180
72196
  }
72181
- checkTypeAssignableToAndOptionallyElaborate(exprType, targetType, node.type, node.expression, Diagnostics.Type_0_does_not_satisfy_the_expected_type_1);
72197
+ checkTypeAssignableToAndOptionallyElaborate(exprType, targetType, target, expression, Diagnostics.Type_0_does_not_satisfy_the_expected_type_1);
72182
72198
  return exprType;
72183
72199
  }
72184
72200
  function checkMetaProperty(node) {
@@ -73585,12 +73601,12 @@ ${lanes.join("\n")}
73585
73601
  void 0
73586
73602
  );
73587
73603
  const operator = operatorToken.kind;
73588
- if (operator === 55 /* AmpersandAmpersandToken */ || operator === 56 /* BarBarToken */ || operator === 60 /* QuestionQuestionToken */) {
73589
- if (operator === 55 /* AmpersandAmpersandToken */) {
73590
- let parent2 = node.parent;
73591
- while (parent2.kind === 214 /* ParenthesizedExpression */ || isBinaryExpression(parent2) && (parent2.operatorToken.kind === 55 /* AmpersandAmpersandToken */ || parent2.operatorToken.kind === 56 /* BarBarToken */)) {
73592
- parent2 = parent2.parent;
73593
- }
73604
+ if (isLogicalOrCoalescingBinaryOperator(operator)) {
73605
+ let parent2 = node.parent;
73606
+ while (parent2.kind === 214 /* ParenthesizedExpression */ || isLogicalOrCoalescingBinaryExpression(parent2)) {
73607
+ parent2 = parent2.parent;
73608
+ }
73609
+ if (operator === 55 /* AmpersandAmpersandToken */ || isIfStatement(parent2)) {
73594
73610
  checkTestingKnownTruthyCallableOrAwaitableType(node.left, leftType, isIfStatement(parent2) ? parent2.thenStatement : void 0);
73595
73611
  }
73596
73612
  checkTruthinessOfType(leftType, node.left);
@@ -73667,7 +73683,7 @@ ${lanes.join("\n")}
73667
73683
  return checkDestructuringAssignment(left, checkExpression(right, checkMode), checkMode, right.kind === 108 /* ThisKeyword */);
73668
73684
  }
73669
73685
  let leftType;
73670
- if (operator === 55 /* AmpersandAmpersandToken */ || operator === 56 /* BarBarToken */ || operator === 60 /* QuestionQuestionToken */) {
73686
+ if (isLogicalOrCoalescingBinaryOperator(operator)) {
73671
73687
  leftType = checkTruthinessExpression(left, checkMode);
73672
73688
  } else {
73673
73689
  leftType = checkExpression(left, checkMode);
@@ -74210,6 +74226,12 @@ ${lanes.join("\n")}
74210
74226
  }
74211
74227
  function checkDeclarationInitializer(declaration, checkMode, contextualType) {
74212
74228
  const initializer = getEffectiveInitializer(declaration);
74229
+ if (isInJSFile(declaration)) {
74230
+ const typeNode = tryGetJSDocSatisfiesTypeNode(declaration);
74231
+ if (typeNode) {
74232
+ return checkSatisfiesExpressionWorker(initializer, typeNode, checkMode);
74233
+ }
74234
+ }
74213
74235
  const type = getQuickTypeOfExpression(initializer) || (contextualType ? checkExpressionWithContextualType(
74214
74236
  initializer,
74215
74237
  contextualType,
@@ -74537,9 +74559,14 @@ ${lanes.join("\n")}
74537
74559
  }
74538
74560
  }
74539
74561
  function checkParenthesizedExpression(node, checkMode) {
74540
- if (hasJSDocNodes(node) && isJSDocTypeAssertion(node)) {
74541
- const type = getJSDocTypeAssertionType(node);
74542
- return checkAssertionWorker(type, type, node.expression, checkMode);
74562
+ if (hasJSDocNodes(node)) {
74563
+ if (isJSDocSatisfiesExpression(node)) {
74564
+ return checkSatisfiesExpressionWorker(node.expression, getJSDocSatisfiesExpressionType(node), checkMode);
74565
+ }
74566
+ if (isJSDocTypeAssertion(node)) {
74567
+ const type = getJSDocTypeAssertionType(node);
74568
+ return checkAssertionWorker(type, type, node.expression, checkMode);
74569
+ }
74543
74570
  }
74544
74571
  return checkExpression(node.expression, checkMode);
74545
74572
  }
@@ -76241,6 +76268,19 @@ ${lanes.join("\n")}
76241
76268
  function checkJSDocTypeTag(node) {
76242
76269
  checkSourceElement(node.typeExpression);
76243
76270
  }
76271
+ function checkJSDocSatisfiesTag(node) {
76272
+ checkSourceElement(node.typeExpression);
76273
+ const host2 = getEffectiveJSDocHost(node);
76274
+ if (host2) {
76275
+ const tags = getAllJSDocTags(host2, isJSDocSatisfiesTag);
76276
+ if (length(tags) > 1) {
76277
+ for (let i = 1; i < length(tags); i++) {
76278
+ const tagName = tags[i].tagName;
76279
+ error(tagName, Diagnostics._0_tag_already_specified, idText(tagName));
76280
+ }
76281
+ }
76282
+ }
76283
+ }
76244
76284
  function checkJSDocLinkLikeTag(node) {
76245
76285
  if (node.name) {
76246
76286
  resolveJSDocMemberName(
@@ -77026,15 +77066,24 @@ ${lanes.join("\n")}
77026
77066
  function checkTestingKnownTruthyCallableOrAwaitableType(condExpr, condType, body) {
77027
77067
  if (!strictNullChecks)
77028
77068
  return;
77029
- helper(condExpr, body);
77030
- while (isBinaryExpression(condExpr) && condExpr.operatorToken.kind === 56 /* BarBarToken */) {
77031
- condExpr = condExpr.left;
77032
- helper(condExpr, body);
77069
+ bothHelper(condExpr, body);
77070
+ function bothHelper(condExpr2, body2) {
77071
+ condExpr2 = skipParentheses(condExpr2);
77072
+ helper(condExpr2, body2);
77073
+ while (isBinaryExpression(condExpr2) && (condExpr2.operatorToken.kind === 56 /* BarBarToken */ || condExpr2.operatorToken.kind === 60 /* QuestionQuestionToken */)) {
77074
+ condExpr2 = skipParentheses(condExpr2.left);
77075
+ helper(condExpr2, body2);
77076
+ }
77033
77077
  }
77034
77078
  function helper(condExpr2, body2) {
77035
- const location = isBinaryExpression(condExpr2) && (condExpr2.operatorToken.kind === 56 /* BarBarToken */ || condExpr2.operatorToken.kind === 55 /* AmpersandAmpersandToken */) ? condExpr2.right : condExpr2;
77036
- if (isModuleExportsAccessExpression(location))
77079
+ const location = isLogicalOrCoalescingBinaryExpression(condExpr2) ? skipParentheses(condExpr2.right) : condExpr2;
77080
+ if (isModuleExportsAccessExpression(location)) {
77081
+ return;
77082
+ }
77083
+ if (isLogicalOrCoalescingBinaryExpression(location)) {
77084
+ bothHelper(location, body2);
77037
77085
  return;
77086
+ }
77038
77087
  const type = location === condExpr2 ? condType : checkTruthinessExpression(location);
77039
77088
  const isPropertyExpressionCast = isPropertyAccessExpression(location) && isTypeAssertion3(location.expression);
77040
77089
  if (!(getTypeFacts(type) & 4194304 /* Truthy */) || isPropertyExpressionCast)
@@ -77044,7 +77093,7 @@ ${lanes.join("\n")}
77044
77093
  if (callSignatures.length === 0 && !isPromise) {
77045
77094
  return;
77046
77095
  }
77047
- const testedNode = isIdentifier(location) ? location : isPropertyAccessExpression(location) ? location.name : isBinaryExpression(location) && isIdentifier(location.right) ? location.right : void 0;
77096
+ const testedNode = isIdentifier(location) ? location : isPropertyAccessExpression(location) ? location.name : void 0;
77048
77097
  const testedSymbol = testedNode && getSymbolAtLocation(testedNode);
77049
77098
  if (!testedSymbol && !isPromise) {
77050
77099
  return;
@@ -78002,18 +78051,8 @@ ${lanes.join("\n")}
78002
78051
  if (catchClause) {
78003
78052
  if (catchClause.variableDeclaration) {
78004
78053
  const declaration = catchClause.variableDeclaration;
78005
- const typeNode = getEffectiveTypeAnnotationNode(getRootDeclaration(declaration));
78006
- if (typeNode) {
78007
- const type = getTypeForVariableLikeDeclaration(
78008
- declaration,
78009
- /*includeOptionality*/
78010
- false,
78011
- 0 /* Normal */
78012
- );
78013
- if (type && !(type.flags & 3 /* AnyOrUnknown */)) {
78014
- grammarErrorOnFirstToken(typeNode, Diagnostics.Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified);
78015
- }
78016
- } else if (declaration.initializer) {
78054
+ checkVariableLikeDeclaration(declaration);
78055
+ if (declaration.initializer) {
78017
78056
  grammarErrorOnFirstToken(declaration.initializer, Diagnostics.Catch_clause_variable_cannot_have_an_initializer);
78018
78057
  } else {
78019
78058
  const blockLocals = catchClause.block.locals;
@@ -79845,6 +79884,8 @@ ${lanes.join("\n")}
79845
79884
  case 338 /* JSDocProtectedTag */:
79846
79885
  case 337 /* JSDocPrivateTag */:
79847
79886
  return checkJSDocAccessibilityModifiers(node);
79887
+ case 353 /* JSDocSatisfiesTag */:
79888
+ return checkJSDocSatisfiesTag(node);
79848
79889
  case 196 /* IndexedAccessType */:
79849
79890
  return checkIndexedAccessType(node);
79850
79891
  case 197 /* MappedType */:
@@ -83536,10 +83577,13 @@ ${lanes.join("\n")}
83536
83577
 
83537
83578
  // src/compiler/visitorPublic.ts
83538
83579
  function visitNode(node, visitor, test, lift) {
83539
- if (node === void 0) {
83580
+ if (node === void 0 || visitor === void 0) {
83540
83581
  return node;
83541
83582
  }
83542
83583
  const visited = visitor(node);
83584
+ if (visited === node) {
83585
+ return node;
83586
+ }
83543
83587
  let visitedNode;
83544
83588
  if (visited === void 0) {
83545
83589
  return void 0;
@@ -83552,7 +83596,7 @@ ${lanes.join("\n")}
83552
83596
  return visitedNode;
83553
83597
  }
83554
83598
  function visitNodes2(nodes, visitor, test, start, count) {
83555
- if (nodes === void 0) {
83599
+ if (nodes === void 0 || visitor === void 0) {
83556
83600
  return nodes;
83557
83601
  }
83558
83602
  const length2 = nodes.length;
@@ -83601,30 +83645,25 @@ ${lanes.join("\n")}
83601
83645
  }
83602
83646
  for (let i = 0; i < count; i++) {
83603
83647
  const node = nodes[i + start];
83604
- const visited = node !== void 0 ? visitor ? visitor(node) : node : void 0;
83648
+ const visited = node !== void 0 ? visitor(node) : void 0;
83605
83649
  if (updated !== void 0 || visited === void 0 || visited !== node) {
83606
83650
  if (updated === void 0) {
83607
83651
  updated = nodes.slice(0, i);
83608
- Debug.assertEachNode(updated, test);
83609
83652
  }
83610
83653
  if (visited) {
83611
83654
  if (isArray(visited)) {
83612
83655
  for (const visitedNode of visited) {
83613
- Debug.assertNode(visitedNode, test);
83656
+ void Debug.assertNode(visitedNode, test);
83614
83657
  updated.push(visitedNode);
83615
83658
  }
83616
83659
  } else {
83617
- Debug.assertNode(visited, test);
83660
+ void Debug.assertNode(visited, test);
83618
83661
  updated.push(visited);
83619
83662
  }
83620
83663
  }
83621
83664
  }
83622
83665
  }
83623
- if (updated) {
83624
- return updated;
83625
- }
83626
- Debug.assertEachNode(nodes, test);
83627
- return nodes;
83666
+ return updated != null ? updated : nodes;
83628
83667
  }
83629
83668
  function visitLexicalEnvironment(statements, visitor, context, start, ensureUseStrict, nodesVisitor = visitNodes2) {
83630
83669
  context.startLexicalEnvironment();
@@ -83638,7 +83677,7 @@ ${lanes.join("\n")}
83638
83677
  context.startLexicalEnvironment();
83639
83678
  if (nodes) {
83640
83679
  context.setLexicalEnvironmentFlags(1 /* InParameters */, true);
83641
- updated = nodesVisitor(nodes, visitor, isParameter);
83680
+ updated = nodesVisitor(nodes, visitor, isParameterDeclaration);
83642
83681
  if (context.getLexicalEnvironmentFlags() & 2 /* VariablesHoistedInParameters */ && getEmitScriptTarget(context.getCompilerOptions()) >= 2 /* ES2015 */) {
83643
83682
  updated = addDefaultValueAssignmentsIfNeeded(updated, context);
83644
83683
  }
@@ -83760,7 +83799,6 @@ ${lanes.join("\n")}
83760
83799
  function visitIterationBody(body, visitor, context, nodeVisitor = visitNode) {
83761
83800
  context.startBlockScope();
83762
83801
  const updated = nodeVisitor(body, visitor, isStatement, context.factory.liftToBlock);
83763
- Debug.assert(updated);
83764
83802
  const declarations = context.endBlockScope();
83765
83803
  if (some(declarations)) {
83766
83804
  if (isBlock(updated)) {
@@ -83792,14 +83830,14 @@ ${lanes.join("\n")}
83792
83830
  [163 /* QualifiedName */]: function visitEachChildOfQualifiedName(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
83793
83831
  return context.factory.updateQualifiedName(
83794
83832
  node,
83795
- Debug.checkDefined(nodeVisitor(node.left, visitor, isEntityName)),
83796
- Debug.checkDefined(nodeVisitor(node.right, visitor, isIdentifier))
83833
+ nodeVisitor(node.left, visitor, isEntityName),
83834
+ nodeVisitor(node.right, visitor, isIdentifier)
83797
83835
  );
83798
83836
  },
83799
83837
  [164 /* ComputedPropertyName */]: function visitEachChildOfComputedPropertyName(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
83800
83838
  return context.factory.updateComputedPropertyName(
83801
83839
  node,
83802
- Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression))
83840
+ nodeVisitor(node.expression, visitor, isExpression)
83803
83841
  );
83804
83842
  },
83805
83843
  // Signature elements
@@ -83807,7 +83845,7 @@ ${lanes.join("\n")}
83807
83845
  return context.factory.updateTypeParameterDeclaration(
83808
83846
  node,
83809
83847
  nodesVisitor(node.modifiers, visitor, isModifier),
83810
- Debug.checkDefined(nodeVisitor(node.name, visitor, isIdentifier)),
83848
+ nodeVisitor(node.name, visitor, isIdentifier),
83811
83849
  nodeVisitor(node.constraint, visitor, isTypeNode),
83812
83850
  nodeVisitor(node.default, visitor, isTypeNode)
83813
83851
  );
@@ -83816,9 +83854,9 @@ ${lanes.join("\n")}
83816
83854
  return context.factory.updateParameterDeclaration(
83817
83855
  node,
83818
83856
  nodesVisitor(node.modifiers, visitor, isModifierLike),
83819
- tokenVisitor ? nodeVisitor(node.dotDotDotToken, tokenVisitor, isDotDotDotToken) : node.dotDotDotToken,
83820
- Debug.checkDefined(nodeVisitor(node.name, visitor, isBindingName)),
83821
- tokenVisitor ? nodeVisitor(node.questionToken, tokenVisitor, isQuestionToken) : node.questionToken,
83857
+ nodeVisitor(node.dotDotDotToken, tokenVisitor, isDotDotDotToken),
83858
+ nodeVisitor(node.name, visitor, isBindingName),
83859
+ nodeVisitor(node.questionToken, tokenVisitor, isQuestionToken),
83822
83860
  nodeVisitor(node.type, visitor, isTypeNode),
83823
83861
  nodeVisitor(node.initializer, visitor, isExpression)
83824
83862
  );
@@ -83826,7 +83864,7 @@ ${lanes.join("\n")}
83826
83864
  [167 /* Decorator */]: function visitEachChildOfDecorator(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
83827
83865
  return context.factory.updateDecorator(
83828
83866
  node,
83829
- Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression))
83867
+ nodeVisitor(node.expression, visitor, isExpression)
83830
83868
  );
83831
83869
  },
83832
83870
  // Type elements
@@ -83834,19 +83872,19 @@ ${lanes.join("\n")}
83834
83872
  return context.factory.updatePropertySignature(
83835
83873
  node,
83836
83874
  nodesVisitor(node.modifiers, visitor, isModifier),
83837
- Debug.checkDefined(nodeVisitor(node.name, visitor, isPropertyName)),
83838
- tokenVisitor ? nodeVisitor(node.questionToken, tokenVisitor, isQuestionToken) : node.questionToken,
83875
+ nodeVisitor(node.name, visitor, isPropertyName),
83876
+ nodeVisitor(node.questionToken, tokenVisitor, isToken),
83839
83877
  nodeVisitor(node.type, visitor, isTypeNode)
83840
83878
  );
83841
83879
  },
83842
83880
  [169 /* PropertyDeclaration */]: function visitEachChildOfPropertyDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
83843
- var _a2, _b;
83881
+ var _a2;
83844
83882
  return context.factory.updatePropertyDeclaration(
83845
83883
  node,
83846
83884
  nodesVisitor(node.modifiers, visitor, isModifierLike),
83847
- Debug.checkDefined(nodeVisitor(node.name, visitor, isPropertyName)),
83885
+ nodeVisitor(node.name, visitor, isPropertyName),
83848
83886
  // QuestionToken and ExclamationToken are mutually exclusive in PropertyDeclaration
83849
- tokenVisitor ? nodeVisitor((_a2 = node.questionToken) != null ? _a2 : node.exclamationToken, tokenVisitor, isQuestionOrExclamationToken) : (_b = node.questionToken) != null ? _b : node.exclamationToken,
83887
+ nodeVisitor((_a2 = node.questionToken) != null ? _a2 : node.exclamationToken, tokenVisitor, isQuestionOrExclamationToken),
83850
83888
  nodeVisitor(node.type, visitor, isTypeNode),
83851
83889
  nodeVisitor(node.initializer, visitor, isExpression)
83852
83890
  );
@@ -83855,10 +83893,10 @@ ${lanes.join("\n")}
83855
83893
  return context.factory.updateMethodSignature(
83856
83894
  node,
83857
83895
  nodesVisitor(node.modifiers, visitor, isModifier),
83858
- Debug.checkDefined(nodeVisitor(node.name, visitor, isPropertyName)),
83859
- tokenVisitor ? nodeVisitor(node.questionToken, tokenVisitor, isQuestionToken) : node.questionToken,
83896
+ nodeVisitor(node.name, visitor, isPropertyName),
83897
+ nodeVisitor(node.questionToken, tokenVisitor, isQuestionToken),
83860
83898
  nodesVisitor(node.typeParameters, visitor, isTypeParameterDeclaration),
83861
- nodesVisitor(node.parameters, visitor, isParameter),
83899
+ nodesVisitor(node.parameters, visitor, isParameterDeclaration),
83862
83900
  nodeVisitor(node.type, visitor, isTypeNode)
83863
83901
  );
83864
83902
  },
@@ -83866,9 +83904,9 @@ ${lanes.join("\n")}
83866
83904
  return context.factory.updateMethodDeclaration(
83867
83905
  node,
83868
83906
  nodesVisitor(node.modifiers, visitor, isModifierLike),
83869
- tokenVisitor ? nodeVisitor(node.asteriskToken, tokenVisitor, isAsteriskToken) : node.asteriskToken,
83870
- Debug.checkDefined(nodeVisitor(node.name, visitor, isPropertyName)),
83871
- tokenVisitor ? nodeVisitor(node.questionToken, tokenVisitor, isQuestionToken) : node.questionToken,
83907
+ nodeVisitor(node.asteriskToken, tokenVisitor, isAsteriskToken),
83908
+ nodeVisitor(node.name, visitor, isPropertyName),
83909
+ nodeVisitor(node.questionToken, tokenVisitor, isQuestionToken),
83872
83910
  nodesVisitor(node.typeParameters, visitor, isTypeParameterDeclaration),
83873
83911
  visitParameterList(node.parameters, visitor, context, nodesVisitor),
83874
83912
  nodeVisitor(node.type, visitor, isTypeNode),
@@ -83887,7 +83925,7 @@ ${lanes.join("\n")}
83887
83925
  return context.factory.updateGetAccessorDeclaration(
83888
83926
  node,
83889
83927
  nodesVisitor(node.modifiers, visitor, isModifierLike),
83890
- Debug.checkDefined(nodeVisitor(node.name, visitor, isPropertyName)),
83928
+ nodeVisitor(node.name, visitor, isPropertyName),
83891
83929
  visitParameterList(node.parameters, visitor, context, nodesVisitor),
83892
83930
  nodeVisitor(node.type, visitor, isTypeNode),
83893
83931
  visitFunctionBody(node.body, visitor, context, nodeVisitor)
@@ -83897,7 +83935,7 @@ ${lanes.join("\n")}
83897
83935
  return context.factory.updateSetAccessorDeclaration(
83898
83936
  node,
83899
83937
  nodesVisitor(node.modifiers, visitor, isModifierLike),
83900
- Debug.checkDefined(nodeVisitor(node.name, visitor, isPropertyName)),
83938
+ nodeVisitor(node.name, visitor, isPropertyName),
83901
83939
  visitParameterList(node.parameters, visitor, context, nodesVisitor),
83902
83940
  visitFunctionBody(node.body, visitor, context, nodeVisitor)
83903
83941
  );
@@ -83914,7 +83952,7 @@ ${lanes.join("\n")}
83914
83952
  return context.factory.updateCallSignature(
83915
83953
  node,
83916
83954
  nodesVisitor(node.typeParameters, visitor, isTypeParameterDeclaration),
83917
- nodesVisitor(node.parameters, visitor, isParameter),
83955
+ nodesVisitor(node.parameters, visitor, isParameterDeclaration),
83918
83956
  nodeVisitor(node.type, visitor, isTypeNode)
83919
83957
  );
83920
83958
  },
@@ -83922,7 +83960,7 @@ ${lanes.join("\n")}
83922
83960
  return context.factory.updateConstructSignature(
83923
83961
  node,
83924
83962
  nodesVisitor(node.typeParameters, visitor, isTypeParameterDeclaration),
83925
- nodesVisitor(node.parameters, visitor, isParameter),
83963
+ nodesVisitor(node.parameters, visitor, isParameterDeclaration),
83926
83964
  nodeVisitor(node.type, visitor, isTypeNode)
83927
83965
  );
83928
83966
  },
@@ -83930,8 +83968,8 @@ ${lanes.join("\n")}
83930
83968
  return context.factory.updateIndexSignature(
83931
83969
  node,
83932
83970
  nodesVisitor(node.modifiers, visitor, isModifier),
83933
- nodesVisitor(node.parameters, visitor, isParameter),
83934
- Debug.checkDefined(nodeVisitor(node.type, visitor, isTypeNode))
83971
+ nodesVisitor(node.parameters, visitor, isParameterDeclaration),
83972
+ nodeVisitor(node.type, visitor, isTypeNode)
83935
83973
  );
83936
83974
  },
83937
83975
  // Types
@@ -83939,14 +83977,14 @@ ${lanes.join("\n")}
83939
83977
  return context.factory.updateTypePredicateNode(
83940
83978
  node,
83941
83979
  nodeVisitor(node.assertsModifier, visitor, isAssertsKeyword),
83942
- Debug.checkDefined(nodeVisitor(node.parameterName, visitor, isIdentifierOrThisTypeNode)),
83980
+ nodeVisitor(node.parameterName, visitor, isIdentifierOrThisTypeNode),
83943
83981
  nodeVisitor(node.type, visitor, isTypeNode)
83944
83982
  );
83945
83983
  },
83946
83984
  [180 /* TypeReference */]: function visitEachChildOfTypeReferenceNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
83947
83985
  return context.factory.updateTypeReferenceNode(
83948
83986
  node,
83949
- Debug.checkDefined(nodeVisitor(node.typeName, visitor, isEntityName)),
83987
+ nodeVisitor(node.typeName, visitor, isEntityName),
83950
83988
  nodesVisitor(node.typeArguments, visitor, isTypeNode)
83951
83989
  );
83952
83990
  },
@@ -83954,8 +83992,8 @@ ${lanes.join("\n")}
83954
83992
  return context.factory.updateFunctionTypeNode(
83955
83993
  node,
83956
83994
  nodesVisitor(node.typeParameters, visitor, isTypeParameterDeclaration),
83957
- nodesVisitor(node.parameters, visitor, isParameter),
83958
- Debug.checkDefined(nodeVisitor(node.type, visitor, isTypeNode))
83995
+ nodesVisitor(node.parameters, visitor, isParameterDeclaration),
83996
+ nodeVisitor(node.type, visitor, isTypeNode)
83959
83997
  );
83960
83998
  },
83961
83999
  [182 /* ConstructorType */]: function visitEachChildOfConstructorTypeNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
@@ -83963,14 +84001,14 @@ ${lanes.join("\n")}
83963
84001
  node,
83964
84002
  nodesVisitor(node.modifiers, visitor, isModifier),
83965
84003
  nodesVisitor(node.typeParameters, visitor, isTypeParameterDeclaration),
83966
- nodesVisitor(node.parameters, visitor, isParameter),
83967
- Debug.checkDefined(nodeVisitor(node.type, visitor, isTypeNode))
84004
+ nodesVisitor(node.parameters, visitor, isParameterDeclaration),
84005
+ nodeVisitor(node.type, visitor, isTypeNode)
83968
84006
  );
83969
84007
  },
83970
84008
  [183 /* TypeQuery */]: function visitEachChildOfTypeQueryNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
83971
84009
  return context.factory.updateTypeQueryNode(
83972
84010
  node,
83973
- Debug.checkDefined(nodeVisitor(node.exprName, visitor, isEntityName)),
84011
+ nodeVisitor(node.exprName, visitor, isEntityName),
83974
84012
  nodesVisitor(node.typeArguments, visitor, isTypeNode)
83975
84013
  );
83976
84014
  },
@@ -83983,7 +84021,7 @@ ${lanes.join("\n")}
83983
84021
  [185 /* ArrayType */]: function visitEachChildOfArrayTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
83984
84022
  return context.factory.updateArrayTypeNode(
83985
84023
  node,
83986
- Debug.checkDefined(nodeVisitor(node.elementType, visitor, isTypeNode))
84024
+ nodeVisitor(node.elementType, visitor, isTypeNode)
83987
84025
  );
83988
84026
  },
83989
84027
  [186 /* TupleType */]: function visitEachChildOfTupleTypeNode(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
@@ -83995,13 +84033,13 @@ ${lanes.join("\n")}
83995
84033
  [187 /* OptionalType */]: function visitEachChildOfOptionalTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
83996
84034
  return context.factory.updateOptionalTypeNode(
83997
84035
  node,
83998
- Debug.checkDefined(nodeVisitor(node.type, visitor, isTypeNode))
84036
+ nodeVisitor(node.type, visitor, isTypeNode)
83999
84037
  );
84000
84038
  },
84001
84039
  [188 /* RestType */]: function visitEachChildOfRestTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84002
84040
  return context.factory.updateRestTypeNode(
84003
84041
  node,
84004
- Debug.checkDefined(nodeVisitor(node.type, visitor, isTypeNode))
84042
+ nodeVisitor(node.type, visitor, isTypeNode)
84005
84043
  );
84006
84044
  },
84007
84045
  [189 /* UnionType */]: function visitEachChildOfUnionTypeNode(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
@@ -84019,22 +84057,22 @@ ${lanes.join("\n")}
84019
84057
  [191 /* ConditionalType */]: function visitEachChildOfConditionalTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84020
84058
  return context.factory.updateConditionalTypeNode(
84021
84059
  node,
84022
- Debug.checkDefined(nodeVisitor(node.checkType, visitor, isTypeNode)),
84023
- Debug.checkDefined(nodeVisitor(node.extendsType, visitor, isTypeNode)),
84024
- Debug.checkDefined(nodeVisitor(node.trueType, visitor, isTypeNode)),
84025
- Debug.checkDefined(nodeVisitor(node.falseType, visitor, isTypeNode))
84060
+ nodeVisitor(node.checkType, visitor, isTypeNode),
84061
+ nodeVisitor(node.extendsType, visitor, isTypeNode),
84062
+ nodeVisitor(node.trueType, visitor, isTypeNode),
84063
+ nodeVisitor(node.falseType, visitor, isTypeNode)
84026
84064
  );
84027
84065
  },
84028
84066
  [192 /* InferType */]: function visitEachChildOfInferTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84029
84067
  return context.factory.updateInferTypeNode(
84030
84068
  node,
84031
- Debug.checkDefined(nodeVisitor(node.typeParameter, visitor, isTypeParameterDeclaration))
84069
+ nodeVisitor(node.typeParameter, visitor, isTypeParameterDeclaration)
84032
84070
  );
84033
84071
  },
84034
84072
  [202 /* ImportType */]: function visitEachChildOfImportTypeNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
84035
84073
  return context.factory.updateImportTypeNode(
84036
84074
  node,
84037
- Debug.checkDefined(nodeVisitor(node.argument, visitor, isTypeNode)),
84075
+ nodeVisitor(node.argument, visitor, isTypeNode),
84038
84076
  nodeVisitor(node.assertions, visitor, isImportTypeAssertionContainer),
84039
84077
  nodeVisitor(node.qualifier, visitor, isEntityName),
84040
84078
  nodesVisitor(node.typeArguments, visitor, isTypeNode),
@@ -84044,45 +84082,45 @@ ${lanes.join("\n")}
84044
84082
  [298 /* ImportTypeAssertionContainer */]: function visitEachChildOfImportTypeAssertionContainer(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84045
84083
  return context.factory.updateImportTypeAssertionContainer(
84046
84084
  node,
84047
- Debug.checkDefined(nodeVisitor(node.assertClause, visitor, isAssertClause)),
84085
+ nodeVisitor(node.assertClause, visitor, isAssertClause),
84048
84086
  node.multiLine
84049
84087
  );
84050
84088
  },
84051
84089
  [199 /* NamedTupleMember */]: function visitEachChildOfNamedTupleMember(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
84052
84090
  return context.factory.updateNamedTupleMember(
84053
84091
  node,
84054
- tokenVisitor ? nodeVisitor(node.dotDotDotToken, tokenVisitor, isDotDotDotToken) : node.dotDotDotToken,
84055
- Debug.checkDefined(nodeVisitor(node.name, visitor, isIdentifier)),
84056
- tokenVisitor ? nodeVisitor(node.questionToken, tokenVisitor, isQuestionToken) : node.questionToken,
84057
- Debug.checkDefined(nodeVisitor(node.type, visitor, isTypeNode))
84092
+ nodeVisitor(node.dotDotDotToken, tokenVisitor, isDotDotDotToken),
84093
+ nodeVisitor(node.name, visitor, isIdentifier),
84094
+ nodeVisitor(node.questionToken, tokenVisitor, isQuestionToken),
84095
+ nodeVisitor(node.type, visitor, isTypeNode)
84058
84096
  );
84059
84097
  },
84060
84098
  [193 /* ParenthesizedType */]: function visitEachChildOfParenthesizedType(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84061
84099
  return context.factory.updateParenthesizedType(
84062
84100
  node,
84063
- Debug.checkDefined(nodeVisitor(node.type, visitor, isTypeNode))
84101
+ nodeVisitor(node.type, visitor, isTypeNode)
84064
84102
  );
84065
84103
  },
84066
84104
  [195 /* TypeOperator */]: function visitEachChildOfTypeOperatorNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84067
84105
  return context.factory.updateTypeOperatorNode(
84068
84106
  node,
84069
- Debug.checkDefined(nodeVisitor(node.type, visitor, isTypeNode))
84107
+ nodeVisitor(node.type, visitor, isTypeNode)
84070
84108
  );
84071
84109
  },
84072
84110
  [196 /* IndexedAccessType */]: function visitEachChildOfIndexedAccessType(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84073
84111
  return context.factory.updateIndexedAccessTypeNode(
84074
84112
  node,
84075
- Debug.checkDefined(nodeVisitor(node.objectType, visitor, isTypeNode)),
84076
- Debug.checkDefined(nodeVisitor(node.indexType, visitor, isTypeNode))
84113
+ nodeVisitor(node.objectType, visitor, isTypeNode),
84114
+ nodeVisitor(node.indexType, visitor, isTypeNode)
84077
84115
  );
84078
84116
  },
84079
84117
  [197 /* MappedType */]: function visitEachChildOfMappedType(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
84080
84118
  return context.factory.updateMappedTypeNode(
84081
84119
  node,
84082
- tokenVisitor ? nodeVisitor(node.readonlyToken, tokenVisitor, isReadonlyKeywordOrPlusOrMinusToken) : node.readonlyToken,
84083
- Debug.checkDefined(nodeVisitor(node.typeParameter, visitor, isTypeParameterDeclaration)),
84120
+ nodeVisitor(node.readonlyToken, tokenVisitor, isReadonlyKeywordOrPlusOrMinusToken),
84121
+ nodeVisitor(node.typeParameter, visitor, isTypeParameterDeclaration),
84084
84122
  nodeVisitor(node.nameType, visitor, isTypeNode),
84085
- tokenVisitor ? nodeVisitor(node.questionToken, tokenVisitor, isQuestionOrPlusOrMinusToken) : node.questionToken,
84123
+ nodeVisitor(node.questionToken, tokenVisitor, isQuestionOrPlusOrMinusToken),
84086
84124
  nodeVisitor(node.type, visitor, isTypeNode),
84087
84125
  nodesVisitor(node.members, visitor, isTypeElement)
84088
84126
  );
@@ -84090,21 +84128,21 @@ ${lanes.join("\n")}
84090
84128
  [198 /* LiteralType */]: function visitEachChildOfLiteralTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84091
84129
  return context.factory.updateLiteralTypeNode(
84092
84130
  node,
84093
- Debug.checkDefined(nodeVisitor(node.literal, visitor, isLiteralTypeLiteral))
84131
+ nodeVisitor(node.literal, visitor, isExpression)
84094
84132
  );
84095
84133
  },
84096
84134
  [200 /* TemplateLiteralType */]: function visitEachChildOfTemplateLiteralType(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
84097
84135
  return context.factory.updateTemplateLiteralType(
84098
84136
  node,
84099
- Debug.checkDefined(nodeVisitor(node.head, visitor, isTemplateHead)),
84137
+ nodeVisitor(node.head, visitor, isTemplateHead),
84100
84138
  nodesVisitor(node.templateSpans, visitor, isTemplateLiteralTypeSpan)
84101
84139
  );
84102
84140
  },
84103
84141
  [201 /* TemplateLiteralTypeSpan */]: function visitEachChildOfTemplateLiteralTypeSpan(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84104
84142
  return context.factory.updateTemplateLiteralTypeSpan(
84105
84143
  node,
84106
- Debug.checkDefined(nodeVisitor(node.type, visitor, isTypeNode)),
84107
- Debug.checkDefined(nodeVisitor(node.literal, visitor, isTemplateMiddleOrTemplateTail))
84144
+ nodeVisitor(node.type, visitor, isTypeNode),
84145
+ nodeVisitor(node.literal, visitor, isTemplateMiddleOrTemplateTail)
84108
84146
  );
84109
84147
  },
84110
84148
  // Binding patterns
@@ -84123,9 +84161,9 @@ ${lanes.join("\n")}
84123
84161
  [205 /* BindingElement */]: function visitEachChildOfBindingElement(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
84124
84162
  return context.factory.updateBindingElement(
84125
84163
  node,
84126
- tokenVisitor ? nodeVisitor(node.dotDotDotToken, tokenVisitor, isDotDotDotToken) : node.dotDotDotToken,
84164
+ nodeVisitor(node.dotDotDotToken, tokenVisitor, isDotDotDotToken),
84127
84165
  nodeVisitor(node.propertyName, visitor, isPropertyName),
84128
- Debug.checkDefined(nodeVisitor(node.name, visitor, isBindingName)),
84166
+ nodeVisitor(node.name, visitor, isBindingName),
84129
84167
  nodeVisitor(node.initializer, visitor, isExpression)
84130
84168
  );
84131
84169
  },
@@ -84145,37 +84183,37 @@ ${lanes.join("\n")}
84145
84183
  [208 /* PropertyAccessExpression */]: function visitEachChildOfPropertyAccessExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
84146
84184
  return isPropertyAccessChain(node) ? context.factory.updatePropertyAccessChain(
84147
84185
  node,
84148
- Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression)),
84149
- tokenVisitor ? nodeVisitor(node.questionDotToken, tokenVisitor, isQuestionDotToken) : node.questionDotToken,
84150
- Debug.checkDefined(nodeVisitor(node.name, visitor, isMemberName))
84186
+ nodeVisitor(node.expression, visitor, isExpression),
84187
+ nodeVisitor(node.questionDotToken, tokenVisitor, isQuestionDotToken),
84188
+ nodeVisitor(node.name, visitor, isMemberName)
84151
84189
  ) : context.factory.updatePropertyAccessExpression(
84152
84190
  node,
84153
- Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression)),
84154
- Debug.checkDefined(nodeVisitor(node.name, visitor, isMemberName))
84191
+ nodeVisitor(node.expression, visitor, isExpression),
84192
+ nodeVisitor(node.name, visitor, isMemberName)
84155
84193
  );
84156
84194
  },
84157
84195
  [209 /* ElementAccessExpression */]: function visitEachChildOfElementAccessExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
84158
84196
  return isElementAccessChain(node) ? context.factory.updateElementAccessChain(
84159
84197
  node,
84160
- Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression)),
84161
- tokenVisitor ? nodeVisitor(node.questionDotToken, tokenVisitor, isQuestionDotToken) : node.questionDotToken,
84162
- Debug.checkDefined(nodeVisitor(node.argumentExpression, visitor, isExpression))
84198
+ nodeVisitor(node.expression, visitor, isExpression),
84199
+ nodeVisitor(node.questionDotToken, tokenVisitor, isQuestionDotToken),
84200
+ nodeVisitor(node.argumentExpression, visitor, isExpression)
84163
84201
  ) : context.factory.updateElementAccessExpression(
84164
84202
  node,
84165
- Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression)),
84166
- Debug.checkDefined(nodeVisitor(node.argumentExpression, visitor, isExpression))
84203
+ nodeVisitor(node.expression, visitor, isExpression),
84204
+ nodeVisitor(node.argumentExpression, visitor, isExpression)
84167
84205
  );
84168
84206
  },
84169
84207
  [210 /* CallExpression */]: function visitEachChildOfCallExpression(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
84170
84208
  return isCallChain(node) ? context.factory.updateCallChain(
84171
84209
  node,
84172
- Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression)),
84173
- tokenVisitor ? nodeVisitor(node.questionDotToken, tokenVisitor, isQuestionDotToken) : node.questionDotToken,
84210
+ nodeVisitor(node.expression, visitor, isExpression),
84211
+ nodeVisitor(node.questionDotToken, tokenVisitor, isQuestionDotToken),
84174
84212
  nodesVisitor(node.typeArguments, visitor, isTypeNode),
84175
84213
  nodesVisitor(node.arguments, visitor, isExpression)
84176
84214
  ) : context.factory.updateCallExpression(
84177
84215
  node,
84178
- Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression)),
84216
+ nodeVisitor(node.expression, visitor, isExpression),
84179
84217
  nodesVisitor(node.typeArguments, visitor, isTypeNode),
84180
84218
  nodesVisitor(node.arguments, visitor, isExpression)
84181
84219
  );
@@ -84183,7 +84221,7 @@ ${lanes.join("\n")}
84183
84221
  [211 /* NewExpression */]: function visitEachChildOfNewExpression(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
84184
84222
  return context.factory.updateNewExpression(
84185
84223
  node,
84186
- Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression)),
84224
+ nodeVisitor(node.expression, visitor, isExpression),
84187
84225
  nodesVisitor(node.typeArguments, visitor, isTypeNode),
84188
84226
  nodesVisitor(node.arguments, visitor, isExpression)
84189
84227
  );
@@ -84191,29 +84229,29 @@ ${lanes.join("\n")}
84191
84229
  [212 /* TaggedTemplateExpression */]: function visitEachChildOfTaggedTemplateExpression(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
84192
84230
  return context.factory.updateTaggedTemplateExpression(
84193
84231
  node,
84194
- Debug.checkDefined(nodeVisitor(node.tag, visitor, isExpression)),
84232
+ nodeVisitor(node.tag, visitor, isExpression),
84195
84233
  nodesVisitor(node.typeArguments, visitor, isTypeNode),
84196
- Debug.checkDefined(nodeVisitor(node.template, visitor, isTemplateLiteral))
84234
+ nodeVisitor(node.template, visitor, isTemplateLiteral)
84197
84235
  );
84198
84236
  },
84199
84237
  [213 /* TypeAssertionExpression */]: function visitEachChildOfTypeAssertionExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84200
84238
  return context.factory.updateTypeAssertion(
84201
84239
  node,
84202
- Debug.checkDefined(nodeVisitor(node.type, visitor, isTypeNode)),
84203
- Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression))
84240
+ nodeVisitor(node.type, visitor, isTypeNode),
84241
+ nodeVisitor(node.expression, visitor, isExpression)
84204
84242
  );
84205
84243
  },
84206
84244
  [214 /* ParenthesizedExpression */]: function visitEachChildOfParenthesizedExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84207
84245
  return context.factory.updateParenthesizedExpression(
84208
84246
  node,
84209
- Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression))
84247
+ nodeVisitor(node.expression, visitor, isExpression)
84210
84248
  );
84211
84249
  },
84212
84250
  [215 /* FunctionExpression */]: function visitEachChildOfFunctionExpression(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
84213
84251
  return context.factory.updateFunctionExpression(
84214
84252
  node,
84215
84253
  nodesVisitor(node.modifiers, visitor, isModifier),
84216
- tokenVisitor ? nodeVisitor(node.asteriskToken, tokenVisitor, isAsteriskToken) : node.asteriskToken,
84254
+ nodeVisitor(node.asteriskToken, tokenVisitor, isAsteriskToken),
84217
84255
  nodeVisitor(node.name, visitor, isIdentifier),
84218
84256
  nodesVisitor(node.typeParameters, visitor, isTypeParameterDeclaration),
84219
84257
  visitParameterList(node.parameters, visitor, context, nodesVisitor),
@@ -84228,82 +84266,82 @@ ${lanes.join("\n")}
84228
84266
  nodesVisitor(node.typeParameters, visitor, isTypeParameterDeclaration),
84229
84267
  visitParameterList(node.parameters, visitor, context, nodesVisitor),
84230
84268
  nodeVisitor(node.type, visitor, isTypeNode),
84231
- tokenVisitor ? Debug.checkDefined(nodeVisitor(node.equalsGreaterThanToken, tokenVisitor, isEqualsGreaterThanToken)) : node.equalsGreaterThanToken,
84269
+ nodeVisitor(node.equalsGreaterThanToken, tokenVisitor, isEqualsGreaterThanToken),
84232
84270
  visitFunctionBody(node.body, visitor, context, nodeVisitor)
84233
84271
  );
84234
84272
  },
84235
84273
  [217 /* DeleteExpression */]: function visitEachChildOfDeleteExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84236
84274
  return context.factory.updateDeleteExpression(
84237
84275
  node,
84238
- Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression))
84276
+ nodeVisitor(node.expression, visitor, isExpression)
84239
84277
  );
84240
84278
  },
84241
84279
  [218 /* TypeOfExpression */]: function visitEachChildOfTypeOfExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84242
84280
  return context.factory.updateTypeOfExpression(
84243
84281
  node,
84244
- Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression))
84282
+ nodeVisitor(node.expression, visitor, isExpression)
84245
84283
  );
84246
84284
  },
84247
84285
  [219 /* VoidExpression */]: function visitEachChildOfVoidExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84248
84286
  return context.factory.updateVoidExpression(
84249
84287
  node,
84250
- Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression))
84288
+ nodeVisitor(node.expression, visitor, isExpression)
84251
84289
  );
84252
84290
  },
84253
84291
  [220 /* AwaitExpression */]: function visitEachChildOfAwaitExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84254
84292
  return context.factory.updateAwaitExpression(
84255
84293
  node,
84256
- Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression))
84294
+ nodeVisitor(node.expression, visitor, isExpression)
84257
84295
  );
84258
84296
  },
84259
84297
  [221 /* PrefixUnaryExpression */]: function visitEachChildOfPrefixUnaryExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84260
84298
  return context.factory.updatePrefixUnaryExpression(
84261
84299
  node,
84262
- Debug.checkDefined(nodeVisitor(node.operand, visitor, isExpression))
84300
+ nodeVisitor(node.operand, visitor, isExpression)
84263
84301
  );
84264
84302
  },
84265
84303
  [222 /* PostfixUnaryExpression */]: function visitEachChildOfPostfixUnaryExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84266
84304
  return context.factory.updatePostfixUnaryExpression(
84267
84305
  node,
84268
- Debug.checkDefined(nodeVisitor(node.operand, visitor, isExpression))
84306
+ nodeVisitor(node.operand, visitor, isExpression)
84269
84307
  );
84270
84308
  },
84271
84309
  [223 /* BinaryExpression */]: function visitEachChildOfBinaryExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
84272
84310
  return context.factory.updateBinaryExpression(
84273
84311
  node,
84274
- Debug.checkDefined(nodeVisitor(node.left, visitor, isExpression)),
84275
- tokenVisitor ? Debug.checkDefined(nodeVisitor(node.operatorToken, tokenVisitor, isBinaryOperatorToken)) : node.operatorToken,
84276
- Debug.checkDefined(nodeVisitor(node.right, visitor, isExpression))
84312
+ nodeVisitor(node.left, visitor, isExpression),
84313
+ nodeVisitor(node.operatorToken, tokenVisitor, isBinaryOperatorToken),
84314
+ nodeVisitor(node.right, visitor, isExpression)
84277
84315
  );
84278
84316
  },
84279
84317
  [224 /* ConditionalExpression */]: function visitEachChildOfConditionalExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
84280
84318
  return context.factory.updateConditionalExpression(
84281
84319
  node,
84282
- Debug.checkDefined(nodeVisitor(node.condition, visitor, isExpression)),
84283
- tokenVisitor ? Debug.checkDefined(nodeVisitor(node.questionToken, tokenVisitor, isQuestionToken)) : node.questionToken,
84284
- Debug.checkDefined(nodeVisitor(node.whenTrue, visitor, isExpression)),
84285
- tokenVisitor ? Debug.checkDefined(nodeVisitor(node.colonToken, tokenVisitor, isColonToken)) : node.colonToken,
84286
- Debug.checkDefined(nodeVisitor(node.whenFalse, visitor, isExpression))
84320
+ nodeVisitor(node.condition, visitor, isExpression),
84321
+ nodeVisitor(node.questionToken, tokenVisitor, isQuestionToken),
84322
+ nodeVisitor(node.whenTrue, visitor, isExpression),
84323
+ nodeVisitor(node.colonToken, tokenVisitor, isColonToken),
84324
+ nodeVisitor(node.whenFalse, visitor, isExpression)
84287
84325
  );
84288
84326
  },
84289
84327
  [225 /* TemplateExpression */]: function visitEachChildOfTemplateExpression(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
84290
84328
  return context.factory.updateTemplateExpression(
84291
84329
  node,
84292
- Debug.checkDefined(nodeVisitor(node.head, visitor, isTemplateHead)),
84330
+ nodeVisitor(node.head, visitor, isTemplateHead),
84293
84331
  nodesVisitor(node.templateSpans, visitor, isTemplateSpan)
84294
84332
  );
84295
84333
  },
84296
84334
  [226 /* YieldExpression */]: function visitEachChildOfYieldExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
84297
84335
  return context.factory.updateYieldExpression(
84298
84336
  node,
84299
- tokenVisitor ? nodeVisitor(node.asteriskToken, tokenVisitor, isAsteriskToken) : node.asteriskToken,
84337
+ nodeVisitor(node.asteriskToken, tokenVisitor, isAsteriskToken),
84300
84338
  nodeVisitor(node.expression, visitor, isExpression)
84301
84339
  );
84302
84340
  },
84303
84341
  [227 /* SpreadElement */]: function visitEachChildOfSpreadElement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84304
84342
  return context.factory.updateSpreadElement(
84305
84343
  node,
84306
- Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression))
84344
+ nodeVisitor(node.expression, visitor, isExpression)
84307
84345
  );
84308
84346
  },
84309
84347
  [228 /* ClassExpression */]: function visitEachChildOfClassExpression(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
@@ -84319,45 +84357,45 @@ ${lanes.join("\n")}
84319
84357
  [230 /* ExpressionWithTypeArguments */]: function visitEachChildOfExpressionWithTypeArguments(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
84320
84358
  return context.factory.updateExpressionWithTypeArguments(
84321
84359
  node,
84322
- Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression)),
84360
+ nodeVisitor(node.expression, visitor, isExpression),
84323
84361
  nodesVisitor(node.typeArguments, visitor, isTypeNode)
84324
84362
  );
84325
84363
  },
84326
84364
  [231 /* AsExpression */]: function visitEachChildOfAsExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84327
84365
  return context.factory.updateAsExpression(
84328
84366
  node,
84329
- Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression)),
84330
- Debug.checkDefined(nodeVisitor(node.type, visitor, isTypeNode))
84367
+ nodeVisitor(node.expression, visitor, isExpression),
84368
+ nodeVisitor(node.type, visitor, isTypeNode)
84331
84369
  );
84332
84370
  },
84333
84371
  [235 /* SatisfiesExpression */]: function visitEachChildOfSatisfiesExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84334
84372
  return context.factory.updateSatisfiesExpression(
84335
84373
  node,
84336
- Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression)),
84337
- Debug.checkDefined(nodeVisitor(node.type, visitor, isTypeNode))
84374
+ nodeVisitor(node.expression, visitor, isExpression),
84375
+ nodeVisitor(node.type, visitor, isTypeNode)
84338
84376
  );
84339
84377
  },
84340
84378
  [232 /* NonNullExpression */]: function visitEachChildOfNonNullExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84341
84379
  return isOptionalChain(node) ? context.factory.updateNonNullChain(
84342
84380
  node,
84343
- Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression))
84381
+ nodeVisitor(node.expression, visitor, isExpression)
84344
84382
  ) : context.factory.updateNonNullExpression(
84345
84383
  node,
84346
- Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression))
84384
+ nodeVisitor(node.expression, visitor, isExpression)
84347
84385
  );
84348
84386
  },
84349
84387
  [233 /* MetaProperty */]: function visitEachChildOfMetaProperty(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84350
84388
  return context.factory.updateMetaProperty(
84351
84389
  node,
84352
- Debug.checkDefined(nodeVisitor(node.name, visitor, isIdentifier))
84390
+ nodeVisitor(node.name, visitor, isIdentifier)
84353
84391
  );
84354
84392
  },
84355
84393
  // Misc
84356
84394
  [236 /* TemplateSpan */]: function visitEachChildOfTemplateSpan(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84357
84395
  return context.factory.updateTemplateSpan(
84358
84396
  node,
84359
- Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression)),
84360
- Debug.checkDefined(nodeVisitor(node.literal, visitor, isTemplateMiddleOrTemplateTail))
84397
+ nodeVisitor(node.expression, visitor, isExpression),
84398
+ nodeVisitor(node.literal, visitor, isTemplateMiddleOrTemplateTail)
84361
84399
  );
84362
84400
  },
84363
84401
  // Element
@@ -84371,20 +84409,20 @@ ${lanes.join("\n")}
84371
84409
  return context.factory.updateVariableStatement(
84372
84410
  node,
84373
84411
  nodesVisitor(node.modifiers, visitor, isModifier),
84374
- Debug.checkDefined(nodeVisitor(node.declarationList, visitor, isVariableDeclarationList))
84412
+ nodeVisitor(node.declarationList, visitor, isVariableDeclarationList)
84375
84413
  );
84376
84414
  },
84377
84415
  [241 /* ExpressionStatement */]: function visitEachChildOfExpressionStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84378
84416
  return context.factory.updateExpressionStatement(
84379
84417
  node,
84380
- Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression))
84418
+ nodeVisitor(node.expression, visitor, isExpression)
84381
84419
  );
84382
84420
  },
84383
84421
  [242 /* IfStatement */]: function visitEachChildOfIfStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84384
84422
  return context.factory.updateIfStatement(
84385
84423
  node,
84386
- Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression)),
84387
- Debug.checkDefined(nodeVisitor(node.thenStatement, visitor, isStatement, context.factory.liftToBlock)),
84424
+ nodeVisitor(node.expression, visitor, isExpression),
84425
+ nodeVisitor(node.thenStatement, visitor, isStatement, context.factory.liftToBlock),
84388
84426
  nodeVisitor(node.elseStatement, visitor, isStatement, context.factory.liftToBlock)
84389
84427
  );
84390
84428
  },
@@ -84392,13 +84430,13 @@ ${lanes.join("\n")}
84392
84430
  return context.factory.updateDoStatement(
84393
84431
  node,
84394
84432
  visitIterationBody(node.statement, visitor, context, nodeVisitor),
84395
- Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression))
84433
+ nodeVisitor(node.expression, visitor, isExpression)
84396
84434
  );
84397
84435
  },
84398
84436
  [244 /* WhileStatement */]: function visitEachChildOfWhileStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84399
84437
  return context.factory.updateWhileStatement(
84400
84438
  node,
84401
- Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression)),
84439
+ nodeVisitor(node.expression, visitor, isExpression),
84402
84440
  visitIterationBody(node.statement, visitor, context, nodeVisitor)
84403
84441
  );
84404
84442
  },
@@ -84414,17 +84452,17 @@ ${lanes.join("\n")}
84414
84452
  [246 /* ForInStatement */]: function visitEachChildOfForInStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84415
84453
  return context.factory.updateForInStatement(
84416
84454
  node,
84417
- Debug.checkDefined(nodeVisitor(node.initializer, visitor, isForInitializer)),
84418
- Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression)),
84455
+ nodeVisitor(node.initializer, visitor, isForInitializer),
84456
+ nodeVisitor(node.expression, visitor, isExpression),
84419
84457
  visitIterationBody(node.statement, visitor, context, nodeVisitor)
84420
84458
  );
84421
84459
  },
84422
84460
  [247 /* ForOfStatement */]: function visitEachChildOfForOfStatement(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
84423
84461
  return context.factory.updateForOfStatement(
84424
84462
  node,
84425
- tokenVisitor ? nodeVisitor(node.awaitModifier, tokenVisitor, isAwaitKeyword) : node.awaitModifier,
84426
- Debug.checkDefined(nodeVisitor(node.initializer, visitor, isForInitializer)),
84427
- Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression)),
84463
+ nodeVisitor(node.awaitModifier, tokenVisitor, isAwaitKeyword),
84464
+ nodeVisitor(node.initializer, visitor, isForInitializer),
84465
+ nodeVisitor(node.expression, visitor, isExpression),
84428
84466
  visitIterationBody(node.statement, visitor, context, nodeVisitor)
84429
84467
  );
84430
84468
  },
@@ -84449,34 +84487,34 @@ ${lanes.join("\n")}
84449
84487
  [251 /* WithStatement */]: function visitEachChildOfWithStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84450
84488
  return context.factory.updateWithStatement(
84451
84489
  node,
84452
- Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression)),
84453
- Debug.checkDefined(nodeVisitor(node.statement, visitor, isStatement, context.factory.liftToBlock))
84490
+ nodeVisitor(node.expression, visitor, isExpression),
84491
+ nodeVisitor(node.statement, visitor, isStatement, context.factory.liftToBlock)
84454
84492
  );
84455
84493
  },
84456
84494
  [252 /* SwitchStatement */]: function visitEachChildOfSwitchStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84457
84495
  return context.factory.updateSwitchStatement(
84458
84496
  node,
84459
- Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression)),
84460
- Debug.checkDefined(nodeVisitor(node.caseBlock, visitor, isCaseBlock))
84497
+ nodeVisitor(node.expression, visitor, isExpression),
84498
+ nodeVisitor(node.caseBlock, visitor, isCaseBlock)
84461
84499
  );
84462
84500
  },
84463
84501
  [253 /* LabeledStatement */]: function visitEachChildOfLabeledStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84464
84502
  return context.factory.updateLabeledStatement(
84465
84503
  node,
84466
- Debug.checkDefined(nodeVisitor(node.label, visitor, isIdentifier)),
84467
- Debug.checkDefined(nodeVisitor(node.statement, visitor, isStatement, context.factory.liftToBlock))
84504
+ nodeVisitor(node.label, visitor, isIdentifier),
84505
+ nodeVisitor(node.statement, visitor, isStatement, context.factory.liftToBlock)
84468
84506
  );
84469
84507
  },
84470
84508
  [254 /* ThrowStatement */]: function visitEachChildOfThrowStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84471
84509
  return context.factory.updateThrowStatement(
84472
84510
  node,
84473
- Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression))
84511
+ nodeVisitor(node.expression, visitor, isExpression)
84474
84512
  );
84475
84513
  },
84476
84514
  [255 /* TryStatement */]: function visitEachChildOfTryStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84477
84515
  return context.factory.updateTryStatement(
84478
84516
  node,
84479
- Debug.checkDefined(nodeVisitor(node.tryBlock, visitor, isBlock)),
84517
+ nodeVisitor(node.tryBlock, visitor, isBlock),
84480
84518
  nodeVisitor(node.catchClause, visitor, isCatchClause),
84481
84519
  nodeVisitor(node.finallyBlock, visitor, isBlock)
84482
84520
  );
@@ -84484,8 +84522,8 @@ ${lanes.join("\n")}
84484
84522
  [257 /* VariableDeclaration */]: function visitEachChildOfVariableDeclaration(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
84485
84523
  return context.factory.updateVariableDeclaration(
84486
84524
  node,
84487
- Debug.checkDefined(nodeVisitor(node.name, visitor, isBindingName)),
84488
- tokenVisitor ? nodeVisitor(node.exclamationToken, tokenVisitor, isExclamationToken) : node.exclamationToken,
84525
+ nodeVisitor(node.name, visitor, isBindingName),
84526
+ nodeVisitor(node.exclamationToken, tokenVisitor, isExclamationToken),
84489
84527
  nodeVisitor(node.type, visitor, isTypeNode),
84490
84528
  nodeVisitor(node.initializer, visitor, isExpression)
84491
84529
  );
@@ -84500,7 +84538,7 @@ ${lanes.join("\n")}
84500
84538
  return context.factory.updateFunctionDeclaration(
84501
84539
  node,
84502
84540
  nodesVisitor(node.modifiers, visitor, isModifier),
84503
- tokenVisitor ? nodeVisitor(node.asteriskToken, tokenVisitor, isAsteriskToken) : node.asteriskToken,
84541
+ nodeVisitor(node.asteriskToken, tokenVisitor, isAsteriskToken),
84504
84542
  nodeVisitor(node.name, visitor, isIdentifier),
84505
84543
  nodesVisitor(node.typeParameters, visitor, isTypeParameterDeclaration),
84506
84544
  visitParameterList(node.parameters, visitor, context, nodesVisitor),
@@ -84522,7 +84560,7 @@ ${lanes.join("\n")}
84522
84560
  return context.factory.updateInterfaceDeclaration(
84523
84561
  node,
84524
84562
  nodesVisitor(node.modifiers, visitor, isModifier),
84525
- Debug.checkDefined(nodeVisitor(node.name, visitor, isIdentifier)),
84563
+ nodeVisitor(node.name, visitor, isIdentifier),
84526
84564
  nodesVisitor(node.typeParameters, visitor, isTypeParameterDeclaration),
84527
84565
  nodesVisitor(node.heritageClauses, visitor, isHeritageClause),
84528
84566
  nodesVisitor(node.members, visitor, isTypeElement)
@@ -84532,16 +84570,16 @@ ${lanes.join("\n")}
84532
84570
  return context.factory.updateTypeAliasDeclaration(
84533
84571
  node,
84534
84572
  nodesVisitor(node.modifiers, visitor, isModifier),
84535
- Debug.checkDefined(nodeVisitor(node.name, visitor, isIdentifier)),
84573
+ nodeVisitor(node.name, visitor, isIdentifier),
84536
84574
  nodesVisitor(node.typeParameters, visitor, isTypeParameterDeclaration),
84537
- Debug.checkDefined(nodeVisitor(node.type, visitor, isTypeNode))
84575
+ nodeVisitor(node.type, visitor, isTypeNode)
84538
84576
  );
84539
84577
  },
84540
84578
  [263 /* EnumDeclaration */]: function visitEachChildOfEnumDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
84541
84579
  return context.factory.updateEnumDeclaration(
84542
84580
  node,
84543
84581
  nodesVisitor(node.modifiers, visitor, isModifier),
84544
- Debug.checkDefined(nodeVisitor(node.name, visitor, isIdentifier)),
84582
+ nodeVisitor(node.name, visitor, isIdentifier),
84545
84583
  nodesVisitor(node.members, visitor, isEnumMember)
84546
84584
  );
84547
84585
  },
@@ -84549,7 +84587,7 @@ ${lanes.join("\n")}
84549
84587
  return context.factory.updateModuleDeclaration(
84550
84588
  node,
84551
84589
  nodesVisitor(node.modifiers, visitor, isModifier),
84552
- Debug.checkDefined(nodeVisitor(node.name, visitor, isModuleName)),
84590
+ nodeVisitor(node.name, visitor, isModuleName),
84553
84591
  nodeVisitor(node.body, visitor, isModuleBody)
84554
84592
  );
84555
84593
  },
@@ -84568,7 +84606,7 @@ ${lanes.join("\n")}
84568
84606
  [267 /* NamespaceExportDeclaration */]: function visitEachChildOfNamespaceExportDeclaration(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84569
84607
  return context.factory.updateNamespaceExportDeclaration(
84570
84608
  node,
84571
- Debug.checkDefined(nodeVisitor(node.name, visitor, isIdentifier))
84609
+ nodeVisitor(node.name, visitor, isIdentifier)
84572
84610
  );
84573
84611
  },
84574
84612
  [268 /* ImportEqualsDeclaration */]: function visitEachChildOfImportEqualsDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
@@ -84576,8 +84614,8 @@ ${lanes.join("\n")}
84576
84614
  node,
84577
84615
  nodesVisitor(node.modifiers, visitor, isModifier),
84578
84616
  node.isTypeOnly,
84579
- Debug.checkDefined(nodeVisitor(node.name, visitor, isIdentifier)),
84580
- Debug.checkDefined(nodeVisitor(node.moduleReference, visitor, isModuleReference))
84617
+ nodeVisitor(node.name, visitor, isIdentifier),
84618
+ nodeVisitor(node.moduleReference, visitor, isModuleReference)
84581
84619
  );
84582
84620
  },
84583
84621
  [269 /* ImportDeclaration */]: function visitEachChildOfImportDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
@@ -84585,7 +84623,7 @@ ${lanes.join("\n")}
84585
84623
  node,
84586
84624
  nodesVisitor(node.modifiers, visitor, isModifier),
84587
84625
  nodeVisitor(node.importClause, visitor, isImportClause),
84588
- Debug.checkDefined(nodeVisitor(node.moduleSpecifier, visitor, isExpression)),
84626
+ nodeVisitor(node.moduleSpecifier, visitor, isExpression),
84589
84627
  nodeVisitor(node.assertClause, visitor, isAssertClause)
84590
84628
  );
84591
84629
  },
@@ -84599,8 +84637,8 @@ ${lanes.join("\n")}
84599
84637
  [297 /* AssertEntry */]: function visitEachChildOfAssertEntry(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84600
84638
  return context.factory.updateAssertEntry(
84601
84639
  node,
84602
- Debug.checkDefined(nodeVisitor(node.name, visitor, isAssertionKey)),
84603
- Debug.checkDefined(nodeVisitor(node.value, visitor, isExpression))
84640
+ nodeVisitor(node.name, visitor, isAssertionKey),
84641
+ nodeVisitor(node.value, visitor, isExpression)
84604
84642
  );
84605
84643
  },
84606
84644
  [270 /* ImportClause */]: function visitEachChildOfImportClause(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
@@ -84614,13 +84652,13 @@ ${lanes.join("\n")}
84614
84652
  [271 /* NamespaceImport */]: function visitEachChildOfNamespaceImport(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84615
84653
  return context.factory.updateNamespaceImport(
84616
84654
  node,
84617
- Debug.checkDefined(nodeVisitor(node.name, visitor, isIdentifier))
84655
+ nodeVisitor(node.name, visitor, isIdentifier)
84618
84656
  );
84619
84657
  },
84620
84658
  [277 /* NamespaceExport */]: function visitEachChildOfNamespaceExport(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84621
84659
  return context.factory.updateNamespaceExport(
84622
84660
  node,
84623
- Debug.checkDefined(nodeVisitor(node.name, visitor, isIdentifier))
84661
+ nodeVisitor(node.name, visitor, isIdentifier)
84624
84662
  );
84625
84663
  },
84626
84664
  [272 /* NamedImports */]: function visitEachChildOfNamedImports(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
@@ -84634,14 +84672,14 @@ ${lanes.join("\n")}
84634
84672
  node,
84635
84673
  node.isTypeOnly,
84636
84674
  nodeVisitor(node.propertyName, visitor, isIdentifier),
84637
- Debug.checkDefined(nodeVisitor(node.name, visitor, isIdentifier))
84675
+ nodeVisitor(node.name, visitor, isIdentifier)
84638
84676
  );
84639
84677
  },
84640
84678
  [274 /* ExportAssignment */]: function visitEachChildOfExportAssignment(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
84641
84679
  return context.factory.updateExportAssignment(
84642
84680
  node,
84643
84681
  nodesVisitor(node.modifiers, visitor, isModifier),
84644
- Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression))
84682
+ nodeVisitor(node.expression, visitor, isExpression)
84645
84683
  );
84646
84684
  },
84647
84685
  [275 /* ExportDeclaration */]: function visitEachChildOfExportDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
@@ -84665,59 +84703,59 @@ ${lanes.join("\n")}
84665
84703
  node,
84666
84704
  node.isTypeOnly,
84667
84705
  nodeVisitor(node.propertyName, visitor, isIdentifier),
84668
- Debug.checkDefined(nodeVisitor(node.name, visitor, isIdentifier))
84706
+ nodeVisitor(node.name, visitor, isIdentifier)
84669
84707
  );
84670
84708
  },
84671
84709
  // Module references
84672
84710
  [280 /* ExternalModuleReference */]: function visitEachChildOfExternalModuleReference(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84673
84711
  return context.factory.updateExternalModuleReference(
84674
84712
  node,
84675
- Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression))
84713
+ nodeVisitor(node.expression, visitor, isExpression)
84676
84714
  );
84677
84715
  },
84678
84716
  // JSX
84679
84717
  [281 /* JsxElement */]: function visitEachChildOfJsxElement(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
84680
84718
  return context.factory.updateJsxElement(
84681
84719
  node,
84682
- Debug.checkDefined(nodeVisitor(node.openingElement, visitor, isJsxOpeningElement)),
84720
+ nodeVisitor(node.openingElement, visitor, isJsxOpeningElement),
84683
84721
  nodesVisitor(node.children, visitor, isJsxChild),
84684
- Debug.checkDefined(nodeVisitor(node.closingElement, visitor, isJsxClosingElement))
84722
+ nodeVisitor(node.closingElement, visitor, isJsxClosingElement)
84685
84723
  );
84686
84724
  },
84687
84725
  [282 /* JsxSelfClosingElement */]: function visitEachChildOfJsxSelfClosingElement(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
84688
84726
  return context.factory.updateJsxSelfClosingElement(
84689
84727
  node,
84690
- Debug.checkDefined(nodeVisitor(node.tagName, visitor, isJsxTagNameExpression)),
84728
+ nodeVisitor(node.tagName, visitor, isJsxTagNameExpression),
84691
84729
  nodesVisitor(node.typeArguments, visitor, isTypeNode),
84692
- Debug.checkDefined(nodeVisitor(node.attributes, visitor, isJsxAttributes))
84730
+ nodeVisitor(node.attributes, visitor, isJsxAttributes)
84693
84731
  );
84694
84732
  },
84695
84733
  [283 /* JsxOpeningElement */]: function visitEachChildOfJsxOpeningElement(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
84696
84734
  return context.factory.updateJsxOpeningElement(
84697
84735
  node,
84698
- Debug.checkDefined(nodeVisitor(node.tagName, visitor, isJsxTagNameExpression)),
84736
+ nodeVisitor(node.tagName, visitor, isJsxTagNameExpression),
84699
84737
  nodesVisitor(node.typeArguments, visitor, isTypeNode),
84700
- Debug.checkDefined(nodeVisitor(node.attributes, visitor, isJsxAttributes))
84738
+ nodeVisitor(node.attributes, visitor, isJsxAttributes)
84701
84739
  );
84702
84740
  },
84703
84741
  [284 /* JsxClosingElement */]: function visitEachChildOfJsxClosingElement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84704
84742
  return context.factory.updateJsxClosingElement(
84705
84743
  node,
84706
- Debug.checkDefined(nodeVisitor(node.tagName, visitor, isJsxTagNameExpression))
84744
+ nodeVisitor(node.tagName, visitor, isJsxTagNameExpression)
84707
84745
  );
84708
84746
  },
84709
84747
  [285 /* JsxFragment */]: function visitEachChildOfJsxFragment(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
84710
84748
  return context.factory.updateJsxFragment(
84711
84749
  node,
84712
- Debug.checkDefined(nodeVisitor(node.openingFragment, visitor, isJsxOpeningFragment)),
84750
+ nodeVisitor(node.openingFragment, visitor, isJsxOpeningFragment),
84713
84751
  nodesVisitor(node.children, visitor, isJsxChild),
84714
- Debug.checkDefined(nodeVisitor(node.closingFragment, visitor, isJsxClosingFragment))
84752
+ nodeVisitor(node.closingFragment, visitor, isJsxClosingFragment)
84715
84753
  );
84716
84754
  },
84717
84755
  [288 /* JsxAttribute */]: function visitEachChildOfJsxAttribute(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84718
84756
  return context.factory.updateJsxAttribute(
84719
84757
  node,
84720
- Debug.checkDefined(nodeVisitor(node.name, visitor, isIdentifier)),
84758
+ nodeVisitor(node.name, visitor, isIdentifier),
84721
84759
  nodeVisitor(node.initializer, visitor, isStringLiteralOrJsxExpression)
84722
84760
  );
84723
84761
  },
@@ -84730,20 +84768,20 @@ ${lanes.join("\n")}
84730
84768
  [290 /* JsxSpreadAttribute */]: function visitEachChildOfJsxSpreadAttribute(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84731
84769
  return context.factory.updateJsxSpreadAttribute(
84732
84770
  node,
84733
- Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression))
84771
+ nodeVisitor(node.expression, visitor, isExpression)
84734
84772
  );
84735
84773
  },
84736
84774
  [291 /* JsxExpression */]: function visitEachChildOfJsxExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84737
84775
  return context.factory.updateJsxExpression(
84738
84776
  node,
84739
- Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression))
84777
+ nodeVisitor(node.expression, visitor, isExpression)
84740
84778
  );
84741
84779
  },
84742
84780
  // Clauses
84743
84781
  [292 /* CaseClause */]: function visitEachChildOfCaseClause(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
84744
84782
  return context.factory.updateCaseClause(
84745
84783
  node,
84746
- Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression)),
84784
+ nodeVisitor(node.expression, visitor, isExpression),
84747
84785
  nodesVisitor(node.statements, visitor, isStatement)
84748
84786
  );
84749
84787
  },
@@ -84763,35 +84801,35 @@ ${lanes.join("\n")}
84763
84801
  return context.factory.updateCatchClause(
84764
84802
  node,
84765
84803
  nodeVisitor(node.variableDeclaration, visitor, isVariableDeclaration),
84766
- Debug.checkDefined(nodeVisitor(node.block, visitor, isBlock))
84804
+ nodeVisitor(node.block, visitor, isBlock)
84767
84805
  );
84768
84806
  },
84769
84807
  // Property assignments
84770
84808
  [299 /* PropertyAssignment */]: function visitEachChildOfPropertyAssignment(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84771
84809
  return context.factory.updatePropertyAssignment(
84772
84810
  node,
84773
- Debug.checkDefined(nodeVisitor(node.name, visitor, isPropertyName)),
84774
- Debug.checkDefined(nodeVisitor(node.initializer, visitor, isExpression))
84811
+ nodeVisitor(node.name, visitor, isPropertyName),
84812
+ nodeVisitor(node.initializer, visitor, isExpression)
84775
84813
  );
84776
84814
  },
84777
84815
  [300 /* ShorthandPropertyAssignment */]: function visitEachChildOfShorthandPropertyAssignment(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84778
84816
  return context.factory.updateShorthandPropertyAssignment(
84779
84817
  node,
84780
- Debug.checkDefined(nodeVisitor(node.name, visitor, isIdentifier)),
84818
+ nodeVisitor(node.name, visitor, isIdentifier),
84781
84819
  nodeVisitor(node.objectAssignmentInitializer, visitor, isExpression)
84782
84820
  );
84783
84821
  },
84784
84822
  [301 /* SpreadAssignment */]: function visitEachChildOfSpreadAssignment(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84785
84823
  return context.factory.updateSpreadAssignment(
84786
84824
  node,
84787
- Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression))
84825
+ nodeVisitor(node.expression, visitor, isExpression)
84788
84826
  );
84789
84827
  },
84790
84828
  // Enum
84791
84829
  [302 /* EnumMember */]: function visitEachChildOfEnumMember(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84792
84830
  return context.factory.updateEnumMember(
84793
84831
  node,
84794
- Debug.checkDefined(nodeVisitor(node.name, visitor, isPropertyName)),
84832
+ nodeVisitor(node.name, visitor, isPropertyName),
84795
84833
  nodeVisitor(node.initializer, visitor, isExpression)
84796
84834
  );
84797
84835
  },
@@ -84803,13 +84841,13 @@ ${lanes.join("\n")}
84803
84841
  );
84804
84842
  },
84805
84843
  // Transformation nodes
84806
- [355 /* PartiallyEmittedExpression */]: function visitEachChildOfPartiallyEmittedExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84844
+ [356 /* PartiallyEmittedExpression */]: function visitEachChildOfPartiallyEmittedExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
84807
84845
  return context.factory.updatePartiallyEmittedExpression(
84808
84846
  node,
84809
- Debug.checkDefined(nodeVisitor(node.expression, visitor, isExpression))
84847
+ nodeVisitor(node.expression, visitor, isExpression)
84810
84848
  );
84811
84849
  },
84812
- [356 /* CommaListExpression */]: function visitEachChildOfCommaListExpression(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
84850
+ [357 /* CommaListExpression */]: function visitEachChildOfCommaListExpression(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
84813
84851
  return context.factory.updateCommaListExpression(
84814
84852
  node,
84815
84853
  nodesVisitor(node.elements, visitor, isExpression)
@@ -85765,7 +85803,7 @@ ${lanes.join("\n")}
85765
85803
  location = node = value;
85766
85804
  value = node.right;
85767
85805
  } else {
85768
- return Debug.checkDefined(visitNode(value, visitor, isExpression));
85806
+ return visitNode(value, visitor, isExpression);
85769
85807
  }
85770
85808
  }
85771
85809
  }
@@ -85784,7 +85822,6 @@ ${lanes.join("\n")}
85784
85822
  };
85785
85823
  if (value) {
85786
85824
  value = visitNode(value, visitor, isExpression);
85787
- Debug.assert(value);
85788
85825
  if (isIdentifier(value) && bindingOrAssignmentElementAssignsToName(node, value.escapedText) || bindingOrAssignmentElementContainsNonLiteralComputedName(node)) {
85789
85826
  value = ensureIdentifier(
85790
85827
  flattenContext,
@@ -85826,7 +85863,7 @@ ${lanes.join("\n")}
85826
85863
  function emitBindingOrAssignment(target, value2, location2, original) {
85827
85864
  Debug.assertNode(target, createAssignmentCallback ? isIdentifier : isExpression);
85828
85865
  const expression = createAssignmentCallback ? createAssignmentCallback(target, value2, location2) : setTextRange(
85829
- context.factory.createAssignment(Debug.checkDefined(visitNode(target, visitor, isExpression)), value2),
85866
+ context.factory.createAssignment(visitNode(target, visitor, isExpression), value2),
85830
85867
  location2
85831
85868
  );
85832
85869
  expression.original = original;
@@ -85883,7 +85920,7 @@ ${lanes.join("\n")}
85883
85920
  if (initializer && (isIdentifier(initializer) && bindingOrAssignmentElementAssignsToName(node, initializer.escapedText) || bindingOrAssignmentElementContainsNonLiteralComputedName(node))) {
85884
85921
  initializer = ensureIdentifier(
85885
85922
  flattenContext,
85886
- Debug.checkDefined(visitNode(initializer, flattenContext.visitor, isExpression)),
85923
+ visitNode(initializer, flattenContext.visitor),
85887
85924
  /*reuseIdentifierExpressions*/
85888
85925
  false,
85889
85926
  initializer
@@ -86004,7 +86041,7 @@ ${lanes.join("\n")}
86004
86041
  if (!getRestIndicatorOfBindingOrAssignmentElement(element)) {
86005
86042
  const propertyName = getPropertyNameOfBindingOrAssignmentElement(element);
86006
86043
  if (flattenContext.level >= 1 /* ObjectRest */ && !(element.transformFlags & (32768 /* ContainsRestOrSpread */ | 65536 /* ContainsObjectRestOrSpread */)) && !(getTargetOfBindingOrAssignmentElement(element).transformFlags & (32768 /* ContainsRestOrSpread */ | 65536 /* ContainsObjectRestOrSpread */)) && !isComputedPropertyName(propertyName)) {
86007
- bindingElements = append(bindingElements, visitNode(element, flattenContext.visitor, isBindingOrAssignmentElement));
86044
+ bindingElements = append(bindingElements, visitNode(element, flattenContext.visitor));
86008
86045
  } else {
86009
86046
  if (bindingElements) {
86010
86047
  flattenContext.emitBindingOrAssignment(flattenContext.createObjectBindingOrAssignmentPattern(bindingElements), value, location, pattern);
@@ -86142,7 +86179,7 @@ ${lanes.join("\n")}
86142
86179
  if (isComputedPropertyName(propertyName)) {
86143
86180
  const argumentExpression = ensureIdentifier(
86144
86181
  flattenContext,
86145
- Debug.checkDefined(visitNode(propertyName.expression, flattenContext.visitor, isExpression)),
86182
+ visitNode(propertyName.expression, flattenContext.visitor),
86146
86183
  /*reuseIdentifierExpressions*/
86147
86184
  false,
86148
86185
  /*location*/
@@ -86185,7 +86222,6 @@ ${lanes.join("\n")}
86185
86222
  return factory2.createArrayBindingPattern(elements);
86186
86223
  }
86187
86224
  function makeArrayAssignmentPattern(factory2, elements) {
86188
- Debug.assertEachNode(elements, isArrayBindingOrAssignmentElement);
86189
86225
  return factory2.createArrayLiteralExpression(map(elements, factory2.converters.convertToArrayAssignmentElement));
86190
86226
  }
86191
86227
  function makeObjectBindingPattern(factory2, elements) {
@@ -86193,7 +86229,6 @@ ${lanes.join("\n")}
86193
86229
  return factory2.createObjectBindingPattern(elements);
86194
86230
  }
86195
86231
  function makeObjectAssignmentPattern(factory2, elements) {
86196
- Debug.assertEachNode(elements, isObjectBindingOrAssignmentElement);
86197
86232
  return factory2.createObjectLiteralExpression(map(elements, factory2.converters.convertToObjectAssignmentElement));
86198
86233
  }
86199
86234
  function makeBindingElement(factory2, name) {
@@ -86224,7 +86259,6 @@ ${lanes.join("\n")}
86224
86259
  // src/compiler/transformers/taggedTemplate.ts
86225
86260
  function processTaggedTemplateExpression(context, node, visitor, currentSourceFile, recordTaggedTemplateString, level) {
86226
86261
  const tag = visitNode(node.tag, visitor, isExpression);
86227
- Debug.assert(tag);
86228
86262
  const templateArguments = [void 0];
86229
86263
  const cookedStrings = [];
86230
86264
  const rawStrings = [];
@@ -86241,7 +86275,7 @@ ${lanes.join("\n")}
86241
86275
  for (const templateSpan of template.templateSpans) {
86242
86276
  cookedStrings.push(createTemplateCooked(templateSpan.literal));
86243
86277
  rawStrings.push(getRawLiteral(templateSpan.literal, currentSourceFile));
86244
- templateArguments.push(Debug.checkDefined(visitNode(templateSpan.expression, visitor, isExpression)));
86278
+ templateArguments.push(visitNode(templateSpan.expression, visitor, isExpression));
86245
86279
  }
86246
86280
  }
86247
86281
  const helperCall = context.getEmitHelperFactory().createTemplateObjectHelper(
@@ -86625,7 +86659,7 @@ ${lanes.join("\n")}
86625
86659
  function visitObjectLiteralExpression(node) {
86626
86660
  return factory2.updateObjectLiteralExpression(
86627
86661
  node,
86628
- visitNodes2(node.properties, getObjectLiteralElementVisitor(node), isObjectLiteralElementLike)
86662
+ visitNodes2(node.properties, getObjectLiteralElementVisitor(node), isObjectLiteralElement)
86629
86663
  );
86630
86664
  }
86631
86665
  function getClassFacts(node, staticProperties) {
@@ -86823,7 +86857,6 @@ ${lanes.join("\n")}
86823
86857
  const decorators = [];
86824
86858
  for (const parameterDecorator of parameterDecorators) {
86825
86859
  const expression = visitNode(parameterDecorator.expression, visitor, isExpression);
86826
- Debug.assert(expression);
86827
86860
  const helper = emitHelpers().createParamHelper(expression, parameterOffset);
86828
86861
  setTextRange(helper, parameterDecorator.expression);
86829
86862
  setEmitFlags(helper, 3072 /* NoComments */);
@@ -86947,7 +86980,6 @@ ${lanes.join("\n")}
86947
86980
  const name = member.name;
86948
86981
  if (isComputedPropertyName(name) && (!hasStaticModifier(member) && currentClassHasParameterProperties || hasDecorators(member))) {
86949
86982
  const expression = visitNode(name.expression, visitor, isExpression);
86950
- Debug.assert(expression);
86951
86983
  const innerExpression = skipPartiallyEmittedExpressions(expression);
86952
86984
  if (!isSimpleInlineableExpression(innerExpression)) {
86953
86985
  const generatedName = factory2.getGeneratedNameForNode(name);
@@ -86955,7 +86987,7 @@ ${lanes.join("\n")}
86955
86987
  return factory2.updateComputedPropertyName(name, factory2.createAssignment(generatedName, expression));
86956
86988
  }
86957
86989
  }
86958
- return Debug.checkDefined(visitNode(name, visitor, isPropertyName));
86990
+ return visitNode(name, visitor, isPropertyName);
86959
86991
  }
86960
86992
  function visitHeritageClause(node) {
86961
86993
  if (node.token === 117 /* ImplementsKeyword */) {
@@ -86966,7 +86998,7 @@ ${lanes.join("\n")}
86966
86998
  function visitExpressionWithTypeArguments(node) {
86967
86999
  return factory2.updateExpressionWithTypeArguments(
86968
87000
  node,
86969
- Debug.checkDefined(visitNode(node.expression, visitor, isLeftHandSideExpression)),
87001
+ visitNode(node.expression, visitor, isLeftHandSideExpression),
86970
87002
  /*typeArguments*/
86971
87003
  void 0
86972
87004
  );
@@ -86985,7 +87017,7 @@ ${lanes.join("\n")}
86985
87017
  return factory2.updatePropertyDeclaration(
86986
87018
  node,
86987
87019
  concatenate(decorators, factory2.createModifiersFromModifierFlags(2 /* Ambient */)),
86988
- Debug.checkDefined(visitNode(node.name, visitor, isPropertyName)),
87020
+ visitNode(node.name, visitor, isPropertyName),
86989
87021
  /*questionOrExclamationToken*/
86990
87022
  void 0,
86991
87023
  /*type*/
@@ -87002,7 +87034,7 @@ ${lanes.join("\n")}
87002
87034
  void 0,
87003
87035
  /*type*/
87004
87036
  void 0,
87005
- visitNode(node.initializer, visitor, isExpression)
87037
+ visitNode(node.initializer, visitor)
87006
87038
  );
87007
87039
  }
87008
87040
  function visitConstructor(node) {
@@ -87221,7 +87253,7 @@ ${lanes.join("\n")}
87221
87253
  elideNodes(factory2, node.modifiers),
87222
87254
  // preserve positions, if available
87223
87255
  node.dotDotDotToken,
87224
- Debug.checkDefined(visitNode(node.name, visitor, isBindingName)),
87256
+ visitNode(node.name, visitor, isBindingName),
87225
87257
  /*questionToken*/
87226
87258
  void 0,
87227
87259
  /*type*/
@@ -87270,7 +87302,7 @@ ${lanes.join("\n")}
87270
87302
  return setTextRange(
87271
87303
  factory2.createAssignment(
87272
87304
  getNamespaceMemberNameWithSourceMapsAndWithoutComments(name),
87273
- Debug.checkDefined(visitNode(node.initializer, visitor, isExpression))
87305
+ visitNode(node.initializer, visitor, isExpression)
87274
87306
  ),
87275
87307
  /*location*/
87276
87308
  node
@@ -87280,7 +87312,7 @@ ${lanes.join("\n")}
87280
87312
  function visitVariableDeclaration(node) {
87281
87313
  const updated = factory2.updateVariableDeclaration(
87282
87314
  node,
87283
- Debug.checkDefined(visitNode(node.name, visitor, isBindingName)),
87315
+ visitNode(node.name, visitor, isBindingName),
87284
87316
  /*exclamationToken*/
87285
87317
  void 0,
87286
87318
  /*type*/
@@ -87296,30 +87328,26 @@ ${lanes.join("\n")}
87296
87328
  const innerExpression = skipOuterExpressions(node.expression, ~6 /* Assertions */);
87297
87329
  if (isAssertionExpression(innerExpression)) {
87298
87330
  const expression = visitNode(node.expression, visitor, isExpression);
87299
- Debug.assert(expression);
87300
87331
  return factory2.createPartiallyEmittedExpression(expression, node);
87301
87332
  }
87302
87333
  return visitEachChild(node, visitor, context);
87303
87334
  }
87304
87335
  function visitAssertionExpression(node) {
87305
87336
  const expression = visitNode(node.expression, visitor, isExpression);
87306
- Debug.assert(expression);
87307
87337
  return factory2.createPartiallyEmittedExpression(expression, node);
87308
87338
  }
87309
87339
  function visitNonNullExpression(node) {
87310
87340
  const expression = visitNode(node.expression, visitor, isLeftHandSideExpression);
87311
- Debug.assert(expression);
87312
87341
  return factory2.createPartiallyEmittedExpression(expression, node);
87313
87342
  }
87314
87343
  function visitSatisfiesExpression(node) {
87315
87344
  const expression = visitNode(node.expression, visitor, isExpression);
87316
- Debug.assert(expression);
87317
87345
  return factory2.createPartiallyEmittedExpression(expression, node);
87318
87346
  }
87319
87347
  function visitCallExpression(node) {
87320
87348
  return factory2.updateCallExpression(
87321
87349
  node,
87322
- Debug.checkDefined(visitNode(node.expression, visitor, isExpression)),
87350
+ visitNode(node.expression, visitor, isExpression),
87323
87351
  /*typeArguments*/
87324
87352
  void 0,
87325
87353
  visitNodes2(node.arguments, visitor, isExpression)
@@ -87328,7 +87356,7 @@ ${lanes.join("\n")}
87328
87356
  function visitNewExpression(node) {
87329
87357
  return factory2.updateNewExpression(
87330
87358
  node,
87331
- Debug.checkDefined(visitNode(node.expression, visitor, isExpression)),
87359
+ visitNode(node.expression, visitor, isExpression),
87332
87360
  /*typeArguments*/
87333
87361
  void 0,
87334
87362
  visitNodes2(node.arguments, visitor, isExpression)
@@ -87337,28 +87365,28 @@ ${lanes.join("\n")}
87337
87365
  function visitTaggedTemplateExpression(node) {
87338
87366
  return factory2.updateTaggedTemplateExpression(
87339
87367
  node,
87340
- Debug.checkDefined(visitNode(node.tag, visitor, isExpression)),
87368
+ visitNode(node.tag, visitor, isExpression),
87341
87369
  /*typeArguments*/
87342
87370
  void 0,
87343
- Debug.checkDefined(visitNode(node.template, visitor, isTemplateLiteral))
87371
+ visitNode(node.template, visitor, isExpression)
87344
87372
  );
87345
87373
  }
87346
87374
  function visitJsxSelfClosingElement(node) {
87347
87375
  return factory2.updateJsxSelfClosingElement(
87348
87376
  node,
87349
- Debug.checkDefined(visitNode(node.tagName, visitor, isJsxTagNameExpression)),
87377
+ visitNode(node.tagName, visitor, isJsxTagNameExpression),
87350
87378
  /*typeArguments*/
87351
87379
  void 0,
87352
- Debug.checkDefined(visitNode(node.attributes, visitor, isJsxAttributes))
87380
+ visitNode(node.attributes, visitor, isJsxAttributes)
87353
87381
  );
87354
87382
  }
87355
87383
  function visitJsxJsxOpeningElement(node) {
87356
87384
  return factory2.updateJsxOpeningElement(
87357
87385
  node,
87358
- Debug.checkDefined(visitNode(node.tagName, visitor, isJsxTagNameExpression)),
87386
+ visitNode(node.tagName, visitor, isJsxTagNameExpression),
87359
87387
  /*typeArguments*/
87360
87388
  void 0,
87361
- Debug.checkDefined(visitNode(node.attributes, visitor, isJsxAttributes))
87389
+ visitNode(node.attributes, visitor, isJsxAttributes)
87362
87390
  );
87363
87391
  }
87364
87392
  function shouldEmitEnumDeclaration(node) {
@@ -87504,7 +87532,7 @@ ${lanes.join("\n")}
87504
87532
  } else {
87505
87533
  enableSubstitutionForNonQualifiedEnumMembers();
87506
87534
  if (member.initializer) {
87507
- return Debug.checkDefined(visitNode(member.initializer, visitor, isExpression));
87535
+ return visitNode(member.initializer, visitor, isExpression);
87508
87536
  } else {
87509
87537
  return factory2.createVoidZero();
87510
87538
  }
@@ -87785,7 +87813,7 @@ ${lanes.join("\n")}
87785
87813
  return allowEmpty || some(elements) ? factory2.updateNamedExports(node, elements) : void 0;
87786
87814
  }
87787
87815
  function visitNamespaceExports(node) {
87788
- return factory2.updateNamespaceExport(node, Debug.checkDefined(visitNode(node.name, visitor, isIdentifier)));
87816
+ return factory2.updateNamespaceExport(node, visitNode(node.name, visitor, isIdentifier));
87789
87817
  }
87790
87818
  function visitNamedExportBindings(node, allowEmpty) {
87791
87819
  return isNamespaceExport(node) ? visitNamespaceExports(node) : visitNamedExports(node, allowEmpty);
@@ -88265,7 +88293,6 @@ ${lanes.join("\n")}
88265
88293
  const info = accessPrivateIdentifier(node.left);
88266
88294
  if (info) {
88267
88295
  const receiver = visitNode(node.right, visitor, isExpression);
88268
- Debug.assert(receiver);
88269
88296
  return setOriginalNode(
88270
88297
  context.getEmitHelperFactory().createClassPrivateFieldInHelper(info.brandCheckIdentifier, receiver),
88271
88298
  node
@@ -88283,7 +88310,6 @@ ${lanes.join("\n")}
88283
88310
  }
88284
88311
  function visitComputedPropertyName(node) {
88285
88312
  let expression = visitNode(node.expression, visitor, isExpression);
88286
- Debug.assert(expression);
88287
88313
  if (some(pendingExpressions)) {
88288
88314
  if (isParenthesizedExpression(expression)) {
88289
88315
  expression = factory2.updateParenthesizedExpression(expression, factory2.inlineExpressions([...pendingExpressions, expression.expression]));
@@ -88365,7 +88391,6 @@ ${lanes.join("\n")}
88365
88391
  const temp = factory2.createTempVariable(hoistVariableDeclaration);
88366
88392
  setSourceMapRange(temp, name.expression);
88367
88393
  const expression = visitNode(name.expression, visitor, isExpression);
88368
- Debug.assert(expression);
88369
88394
  const assignment = factory2.createAssignment(temp, expression);
88370
88395
  setSourceMapRange(assignment, name.expression);
88371
88396
  getterName = factory2.updateComputedPropertyName(name, factory2.inlineExpressions([assignment, temp]));
@@ -88448,7 +88473,7 @@ ${lanes.join("\n")}
88448
88473
  return transformFieldInitializer(node);
88449
88474
  }
88450
88475
  function createPrivateIdentifierAccess(info, receiver) {
88451
- return createPrivateIdentifierAccessHelper(info, Debug.checkDefined(visitNode(receiver, visitor, isExpression)));
88476
+ return createPrivateIdentifierAccessHelper(info, visitNode(receiver, visitor, isExpression));
88452
88477
  }
88453
88478
  function createPrivateIdentifierAccessHelper(info, receiver) {
88454
88479
  setCommentRange(receiver, moveRangePos(receiver, -1));
@@ -88518,7 +88543,7 @@ ${lanes.join("\n")}
88518
88543
  if (classConstructor && superClassReference) {
88519
88544
  const superProperty = factory2.createReflectGetCall(
88520
88545
  superClassReference,
88521
- Debug.checkDefined(visitNode(node.argumentExpression, visitor, isExpression)),
88546
+ visitNode(node.argumentExpression, visitor, isExpression),
88522
88547
  classConstructor
88523
88548
  );
88524
88549
  setOriginalNode(superProperty, node.expression);
@@ -88535,7 +88560,6 @@ ${lanes.join("\n")}
88535
88560
  let info;
88536
88561
  if (info = accessPrivateIdentifier(operand.name)) {
88537
88562
  const receiver = visitNode(operand.expression, visitor, isExpression);
88538
- Debug.assert(receiver);
88539
88563
  const { readExpression, initializeExpression } = createCopiableReceiverExpr(receiver);
88540
88564
  let expression = createPrivateIdentifierAccess(info, readExpression);
88541
88565
  const temp = isPrefixUnaryExpression(node) || valueIsDiscarded ? void 0 : factory2.createTempVariable(hoistVariableDeclaration);
@@ -88572,7 +88596,7 @@ ${lanes.join("\n")}
88572
88596
  getterName = setterName = operand.argumentExpression;
88573
88597
  } else {
88574
88598
  getterName = factory2.createTempVariable(hoistVariableDeclaration);
88575
- setterName = factory2.createAssignment(getterName, Debug.checkDefined(visitNode(operand.argumentExpression, visitor, isExpression)));
88599
+ setterName = factory2.createAssignment(getterName, visitNode(operand.argumentExpression, visitor, isExpression));
88576
88600
  }
88577
88601
  }
88578
88602
  if (setterName && getterName) {
@@ -88606,7 +88630,7 @@ ${lanes.join("\n")}
88606
88630
  function visitExpressionStatement(node) {
88607
88631
  return factory2.updateExpressionStatement(
88608
88632
  node,
88609
- Debug.checkDefined(visitNode(node.expression, discardedValueVisitor, isExpression))
88633
+ visitNode(node.expression, discardedValueVisitor, isExpression)
88610
88634
  );
88611
88635
  }
88612
88636
  function createCopiableReceiverExpr(receiver) {
@@ -88624,25 +88648,25 @@ ${lanes.join("\n")}
88624
88648
  if (isCallChain(node)) {
88625
88649
  return factory2.updateCallChain(
88626
88650
  node,
88627
- factory2.createPropertyAccessChain(Debug.checkDefined(visitNode(target, visitor, isExpression)), node.questionDotToken, "call"),
88651
+ factory2.createPropertyAccessChain(visitNode(target, visitor), node.questionDotToken, "call"),
88628
88652
  /*questionDotToken*/
88629
88653
  void 0,
88630
88654
  /*typeArguments*/
88631
88655
  void 0,
88632
- [Debug.checkDefined(visitNode(thisArg, visitor, isExpression)), ...visitNodes2(node.arguments, visitor, isExpression)]
88656
+ [visitNode(thisArg, visitor, isExpression), ...visitNodes2(node.arguments, visitor, isExpression)]
88633
88657
  );
88634
88658
  }
88635
88659
  return factory2.updateCallExpression(
88636
88660
  node,
88637
- factory2.createPropertyAccessExpression(Debug.checkDefined(visitNode(target, visitor, isExpression)), "call"),
88661
+ factory2.createPropertyAccessExpression(visitNode(target, visitor), "call"),
88638
88662
  /*typeArguments*/
88639
88663
  void 0,
88640
- [Debug.checkDefined(visitNode(thisArg, visitor, isExpression)), ...visitNodes2(node.arguments, visitor, isExpression)]
88664
+ [visitNode(thisArg, visitor, isExpression), ...visitNodes2(node.arguments, visitor, isExpression)]
88641
88665
  );
88642
88666
  }
88643
88667
  if (shouldTransformSuperInStaticInitializers && isSuperProperty(node.expression) && currentStaticPropertyDeclarationOrStaticBlock && (currentClassLexicalEnvironment == null ? void 0 : currentClassLexicalEnvironment.classConstructor)) {
88644
88668
  const invocation = factory2.createFunctionCallCall(
88645
- Debug.checkDefined(visitNode(node.expression, visitor, isExpression)),
88669
+ visitNode(node.expression, visitor, isExpression),
88646
88670
  currentClassLexicalEnvironment.classConstructor,
88647
88671
  visitNodes2(node.arguments, visitor, isExpression)
88648
88672
  );
@@ -88658,19 +88682,19 @@ ${lanes.join("\n")}
88658
88682
  return factory2.updateTaggedTemplateExpression(
88659
88683
  node,
88660
88684
  factory2.createCallExpression(
88661
- factory2.createPropertyAccessExpression(Debug.checkDefined(visitNode(target, visitor, isExpression)), "bind"),
88685
+ factory2.createPropertyAccessExpression(visitNode(target, visitor), "bind"),
88662
88686
  /*typeArguments*/
88663
88687
  void 0,
88664
- [Debug.checkDefined(visitNode(thisArg, visitor, isExpression))]
88688
+ [visitNode(thisArg, visitor, isExpression)]
88665
88689
  ),
88666
88690
  /*typeArguments*/
88667
88691
  void 0,
88668
- Debug.checkDefined(visitNode(node.template, visitor, isTemplateLiteral))
88692
+ visitNode(node.template, visitor, isTemplateLiteral)
88669
88693
  );
88670
88694
  }
88671
88695
  if (shouldTransformSuperInStaticInitializers && isSuperProperty(node.tag) && currentStaticPropertyDeclarationOrStaticBlock && (currentClassLexicalEnvironment == null ? void 0 : currentClassLexicalEnvironment.classConstructor)) {
88672
88696
  const invocation = factory2.createFunctionBindCall(
88673
- Debug.checkDefined(visitNode(node.tag, visitor, isExpression)),
88697
+ visitNode(node.tag, visitor, isExpression),
88674
88698
  currentClassLexicalEnvironment.classConstructor,
88675
88699
  []
88676
88700
  );
@@ -88681,7 +88705,7 @@ ${lanes.join("\n")}
88681
88705
  invocation,
88682
88706
  /*typeArguments*/
88683
88707
  void 0,
88684
- Debug.checkDefined(visitNode(node.template, visitor, isTemplateLiteral))
88708
+ visitNode(node.template, visitor, isTemplateLiteral)
88685
88709
  );
88686
88710
  }
88687
88711
  return visitEachChild(node, visitor, context);
@@ -88711,9 +88735,9 @@ ${lanes.join("\n")}
88711
88735
  pendingExpressions = void 0;
88712
88736
  node = factory2.updateBinaryExpression(
88713
88737
  node,
88714
- Debug.checkDefined(visitNode(node.left, assignmentTargetVisitor, isExpression)),
88738
+ visitNode(node.left, assignmentTargetVisitor),
88715
88739
  node.operatorToken,
88716
- Debug.checkDefined(visitNode(node.right, visitor, isExpression))
88740
+ visitNode(node.right, visitor)
88717
88741
  );
88718
88742
  const expr = some(pendingExpressions) ? factory2.inlineExpressions(compact([...pendingExpressions, node])) : node;
88719
88743
  pendingExpressions = savedPendingExpressions;
@@ -88738,7 +88762,7 @@ ${lanes.join("\n")}
88738
88762
  node,
88739
88763
  visitInvalidSuperProperty(node.left),
88740
88764
  node.operatorToken,
88741
- Debug.checkDefined(visitNode(node.right, visitor, isExpression))
88765
+ visitNode(node.right, visitor, isExpression)
88742
88766
  );
88743
88767
  }
88744
88768
  if (classConstructor && superClassReference) {
@@ -88758,7 +88782,6 @@ ${lanes.join("\n")}
88758
88782
  );
88759
88783
  setOriginalNode(superPropertyGet, node.left);
88760
88784
  setTextRange(superPropertyGet, node.left);
88761
- Debug.assert(expression);
88762
88785
  expression = factory2.createBinaryExpression(
88763
88786
  superPropertyGet,
88764
88787
  getNonAssignmentOperatorForCompoundAssignment(node.operatorToken.kind),
@@ -88768,11 +88791,9 @@ ${lanes.join("\n")}
88768
88791
  }
88769
88792
  const temp = valueIsDiscarded ? void 0 : factory2.createTempVariable(hoistVariableDeclaration);
88770
88793
  if (temp) {
88771
- Debug.assert(expression);
88772
88794
  expression = factory2.createAssignment(temp, expression);
88773
88795
  setTextRange(temp, node);
88774
88796
  }
88775
- Debug.assert(expression);
88776
88797
  expression = factory2.createReflectSetCall(
88777
88798
  superClassReference,
88778
88799
  setterName,
@@ -88796,8 +88817,8 @@ ${lanes.join("\n")}
88796
88817
  return visitEachChild(node, visitor, context);
88797
88818
  }
88798
88819
  function createPrivateIdentifierAssignment(info, receiver, right, operator) {
88799
- receiver = Debug.checkDefined(visitNode(receiver, visitor, isExpression));
88800
- right = Debug.checkDefined(visitNode(right, visitor, isExpression));
88820
+ receiver = visitNode(receiver, visitor, isExpression);
88821
+ right = visitNode(right, visitor, isExpression);
88801
88822
  if (isCompoundAssignment(operator)) {
88802
88823
  const { readExpression, initializeExpression } = createCopiableReceiverExpr(receiver);
88803
88824
  receiver = initializeExpression || readExpression;
@@ -88900,7 +88921,7 @@ ${lanes.join("\n")}
88900
88921
  node,
88901
88922
  factory2.createAssignment(
88902
88923
  temp,
88903
- Debug.checkDefined(visitNode(node.expression, visitor, isExpression))
88924
+ visitNode(node.expression, visitor, isExpression)
88904
88925
  ),
88905
88926
  /*typeArguments*/
88906
88927
  void 0
@@ -89462,7 +89483,7 @@ ${lanes.join("\n")}
89462
89483
  ) : factory2.updateElementAccessExpression(
89463
89484
  node,
89464
89485
  factory2.createVoidZero(),
89465
- Debug.checkDefined(visitNode(node.argumentExpression, visitor, isExpression))
89486
+ visitNode(node.argumentExpression, visitor, isExpression)
89466
89487
  );
89467
89488
  }
89468
89489
  function onEmitNode(hint, node, emitCallback) {
@@ -89579,7 +89600,6 @@ ${lanes.join("\n")}
89579
89600
  function getPropertyNameExpressionIfNeeded(name, shouldHoist) {
89580
89601
  if (isComputedPropertyName(name)) {
89581
89602
  const expression = visitNode(name.expression, visitor, isExpression);
89582
- Debug.assert(expression);
89583
89603
  const innerExpression = skipPartiallyEmittedExpressions(expression);
89584
89604
  const inlinable = isSimpleInlineableExpression(innerExpression);
89585
89605
  const alreadyTransformed = isAssignmentExpression(innerExpression) && isGeneratedIdentifier(innerExpression.left);
@@ -89801,7 +89821,7 @@ ${lanes.join("\n")}
89801
89821
  /*reservedInNestedScopes*/
89802
89822
  true
89803
89823
  );
89804
- getPendingExpressions().push(factory2.createBinaryExpression(receiver, 63 /* EqualsToken */, Debug.checkDefined(visitNode(node.expression, visitor, isExpression))));
89824
+ getPendingExpressions().push(factory2.createBinaryExpression(receiver, 63 /* EqualsToken */, visitNode(node.expression, visitor, isExpression)));
89805
89825
  }
89806
89826
  return factory2.createAssignmentTargetWrapper(
89807
89827
  parameter,
@@ -89814,7 +89834,6 @@ ${lanes.join("\n")}
89814
89834
  );
89815
89835
  }
89816
89836
  function visitArrayAssignmentTarget(node) {
89817
- Debug.assertNode(node, isBindingOrAssignmentElement);
89818
89837
  const target = getTargetOfBindingOrAssignmentElement(node);
89819
89838
  if (target) {
89820
89839
  let wrapped;
@@ -89849,7 +89868,7 @@ ${lanes.join("\n")}
89849
89868
  node,
89850
89869
  wrapped,
89851
89870
  node.operatorToken,
89852
- Debug.checkDefined(visitNode(node.right, visitor, isExpression))
89871
+ visitNode(node.right, visitor, isExpression)
89853
89872
  );
89854
89873
  } else if (isSpreadElement(node)) {
89855
89874
  return factory2.updateSpreadElement(node, wrapped);
@@ -89895,14 +89914,14 @@ ${lanes.join("\n")}
89895
89914
  const initializer = getInitializerOfBindingOrAssignmentElement(node);
89896
89915
  return factory2.updatePropertyAssignment(
89897
89916
  node,
89898
- Debug.checkDefined(visitNode(node.name, visitor, isPropertyName)),
89899
- wrapped ? initializer ? factory2.createAssignment(wrapped, Debug.checkDefined(visitNode(initializer, visitor, isExpression))) : wrapped : Debug.checkDefined(visitNode(node.initializer, assignmentTargetVisitor, isExpression))
89917
+ visitNode(node.name, visitor, isPropertyName),
89918
+ wrapped ? initializer ? factory2.createAssignment(wrapped, visitNode(initializer, visitor)) : wrapped : visitNode(node.initializer, assignmentTargetVisitor, isExpression)
89900
89919
  );
89901
89920
  }
89902
89921
  if (isSpreadAssignment(node)) {
89903
89922
  return factory2.updateSpreadAssignment(
89904
89923
  node,
89905
- wrapped || Debug.checkDefined(visitNode(node.expression, assignmentTargetVisitor, isExpression))
89924
+ wrapped || visitNode(node.expression, assignmentTargetVisitor, isExpression)
89906
89925
  );
89907
89926
  }
89908
89927
  Debug.assert(wrapped === void 0, "Should not have generated a wrapped target");
@@ -90535,7 +90554,7 @@ ${lanes.join("\n")}
90535
90554
  return factory2.updateConstructorDeclaration(
90536
90555
  node,
90537
90556
  visitNodes2(node.modifiers, modifierVisitor, isModifier),
90538
- visitNodes2(node.parameters, visitor, isParameter),
90557
+ visitNodes2(node.parameters, visitor, isParameterDeclaration),
90539
90558
  visitNode(node.body, visitor, isBlock)
90540
90559
  );
90541
90560
  }
@@ -90551,12 +90570,12 @@ ${lanes.join("\n")}
90551
90570
  node,
90552
90571
  visitNodes2(node.modifiers, modifierVisitor, isModifier),
90553
90572
  node.asteriskToken,
90554
- Debug.checkDefined(visitNode(node.name, visitor, isPropertyName)),
90573
+ visitNode(node.name, visitor, isPropertyName),
90555
90574
  /*questionToken*/
90556
90575
  void 0,
90557
90576
  /*typeParameters*/
90558
90577
  void 0,
90559
- visitNodes2(node.parameters, visitor, isParameter),
90578
+ visitNodes2(node.parameters, visitor, isParameterDeclaration),
90560
90579
  /*type*/
90561
90580
  void 0,
90562
90581
  visitNode(node.body, visitor, isBlock)
@@ -90566,8 +90585,8 @@ ${lanes.join("\n")}
90566
90585
  return finishClassElement(factory2.updateGetAccessorDeclaration(
90567
90586
  node,
90568
90587
  visitNodes2(node.modifiers, modifierVisitor, isModifier),
90569
- Debug.checkDefined(visitNode(node.name, visitor, isPropertyName)),
90570
- visitNodes2(node.parameters, visitor, isParameter),
90588
+ visitNode(node.name, visitor, isPropertyName),
90589
+ visitNodes2(node.parameters, visitor, isParameterDeclaration),
90571
90590
  /*type*/
90572
90591
  void 0,
90573
90592
  visitNode(node.body, visitor, isBlock)
@@ -90577,8 +90596,8 @@ ${lanes.join("\n")}
90577
90596
  return finishClassElement(factory2.updateSetAccessorDeclaration(
90578
90597
  node,
90579
90598
  visitNodes2(node.modifiers, modifierVisitor, isModifier),
90580
- Debug.checkDefined(visitNode(node.name, visitor, isPropertyName)),
90581
- visitNodes2(node.parameters, visitor, isParameter),
90599
+ visitNode(node.name, visitor, isPropertyName),
90600
+ visitNodes2(node.parameters, visitor, isParameterDeclaration),
90582
90601
  visitNode(node.body, visitor, isBlock)
90583
90602
  ), node);
90584
90603
  }
@@ -90589,7 +90608,7 @@ ${lanes.join("\n")}
90589
90608
  return finishClassElement(factory2.updatePropertyDeclaration(
90590
90609
  node,
90591
90610
  visitNodes2(node.modifiers, modifierVisitor, isModifier),
90592
- Debug.checkDefined(visitNode(node.name, visitor, isPropertyName)),
90611
+ visitNode(node.name, visitor, isPropertyName),
90593
90612
  /*questionOrExclamationToken*/
90594
90613
  void 0,
90595
90614
  /*type*/
@@ -90602,7 +90621,7 @@ ${lanes.join("\n")}
90602
90621
  node,
90603
90622
  elideNodes(factory2, node.modifiers),
90604
90623
  node.dotDotDotToken,
90605
- Debug.checkDefined(visitNode(node.name, visitor, isBindingName)),
90624
+ visitNode(node.name, visitor, isBindingName),
90606
90625
  /*questionToken*/
90607
90626
  void 0,
90608
90627
  /*type*/
@@ -90699,7 +90718,7 @@ ${lanes.join("\n")}
90699
90718
  return expression;
90700
90719
  }
90701
90720
  function transformDecorator(decorator) {
90702
- return Debug.checkDefined(visitNode(decorator.expression, visitor, isExpression));
90721
+ return visitNode(decorator.expression, visitor, isExpression);
90703
90722
  }
90704
90723
  function transformDecoratorsOfParameter(decorators, parameterOffset) {
90705
90724
  let expressions;
@@ -90971,21 +90990,21 @@ ${lanes.join("\n")}
90971
90990
  node.initializer,
90972
90991
  /*hasReceiver*/
90973
90992
  true
90974
- ) : Debug.checkDefined(visitNode(node.initializer, visitor, isForInitializer)),
90975
- Debug.checkDefined(visitNode(node.expression, visitor, isExpression)),
90993
+ ) : visitNode(node.initializer, visitor, isForInitializer),
90994
+ visitNode(node.expression, visitor, isExpression),
90976
90995
  visitIterationBody(node.statement, asyncBodyVisitor, context)
90977
90996
  );
90978
90997
  }
90979
90998
  function visitForOfStatementInAsyncBody(node) {
90980
90999
  return factory2.updateForOfStatement(
90981
91000
  node,
90982
- visitNode(node.awaitModifier, visitor, isAwaitKeyword),
91001
+ visitNode(node.awaitModifier, visitor, isToken),
90983
91002
  isVariableDeclarationListWithCollidingName(node.initializer) ? visitVariableDeclarationListWithCollidingNames(
90984
91003
  node.initializer,
90985
91004
  /*hasReceiver*/
90986
91005
  true
90987
- ) : Debug.checkDefined(visitNode(node.initializer, visitor, isForInitializer)),
90988
- Debug.checkDefined(visitNode(node.expression, visitor, isExpression)),
91006
+ ) : visitNode(node.initializer, visitor, isForInitializer),
91007
+ visitNode(node.expression, visitor, isExpression),
90989
91008
  visitIterationBody(node.statement, asyncBodyVisitor, context)
90990
91009
  );
90991
91010
  }
@@ -91022,7 +91041,7 @@ ${lanes.join("\n")}
91022
91041
  function visitConstructorDeclaration(node) {
91023
91042
  return factory2.updateConstructorDeclaration(
91024
91043
  node,
91025
- visitNodes2(node.modifiers, visitor, isModifier),
91044
+ visitNodes2(node.modifiers, visitor, isModifierLike),
91026
91045
  visitParameterList(node.parameters, visitor, context),
91027
91046
  transformMethodBody(node)
91028
91047
  );
@@ -91080,7 +91099,7 @@ ${lanes.join("\n")}
91080
91099
  function visitFunctionExpression(node) {
91081
91100
  return factory2.updateFunctionExpression(
91082
91101
  node,
91083
- visitNodes2(node.modifiers, visitor, isModifier),
91102
+ visitNodes2(node.modifiers, visitor, isModifierLike),
91084
91103
  node.asteriskToken,
91085
91104
  node.name,
91086
91105
  /*typeParameters*/
@@ -91094,7 +91113,7 @@ ${lanes.join("\n")}
91094
91113
  function visitArrowFunction(node) {
91095
91114
  return factory2.updateArrowFunction(
91096
91115
  node,
91097
- visitNodes2(node.modifiers, visitor, isModifier),
91116
+ visitNodes2(node.modifiers, visitor, isModifierLike),
91098
91117
  /*typeParameters*/
91099
91118
  void 0,
91100
91119
  visitParameterList(node.parameters, visitor, context),
@@ -91151,7 +91170,7 @@ ${lanes.join("\n")}
91151
91170
  ),
91152
91171
  node
91153
91172
  );
91154
- return Debug.checkDefined(visitNode(converted, visitor, isExpression));
91173
+ return visitNode(converted, visitor, isExpression);
91155
91174
  }
91156
91175
  function collidesWithParameterName({ name }) {
91157
91176
  if (isIdentifier(name)) {
@@ -91283,7 +91302,7 @@ ${lanes.join("\n")}
91283
91302
  if (isBlock(body)) {
91284
91303
  return factory2.updateBlock(body, visitNodes2(body.statements, asyncBodyVisitor, isStatement, start));
91285
91304
  } else {
91286
- return factory2.converters.convertToFunctionBlock(Debug.checkDefined(visitNode(body, asyncBodyVisitor, isConciseBody)));
91305
+ return factory2.converters.convertToFunctionBlock(visitNode(body, asyncBodyVisitor, isConciseBody));
91287
91306
  }
91288
91307
  }
91289
91308
  function getPromiseConstructor(type) {
@@ -91644,7 +91663,7 @@ ${lanes.join("\n")}
91644
91663
  return visitObjectLiteralExpression(node);
91645
91664
  case 223 /* BinaryExpression */:
91646
91665
  return visitBinaryExpression(node, expressionResultIsUnused2);
91647
- case 356 /* CommaListExpression */:
91666
+ case 357 /* CommaListExpression */:
91648
91667
  return visitCommaListExpression(node, expressionResultIsUnused2);
91649
91668
  case 295 /* CatchClause */:
91650
91669
  return visitCatchClause(node);
@@ -92402,7 +92421,7 @@ ${lanes.join("\n")}
92402
92421
  /*questionToken*/
92403
92422
  void 0,
92404
92423
  visitor,
92405
- isQuestionToken
92424
+ isToken
92406
92425
  ),
92407
92426
  /*typeParameters*/
92408
92427
  void 0,
@@ -93094,15 +93113,10 @@ ${lanes.join("\n")}
93094
93113
  if ((node.transformFlags & 16 /* ContainsES2021 */) === 0) {
93095
93114
  return node;
93096
93115
  }
93097
- switch (node.kind) {
93098
- case 223 /* BinaryExpression */:
93099
- const binaryExpression = node;
93100
- if (isLogicalOrCoalescingAssignmentExpression(binaryExpression)) {
93101
- return transformLogicalAssignment(binaryExpression);
93102
- }
93103
- default:
93104
- return visitEachChild(node, visitor, context);
93116
+ if (isLogicalOrCoalescingAssignmentExpression(node)) {
93117
+ return transformLogicalAssignment(node);
93105
93118
  }
93119
+ return visitEachChild(node, visitor, context);
93106
93120
  }
93107
93121
  function transformLogicalAssignment(binaryExpression) {
93108
93122
  const operator = binaryExpression.operatorToken;
@@ -93560,7 +93574,7 @@ ${lanes.join("\n")}
93560
93574
  return element;
93561
93575
  }
93562
93576
  function transformJsxSpreadAttributeToSpreadAssignment(node) {
93563
- return factory2.createSpreadAssignment(Debug.checkDefined(visitNode(node.expression, visitor, isExpression)));
93577
+ return factory2.createSpreadAssignment(visitNode(node.expression, visitor, isExpression));
93564
93578
  }
93565
93579
  function transformJsxAttributesToObjectProps(attrs, children) {
93566
93580
  const target = getEmitScriptTarget(compilerOptions);
@@ -93590,7 +93604,7 @@ ${lanes.join("\n")}
93590
93604
  return singleOrUndefined(expressions) || emitHelpers().createAssignHelper(expressions);
93591
93605
  }
93592
93606
  function transformJsxSpreadAttributeToExpression(node) {
93593
- return Debug.checkDefined(visitNode(node.expression, visitor, isExpression));
93607
+ return visitNode(node.expression, visitor, isExpression);
93594
93608
  }
93595
93609
  function transformJsxAttributeToObjectLiteralElement(node) {
93596
93610
  const name = getAttributeName(node);
@@ -93610,7 +93624,7 @@ ${lanes.join("\n")}
93610
93624
  if (node.expression === void 0) {
93611
93625
  return factory2.createTrue();
93612
93626
  }
93613
- return Debug.checkDefined(visitNode(node.expression, visitor, isExpression));
93627
+ return visitNode(node.expression, visitor, isExpression);
93614
93628
  }
93615
93629
  if (isJsxElement(node)) {
93616
93630
  return visitJsxElement(
@@ -94265,7 +94279,7 @@ ${lanes.join("\n")}
94265
94279
  return visitParenthesizedExpression(node, expressionResultIsUnused2);
94266
94280
  case 223 /* BinaryExpression */:
94267
94281
  return visitBinaryExpression(node, expressionResultIsUnused2);
94268
- case 356 /* CommaListExpression */:
94282
+ case 357 /* CommaListExpression */:
94269
94283
  return visitCommaListExpression(node, expressionResultIsUnused2);
94270
94284
  case 14 /* NoSubstitutionTemplateLiteral */:
94271
94285
  case 15 /* TemplateHead */:
@@ -94368,7 +94382,7 @@ ${lanes.join("\n")}
94368
94382
  [
94369
94383
  factory2.createPropertyAssignment(
94370
94384
  factory2.createIdentifier("value"),
94371
- node.expression ? Debug.checkDefined(visitNode(node.expression, visitor, isExpression)) : factory2.createVoidZero()
94385
+ node.expression ? visitNode(node.expression, visitor, isExpression) : factory2.createVoidZero()
94372
94386
  )
94373
94387
  ]
94374
94388
  )
@@ -94539,7 +94553,7 @@ ${lanes.join("\n")}
94539
94553
  outer,
94540
94554
  /*typeArguments*/
94541
94555
  void 0,
94542
- extendsClauseElement ? [Debug.checkDefined(visitNode(extendsClauseElement.expression, visitor, isExpression))] : []
94556
+ extendsClauseElement ? [visitNode(extendsClauseElement.expression, visitor, isExpression)] : []
94543
94557
  )
94544
94558
  );
94545
94559
  addSyntheticLeadingComment(result, 3 /* MultiLineCommentTrivia */, "* @class ");
@@ -94881,7 +94895,7 @@ ${lanes.join("\n")}
94881
94895
  factory2.createExpressionStatement(
94882
94896
  factory2.createAssignment(
94883
94897
  factory2.getGeneratedNameForNode(parameter),
94884
- Debug.checkDefined(visitNode(initializer, visitor, isExpression))
94898
+ visitNode(initializer, visitor, isExpression)
94885
94899
  )
94886
94900
  ),
94887
94901
  2097152 /* CustomPrologue */
@@ -94892,7 +94906,7 @@ ${lanes.join("\n")}
94892
94906
  return false;
94893
94907
  }
94894
94908
  function insertDefaultValueAssignmentForInitializer(statements, parameter, name, initializer) {
94895
- initializer = Debug.checkDefined(visitNode(initializer, visitor, isExpression));
94909
+ initializer = visitNode(initializer, visitor, isExpression);
94896
94910
  const statement = factory2.createIfStatement(
94897
94911
  factory2.createTypeCheck(factory2.cloneNode(name), "undefined"),
94898
94912
  setEmitFlags(
@@ -95168,7 +95182,6 @@ ${lanes.join("\n")}
95168
95182
  container
95169
95183
  );
95170
95184
  const propertyName = visitNode(member.name, visitor, isPropertyName);
95171
- Debug.assert(propertyName);
95172
95185
  let e;
95173
95186
  if (!isPrivateIdentifier(propertyName) && getUseDefineForClassFields(context.getCompilerOptions())) {
95174
95187
  const name = isComputedPropertyName(propertyName) ? propertyName.expression : isIdentifier(propertyName) ? factory2.createStringLiteral(unescapeLeadingUnderscores(propertyName.escapedText)) : propertyName;
@@ -95212,7 +95225,6 @@ ${lanes.join("\n")}
95212
95225
  setEmitFlags(target, 3072 /* NoComments */ | 64 /* NoTrailingSourceMap */);
95213
95226
  setSourceMapRange(target, firstAccessor.name);
95214
95227
  const visitedAccessorName = visitNode(firstAccessor.name, visitor, isPropertyName);
95215
- Debug.assert(visitedAccessorName);
95216
95228
  if (isPrivateIdentifier(visitedAccessorName)) {
95217
95229
  return Debug.failBadSyntaxKind(visitedAccessorName, "Encountered unhandled private identifier while transforming ES2015.");
95218
95230
  }
@@ -95485,9 +95497,9 @@ ${lanes.join("\n")}
95485
95497
  if (node.operatorToken.kind === 27 /* CommaToken */) {
95486
95498
  return factory2.updateBinaryExpression(
95487
95499
  node,
95488
- Debug.checkDefined(visitNode(node.left, visitorWithUnusedExpressionResult, isExpression)),
95500
+ visitNode(node.left, visitorWithUnusedExpressionResult, isExpression),
95489
95501
  node.operatorToken,
95490
- Debug.checkDefined(visitNode(node.right, expressionResultIsUnused2 ? visitorWithUnusedExpressionResult : visitor, isExpression))
95502
+ visitNode(node.right, expressionResultIsUnused2 ? visitorWithUnusedExpressionResult : visitor, isExpression)
95491
95503
  );
95492
95504
  }
95493
95505
  return visitEachChild(node, visitor, context);
@@ -95502,7 +95514,6 @@ ${lanes.join("\n")}
95502
95514
  const visited = visitNode(element, i < node.elements.length - 1 ? visitorWithUnusedExpressionResult : visitor, isExpression);
95503
95515
  if (result || visited !== element) {
95504
95516
  result || (result = node.elements.slice(0, i));
95505
- Debug.assert(visited);
95506
95517
  result.push(visited);
95507
95518
  }
95508
95519
  }
@@ -95529,7 +95540,7 @@ ${lanes.join("\n")}
95529
95540
  0 /* All */
95530
95541
  );
95531
95542
  } else {
95532
- assignment = factory2.createBinaryExpression(decl.name, 63 /* EqualsToken */, Debug.checkDefined(visitNode(decl.initializer, visitor, isExpression)));
95543
+ assignment = factory2.createBinaryExpression(decl.name, 63 /* EqualsToken */, visitNode(decl.initializer, visitor, isExpression));
95533
95544
  setTextRange(assignment, decl);
95534
95545
  }
95535
95546
  assignments = append(assignments, assignment);
@@ -95551,7 +95562,7 @@ ${lanes.join("\n")}
95551
95562
  if (node.flags & 3 /* BlockScoped */) {
95552
95563
  enableSubstitutionsForBlockScopedBindings();
95553
95564
  }
95554
- const declarations = visitNodes2(node.declarations, node.flags & 1 /* Let */ ? visitVariableDeclarationInLetDeclarationList : visitVariableDeclaration, isVariableDeclaration);
95565
+ const declarations = flatMap(node.declarations, node.flags & 1 /* Let */ ? visitVariableDeclarationInLetDeclarationList : visitVariableDeclaration);
95555
95566
  const declarationList = factory2.createVariableDeclarationList(declarations);
95556
95567
  setOriginalNode(declarationList, node);
95557
95568
  setTextRange(declarationList, node);
@@ -95635,7 +95646,7 @@ ${lanes.join("\n")}
95635
95646
  statement,
95636
95647
  /*outermostLabeledStatement*/
95637
95648
  node
95638
- ) : factory2.restoreEnclosingLabel(Debug.checkDefined(visitNode(statement, visitor, isStatement, factory2.liftToBlock)), node, convertedLoopState && resetLabel);
95649
+ ) : factory2.restoreEnclosingLabel(visitNode(statement, visitor, isStatement, factory2.liftToBlock), node, convertedLoopState && resetLabel);
95639
95650
  }
95640
95651
  function visitIterationStatement(node, outermostLabeledStatement) {
95641
95652
  switch (node.kind) {
@@ -95678,7 +95689,7 @@ ${lanes.join("\n")}
95678
95689
  visitNode(node.initializer, visitorWithUnusedExpressionResult, isForInitializer),
95679
95690
  visitNode(node.condition, visitor, isExpression),
95680
95691
  visitNode(node.incrementor, visitorWithUnusedExpressionResult, isExpression),
95681
- Debug.checkDefined(visitNode(node.statement, visitor, isStatement, factory2.liftToBlock))
95692
+ visitNode(node.statement, visitor, isStatement, factory2.liftToBlock)
95682
95693
  );
95683
95694
  }
95684
95695
  function visitForInStatement(node, outermostLabeledStatement) {
@@ -95764,14 +95775,13 @@ ${lanes.join("\n")}
95764
95775
  )));
95765
95776
  } else {
95766
95777
  setTextRangeEnd(assignment, initializer.end);
95767
- statements.push(setTextRange(factory2.createExpressionStatement(Debug.checkDefined(visitNode(assignment, visitor, isExpression))), moveRangeEnd(initializer, -1)));
95778
+ statements.push(setTextRange(factory2.createExpressionStatement(visitNode(assignment, visitor, isExpression)), moveRangeEnd(initializer, -1)));
95768
95779
  }
95769
95780
  }
95770
95781
  if (convertedLoopBodyStatements) {
95771
95782
  return createSyntheticBlockForConvertedStatements(addRange(statements, convertedLoopBodyStatements));
95772
95783
  } else {
95773
95784
  const statement = visitNode(node.statement, visitor, isStatement, factory2.liftToBlock);
95774
- Debug.assert(statement);
95775
95785
  if (isBlock(statement)) {
95776
95786
  return factory2.updateBlock(statement, setTextRange(factory2.createNodeArray(concatenate(statements, statement.statements)), statement.statements));
95777
95787
  } else {
@@ -95792,7 +95802,6 @@ ${lanes.join("\n")}
95792
95802
  }
95793
95803
  function convertForOfStatementForArray(node, outermostLabeledStatement, convertedLoopBodyStatements) {
95794
95804
  const expression = visitNode(node.expression, visitor, isExpression);
95795
- Debug.assert(expression);
95796
95805
  const counter = factory2.createLoopVariable();
95797
95806
  const rhsReference = isIdentifier(expression) ? factory2.getGeneratedNameForNode(expression) : factory2.createTempVariable(
95798
95807
  /*recordTempVariable*/
@@ -95852,7 +95861,6 @@ ${lanes.join("\n")}
95852
95861
  }
95853
95862
  function convertForOfStatementForIterable(node, outermostLabeledStatement, convertedLoopBodyStatements, ancestorFacts) {
95854
95863
  const expression = visitNode(node.expression, visitor, isExpression);
95855
- Debug.assert(expression);
95856
95864
  const iterator = isIdentifier(expression) ? factory2.getGeneratedNameForNode(expression) : factory2.createTempVariable(
95857
95865
  /*recordTempVariable*/
95858
95866
  void 0
@@ -96110,7 +96118,7 @@ ${lanes.join("\n")}
96110
96118
  loop = factory2.restoreEnclosingLabel(clone2, outermostLabeledStatement, convertedLoopState && resetLabel);
96111
96119
  }
96112
96120
  } else {
96113
- const clone2 = convertIterationStatementCore(node, initializerFunction, Debug.checkDefined(visitNode(node.statement, visitor, isStatement, factory2.liftToBlock)));
96121
+ const clone2 = convertIterationStatementCore(node, initializerFunction, visitNode(node.statement, visitor, isStatement, factory2.liftToBlock));
96114
96122
  loop = factory2.restoreEnclosingLabel(clone2, outermostLabeledStatement, convertedLoopState && resetLabel);
96115
96123
  }
96116
96124
  statements.push(loop);
@@ -96148,16 +96156,16 @@ ${lanes.join("\n")}
96148
96156
  node,
96149
96157
  /*awaitModifier*/
96150
96158
  void 0,
96151
- Debug.checkDefined(visitNode(node.initializer, visitor, isForInitializer)),
96152
- Debug.checkDefined(visitNode(node.expression, visitor, isExpression)),
96159
+ visitNode(node.initializer, visitor, isForInitializer),
96160
+ visitNode(node.expression, visitor, isExpression),
96153
96161
  convertedLoopBody
96154
96162
  );
96155
96163
  }
96156
96164
  function convertForInStatement(node, convertedLoopBody) {
96157
96165
  return factory2.updateForInStatement(
96158
96166
  node,
96159
- Debug.checkDefined(visitNode(node.initializer, visitor, isForInitializer)),
96160
- Debug.checkDefined(visitNode(node.expression, visitor, isExpression)),
96167
+ visitNode(node.initializer, visitor, isForInitializer),
96168
+ visitNode(node.expression, visitor, isExpression),
96161
96169
  convertedLoopBody
96162
96170
  );
96163
96171
  }
@@ -96165,13 +96173,13 @@ ${lanes.join("\n")}
96165
96173
  return factory2.updateDoStatement(
96166
96174
  node,
96167
96175
  convertedLoopBody,
96168
- Debug.checkDefined(visitNode(node.expression, visitor, isExpression))
96176
+ visitNode(node.expression, visitor, isExpression)
96169
96177
  );
96170
96178
  }
96171
96179
  function convertWhileStatement(node, convertedLoopBody) {
96172
96180
  return factory2.updateWhileStatement(
96173
96181
  node,
96174
- Debug.checkDefined(visitNode(node.expression, visitor, isExpression)),
96182
+ visitNode(node.expression, visitor, isExpression),
96175
96183
  convertedLoopBody
96176
96184
  );
96177
96185
  }
@@ -96333,7 +96341,7 @@ ${lanes.join("\n")}
96333
96341
  void 0,
96334
96342
  /*type*/
96335
96343
  void 0,
96336
- Debug.checkDefined(visitNode(
96344
+ visitNode(
96337
96345
  factory2.createBlock(
96338
96346
  statements,
96339
96347
  /*multiLine*/
@@ -96341,7 +96349,7 @@ ${lanes.join("\n")}
96341
96349
  ),
96342
96350
  visitor,
96343
96351
  isBlock
96344
- ))
96352
+ )
96345
96353
  ),
96346
96354
  emitFlags
96347
96355
  )
@@ -96364,7 +96372,7 @@ ${lanes.join("\n")}
96364
96372
  if (node.incrementor) {
96365
96373
  statements.push(factory2.createIfStatement(
96366
96374
  currentState.conditionVariable,
96367
- factory2.createExpressionStatement(Debug.checkDefined(visitNode(node.incrementor, visitor, isExpression))),
96375
+ factory2.createExpressionStatement(visitNode(node.incrementor, visitor, isExpression)),
96368
96376
  factory2.createExpressionStatement(factory2.createAssignment(currentState.conditionVariable, factory2.createTrue()))
96369
96377
  ));
96370
96378
  } else {
@@ -96375,12 +96383,11 @@ ${lanes.join("\n")}
96375
96383
  }
96376
96384
  if (shouldConvertConditionOfForStatement(node)) {
96377
96385
  statements.push(factory2.createIfStatement(
96378
- factory2.createPrefixUnaryExpression(53 /* ExclamationToken */, Debug.checkDefined(visitNode(node.condition, visitor, isExpression))),
96379
- Debug.checkDefined(visitNode(factory2.createBreakStatement(), visitor, isStatement))
96386
+ factory2.createPrefixUnaryExpression(53 /* ExclamationToken */, visitNode(node.condition, visitor, isExpression)),
96387
+ visitNode(factory2.createBreakStatement(), visitor, isStatement)
96380
96388
  ));
96381
96389
  }
96382
96390
  }
96383
- Debug.assert(statement);
96384
96391
  if (isBlock(statement)) {
96385
96392
  addRange(statements, statement.statements);
96386
96393
  } else {
@@ -96648,9 +96655,9 @@ ${lanes.join("\n")}
96648
96655
  createMemberAccessForPropertyName(
96649
96656
  factory2,
96650
96657
  receiver,
96651
- Debug.checkDefined(visitNode(property.name, visitor, isPropertyName))
96658
+ visitNode(property.name, visitor, isPropertyName)
96652
96659
  ),
96653
- Debug.checkDefined(visitNode(property.initializer, visitor, isExpression))
96660
+ visitNode(property.initializer, visitor, isExpression)
96654
96661
  );
96655
96662
  setTextRange(expression, property);
96656
96663
  if (startsOnNewLine) {
@@ -96663,7 +96670,7 @@ ${lanes.join("\n")}
96663
96670
  createMemberAccessForPropertyName(
96664
96671
  factory2,
96665
96672
  receiver,
96666
- Debug.checkDefined(visitNode(property.name, visitor, isPropertyName))
96673
+ visitNode(property.name, visitor, isPropertyName)
96667
96674
  ),
96668
96675
  factory2.cloneNode(property.name)
96669
96676
  );
@@ -96678,7 +96685,7 @@ ${lanes.join("\n")}
96678
96685
  createMemberAccessForPropertyName(
96679
96686
  factory2,
96680
96687
  receiver,
96681
- Debug.checkDefined(visitNode(method.name, visitor, isPropertyName))
96688
+ visitNode(method.name, visitor, isPropertyName)
96682
96689
  ),
96683
96690
  transformFunctionLikeToExpression(
96684
96691
  method,
@@ -96812,7 +96819,7 @@ ${lanes.join("\n")}
96812
96819
  }
96813
96820
  return factory2.updateCallExpression(
96814
96821
  node,
96815
- Debug.checkDefined(visitNode(node.expression, callExpressionVisitor, isExpression)),
96822
+ visitNode(node.expression, callExpressionVisitor, isExpression),
96816
96823
  /*typeArguments*/
96817
96824
  void 0,
96818
96825
  visitNodes2(node.arguments, visitor, isExpression)
@@ -96924,8 +96931,8 @@ ${lanes.join("\n")}
96924
96931
  let resultingCall;
96925
96932
  if (node.transformFlags & 32768 /* ContainsRestOrSpread */) {
96926
96933
  resultingCall = factory2.createFunctionApplyCall(
96927
- Debug.checkDefined(visitNode(target, callExpressionVisitor, isExpression)),
96928
- node.expression.kind === 106 /* SuperKeyword */ ? thisArg : Debug.checkDefined(visitNode(thisArg, visitor, isExpression)),
96934
+ visitNode(target, callExpressionVisitor, isExpression),
96935
+ node.expression.kind === 106 /* SuperKeyword */ ? thisArg : visitNode(thisArg, visitor, isExpression),
96929
96936
  transformAndSpreadElements(
96930
96937
  node.arguments,
96931
96938
  /*isArgumentList*/
@@ -96939,8 +96946,8 @@ ${lanes.join("\n")}
96939
96946
  } else {
96940
96947
  resultingCall = setTextRange(
96941
96948
  factory2.createFunctionCallCall(
96942
- Debug.checkDefined(visitNode(target, callExpressionVisitor, isExpression)),
96943
- node.expression.kind === 106 /* SuperKeyword */ ? thisArg : Debug.checkDefined(visitNode(thisArg, visitor, isExpression)),
96949
+ visitNode(target, callExpressionVisitor, isExpression),
96950
+ node.expression.kind === 106 /* SuperKeyword */ ? thisArg : visitNode(thisArg, visitor, isExpression),
96944
96951
  visitNodes2(node.arguments, visitor, isExpression)
96945
96952
  ),
96946
96953
  node
@@ -96962,7 +96969,7 @@ ${lanes.join("\n")}
96962
96969
  const { target, thisArg } = factory2.createCallBinding(factory2.createPropertyAccessExpression(node.expression, "bind"), hoistVariableDeclaration);
96963
96970
  return factory2.createNewExpression(
96964
96971
  factory2.createFunctionApplyCall(
96965
- Debug.checkDefined(visitNode(target, visitor, isExpression)),
96972
+ visitNode(target, visitor, isExpression),
96966
96973
  thisArg,
96967
96974
  transformAndSpreadElements(
96968
96975
  factory2.createNodeArray([factory2.createVoidZero(), ...node.arguments]),
@@ -97019,9 +97026,7 @@ ${lanes.join("\n")}
97019
97026
  return map(chunk, visitExpressionOfSpread);
97020
97027
  }
97021
97028
  function visitExpressionOfSpread(node) {
97022
- Debug.assertNode(node, isSpreadElement);
97023
97029
  let expression = visitNode(node.expression, visitor, isExpression);
97024
- Debug.assert(expression);
97025
97030
  const isCallToReadHelper = isCallToHelper(expression, "___read");
97026
97031
  let kind = isCallToReadHelper || isPackedArrayLiteral(expression) ? 2 /* PackedSpread */ : 1 /* UnpackedSpread */;
97027
97032
  if (compilerOptions.downlevelIteration && kind === 1 /* UnpackedSpread */ && !isArrayLiteralExpression(expression) && !isCallToReadHelper) {
@@ -97072,7 +97077,7 @@ ${lanes.join("\n")}
97072
97077
  function visitTemplateExpression(node) {
97073
97078
  let expression = factory2.createStringLiteral(node.head.text);
97074
97079
  for (const span of node.templateSpans) {
97075
- const args = [Debug.checkDefined(visitNode(span.expression, visitor, isExpression))];
97080
+ const args = [visitNode(span.expression, visitor, isExpression)];
97076
97081
  if (span.literal.text.length > 0) {
97077
97082
  args.push(factory2.createStringLiteral(span.literal.text));
97078
97083
  }
@@ -97438,7 +97443,7 @@ ${lanes.join("\n")}
97438
97443
  switch (node.kind) {
97439
97444
  case 223 /* BinaryExpression */:
97440
97445
  return visitBinaryExpression(node);
97441
- case 356 /* CommaListExpression */:
97446
+ case 357 /* CommaListExpression */:
97442
97447
  return visitCommaListExpression(node);
97443
97448
  case 224 /* ConditionalExpression */:
97444
97449
  return visitConditionalExpression(node);
@@ -97650,19 +97655,19 @@ ${lanes.join("\n")}
97650
97655
  case 208 /* PropertyAccessExpression */:
97651
97656
  target = factory2.updatePropertyAccessExpression(
97652
97657
  left,
97653
- cacheExpression(Debug.checkDefined(visitNode(left.expression, visitor, isLeftHandSideExpression))),
97658
+ cacheExpression(visitNode(left.expression, visitor, isLeftHandSideExpression)),
97654
97659
  left.name
97655
97660
  );
97656
97661
  break;
97657
97662
  case 209 /* ElementAccessExpression */:
97658
97663
  target = factory2.updateElementAccessExpression(
97659
97664
  left,
97660
- cacheExpression(Debug.checkDefined(visitNode(left.expression, visitor, isLeftHandSideExpression))),
97661
- cacheExpression(Debug.checkDefined(visitNode(left.argumentExpression, visitor, isExpression)))
97665
+ cacheExpression(visitNode(left.expression, visitor, isLeftHandSideExpression)),
97666
+ cacheExpression(visitNode(left.argumentExpression, visitor, isExpression))
97662
97667
  );
97663
97668
  break;
97664
97669
  default:
97665
- target = Debug.checkDefined(visitNode(left, visitor, isExpression));
97670
+ target = visitNode(left, visitor, isExpression);
97666
97671
  break;
97667
97672
  }
97668
97673
  const operator = node.operatorToken.kind;
@@ -97674,7 +97679,7 @@ ${lanes.join("\n")}
97674
97679
  factory2.createBinaryExpression(
97675
97680
  cacheExpression(target),
97676
97681
  getNonAssignmentOperatorForCompoundAssignment(operator),
97677
- Debug.checkDefined(visitNode(right, visitor, isExpression))
97682
+ visitNode(right, visitor, isExpression)
97678
97683
  ),
97679
97684
  node
97680
97685
  )
@@ -97682,7 +97687,7 @@ ${lanes.join("\n")}
97682
97687
  node
97683
97688
  );
97684
97689
  } else {
97685
- return factory2.updateBinaryExpression(node, target, node.operatorToken, Debug.checkDefined(visitNode(right, visitor, isExpression)));
97690
+ return factory2.updateBinaryExpression(node, target, node.operatorToken, visitNode(right, visitor, isExpression));
97686
97691
  }
97687
97692
  }
97688
97693
  return visitEachChild(node, visitor, context);
@@ -97696,9 +97701,9 @@ ${lanes.join("\n")}
97696
97701
  }
97697
97702
  return factory2.updateBinaryExpression(
97698
97703
  node,
97699
- cacheExpression(Debug.checkDefined(visitNode(node.left, visitor, isExpression))),
97704
+ cacheExpression(visitNode(node.left, visitor, isExpression)),
97700
97705
  node.operatorToken,
97701
- Debug.checkDefined(visitNode(node.right, visitor, isExpression))
97706
+ visitNode(node.right, visitor, isExpression)
97702
97707
  );
97703
97708
  }
97704
97709
  return visitEachChild(node, visitor, context);
@@ -97717,7 +97722,7 @@ ${lanes.join("\n")}
97717
97722
  emitWorker(1 /* Statement */, [factory2.createExpressionStatement(factory2.inlineExpressions(pendingExpressions))]);
97718
97723
  pendingExpressions = [];
97719
97724
  }
97720
- pendingExpressions.push(Debug.checkDefined(visitNode(node2, visitor, isExpression)));
97725
+ pendingExpressions.push(visitNode(node2, visitor, isExpression));
97721
97726
  }
97722
97727
  }
97723
97728
  }
@@ -97731,7 +97736,7 @@ ${lanes.join("\n")}
97731
97736
  emitWorker(1 /* Statement */, [factory2.createExpressionStatement(factory2.inlineExpressions(pendingExpressions))]);
97732
97737
  pendingExpressions = [];
97733
97738
  }
97734
- pendingExpressions.push(Debug.checkDefined(visitNode(elem, visitor, isExpression)));
97739
+ pendingExpressions.push(visitNode(elem, visitor, isExpression));
97735
97740
  }
97736
97741
  }
97737
97742
  return factory2.inlineExpressions(pendingExpressions);
@@ -97741,7 +97746,7 @@ ${lanes.join("\n")}
97741
97746
  const resultLocal = declareLocal();
97742
97747
  emitAssignment(
97743
97748
  resultLocal,
97744
- Debug.checkDefined(visitNode(node.left, visitor, isExpression)),
97749
+ visitNode(node.left, visitor, isExpression),
97745
97750
  /*location*/
97746
97751
  node.left
97747
97752
  );
@@ -97762,7 +97767,7 @@ ${lanes.join("\n")}
97762
97767
  }
97763
97768
  emitAssignment(
97764
97769
  resultLocal,
97765
- Debug.checkDefined(visitNode(node.right, visitor, isExpression)),
97770
+ visitNode(node.right, visitor, isExpression),
97766
97771
  /*location*/
97767
97772
  node.right
97768
97773
  );
@@ -97776,13 +97781,13 @@ ${lanes.join("\n")}
97776
97781
  const resultLocal = declareLocal();
97777
97782
  emitBreakWhenFalse(
97778
97783
  whenFalseLabel,
97779
- Debug.checkDefined(visitNode(node.condition, visitor, isExpression)),
97784
+ visitNode(node.condition, visitor, isExpression),
97780
97785
  /*location*/
97781
97786
  node.condition
97782
97787
  );
97783
97788
  emitAssignment(
97784
97789
  resultLocal,
97785
- Debug.checkDefined(visitNode(node.whenTrue, visitor, isExpression)),
97790
+ visitNode(node.whenTrue, visitor, isExpression),
97786
97791
  /*location*/
97787
97792
  node.whenTrue
97788
97793
  );
@@ -97790,7 +97795,7 @@ ${lanes.join("\n")}
97790
97795
  markLabel(whenFalseLabel);
97791
97796
  emitAssignment(
97792
97797
  resultLocal,
97793
- Debug.checkDefined(visitNode(node.whenFalse, visitor, isExpression)),
97798
+ visitNode(node.whenFalse, visitor, isExpression),
97794
97799
  /*location*/
97795
97800
  node.whenFalse
97796
97801
  );
@@ -97870,7 +97875,7 @@ ${lanes.join("\n")}
97870
97875
  leadingElement = void 0;
97871
97876
  expressions2 = [];
97872
97877
  }
97873
- expressions2.push(Debug.checkDefined(visitNode(element, visitor, isExpression)));
97878
+ expressions2.push(visitNode(element, visitor, isExpression));
97874
97879
  return expressions2;
97875
97880
  }
97876
97881
  }
@@ -97909,8 +97914,8 @@ ${lanes.join("\n")}
97909
97914
  if (containsYield(node.argumentExpression)) {
97910
97915
  return factory2.updateElementAccessExpression(
97911
97916
  node,
97912
- cacheExpression(Debug.checkDefined(visitNode(node.expression, visitor, isLeftHandSideExpression))),
97913
- Debug.checkDefined(visitNode(node.argumentExpression, visitor, isExpression))
97917
+ cacheExpression(visitNode(node.expression, visitor, isLeftHandSideExpression)),
97918
+ visitNode(node.argumentExpression, visitor, isExpression)
97914
97919
  );
97915
97920
  }
97916
97921
  return visitEachChild(node, visitor, context);
@@ -97927,7 +97932,7 @@ ${lanes.join("\n")}
97927
97932
  return setOriginalNode(
97928
97933
  setTextRange(
97929
97934
  factory2.createFunctionApplyCall(
97930
- cacheExpression(Debug.checkDefined(visitNode(target, visitor, isLeftHandSideExpression))),
97935
+ cacheExpression(visitNode(target, visitor, isLeftHandSideExpression)),
97931
97936
  thisArg,
97932
97937
  visitElements(node.arguments)
97933
97938
  ),
@@ -97945,7 +97950,7 @@ ${lanes.join("\n")}
97945
97950
  setTextRange(
97946
97951
  factory2.createNewExpression(
97947
97952
  factory2.createFunctionApplyCall(
97948
- cacheExpression(Debug.checkDefined(visitNode(target, visitor, isExpression))),
97953
+ cacheExpression(visitNode(target, visitor, isExpression)),
97949
97954
  thisArg,
97950
97955
  visitElements(
97951
97956
  node.arguments,
@@ -98061,7 +98066,7 @@ ${lanes.join("\n")}
98061
98066
  return setSourceMapRange(
98062
98067
  factory2.createAssignment(
98063
98068
  setSourceMapRange(factory2.cloneNode(node.name), node.name),
98064
- Debug.checkDefined(visitNode(node.initializer, visitor, isExpression))
98069
+ visitNode(node.initializer, visitor, isExpression)
98065
98070
  ),
98066
98071
  node
98067
98072
  );
@@ -98073,7 +98078,7 @@ ${lanes.join("\n")}
98073
98078
  const elseLabel = node.elseStatement ? defineLabel() : void 0;
98074
98079
  emitBreakWhenFalse(
98075
98080
  node.elseStatement ? elseLabel : endLabel,
98076
- Debug.checkDefined(visitNode(node.expression, visitor, isExpression)),
98081
+ visitNode(node.expression, visitor, isExpression),
98077
98082
  /*location*/
98078
98083
  node.expression
98079
98084
  );
@@ -98102,7 +98107,7 @@ ${lanes.join("\n")}
98102
98107
  markLabel(loopLabel);
98103
98108
  transformAndEmitEmbeddedStatement(node.statement);
98104
98109
  markLabel(conditionLabel);
98105
- emitBreakWhenTrue(loopLabel, Debug.checkDefined(visitNode(node.expression, visitor, isExpression)));
98110
+ emitBreakWhenTrue(loopLabel, visitNode(node.expression, visitor, isExpression));
98106
98111
  endLoopBlock();
98107
98112
  } else {
98108
98113
  emitStatement(visitNode(node, visitor, isStatement));
@@ -98123,7 +98128,7 @@ ${lanes.join("\n")}
98123
98128
  const loopLabel = defineLabel();
98124
98129
  const endLabel = beginLoopBlock(loopLabel);
98125
98130
  markLabel(loopLabel);
98126
- emitBreakWhenFalse(endLabel, Debug.checkDefined(visitNode(node.expression, visitor, isExpression)));
98131
+ emitBreakWhenFalse(endLabel, visitNode(node.expression, visitor, isExpression));
98127
98132
  transformAndEmitEmbeddedStatement(node.statement);
98128
98133
  emitBreak(loopLabel);
98129
98134
  endLoopBlock();
@@ -98154,7 +98159,7 @@ ${lanes.join("\n")}
98154
98159
  emitStatement(
98155
98160
  setTextRange(
98156
98161
  factory2.createExpressionStatement(
98157
- Debug.checkDefined(visitNode(initializer, visitor, isExpression))
98162
+ visitNode(initializer, visitor, isExpression)
98158
98163
  ),
98159
98164
  initializer
98160
98165
  )
@@ -98163,7 +98168,7 @@ ${lanes.join("\n")}
98163
98168
  }
98164
98169
  markLabel(conditionLabel);
98165
98170
  if (node.condition) {
98166
- emitBreakWhenFalse(endLabel, Debug.checkDefined(visitNode(node.condition, visitor, isExpression)));
98171
+ emitBreakWhenFalse(endLabel, visitNode(node.condition, visitor, isExpression));
98167
98172
  }
98168
98173
  transformAndEmitEmbeddedStatement(node.statement);
98169
98174
  markLabel(incrementLabel);
@@ -98171,7 +98176,7 @@ ${lanes.join("\n")}
98171
98176
  emitStatement(
98172
98177
  setTextRange(
98173
98178
  factory2.createExpressionStatement(
98174
- Debug.checkDefined(visitNode(node.incrementor, visitor, isExpression))
98179
+ visitNode(node.incrementor, visitor, isExpression)
98175
98180
  ),
98176
98181
  node.incrementor
98177
98182
  )
@@ -98216,7 +98221,7 @@ ${lanes.join("\n")}
98216
98221
  const keysIndex = factory2.createLoopVariable();
98217
98222
  const initializer = node.initializer;
98218
98223
  hoistVariableDeclaration(keysIndex);
98219
- emitAssignment(obj, Debug.checkDefined(visitNode(node.expression, visitor, isExpression)));
98224
+ emitAssignment(obj, visitNode(node.expression, visitor, isExpression));
98220
98225
  emitAssignment(keysArray, factory2.createArrayLiteralExpression());
98221
98226
  emitStatement(
98222
98227
  factory2.createForInStatement(
@@ -98247,7 +98252,7 @@ ${lanes.join("\n")}
98247
98252
  }
98248
98253
  variable = factory2.cloneNode(initializer.declarations[0].name);
98249
98254
  } else {
98250
- variable = Debug.checkDefined(visitNode(initializer, visitor, isExpression));
98255
+ variable = visitNode(initializer, visitor, isExpression);
98251
98256
  Debug.assert(isLeftHandSideExpression(variable));
98252
98257
  }
98253
98258
  emitAssignment(variable, key);
@@ -98272,8 +98277,8 @@ ${lanes.join("\n")}
98272
98277
  node = factory2.updateForInStatement(
98273
98278
  node,
98274
98279
  initializer.declarations[0].name,
98275
- Debug.checkDefined(visitNode(node.expression, visitor, isExpression)),
98276
- Debug.checkDefined(visitNode(node.statement, visitor, isStatement, factory2.liftToBlock))
98280
+ visitNode(node.expression, visitor, isExpression),
98281
+ visitNode(node.statement, visitor, isStatement, factory2.liftToBlock)
98277
98282
  );
98278
98283
  } else {
98279
98284
  node = visitEachChild(node, visitor, context);
@@ -98349,7 +98354,7 @@ ${lanes.join("\n")}
98349
98354
  }
98350
98355
  function transformAndEmitWithStatement(node) {
98351
98356
  if (containsYield(node)) {
98352
- beginWithBlock(cacheExpression(Debug.checkDefined(visitNode(node.expression, visitor, isExpression))));
98357
+ beginWithBlock(cacheExpression(visitNode(node.expression, visitor, isExpression)));
98353
98358
  transformAndEmitEmbeddedStatement(node.statement);
98354
98359
  endWithBlock();
98355
98360
  } else {
@@ -98361,7 +98366,7 @@ ${lanes.join("\n")}
98361
98366
  const caseBlock = node.caseBlock;
98362
98367
  const numClauses = caseBlock.clauses.length;
98363
98368
  const endLabel = beginSwitchBlock();
98364
- const expression = cacheExpression(Debug.checkDefined(visitNode(node.expression, visitor, isExpression)));
98369
+ const expression = cacheExpression(visitNode(node.expression, visitor, isExpression));
98365
98370
  const clauseLabels = [];
98366
98371
  let defaultClauseIndex = -1;
98367
98372
  for (let i = 0; i < numClauses; i++) {
@@ -98383,7 +98388,7 @@ ${lanes.join("\n")}
98383
98388
  }
98384
98389
  pendingClauses.push(
98385
98390
  factory2.createCaseClause(
98386
- Debug.checkDefined(visitNode(clause.expression, visitor, isExpression)),
98391
+ visitNode(clause.expression, visitor, isExpression),
98387
98392
  [
98388
98393
  createInlineBreak(
98389
98394
  clauseLabels[i],
@@ -98453,7 +98458,7 @@ ${lanes.join("\n")}
98453
98458
  function transformAndEmitThrowStatement(node) {
98454
98459
  var _a2;
98455
98460
  emitThrow(
98456
- Debug.checkDefined(visitNode((_a2 = node.expression) != null ? _a2 : factory2.createVoidZero(), visitor, isExpression)),
98461
+ visitNode((_a2 = node.expression) != null ? _a2 : factory2.createVoidZero(), visitor, isExpression),
98457
98462
  /*location*/
98458
98463
  node
98459
98464
  );
@@ -99743,7 +99748,7 @@ ${lanes.join("\n")}
99743
99748
  }
99744
99749
  function addExportEqualsIfNeeded(statements, emitAsReturn) {
99745
99750
  if (currentModuleInfo.exportEquals) {
99746
- const expressionResult = visitNode(currentModuleInfo.exportEquals.expression, visitor, isExpression);
99751
+ const expressionResult = visitNode(currentModuleInfo.exportEquals.expression, visitor);
99747
99752
  if (expressionResult) {
99748
99753
  if (emitAsReturn) {
99749
99754
  const statement = factory2.createReturnStatement(expressionResult);
@@ -99783,9 +99788,9 @@ ${lanes.join("\n")}
99783
99788
  return visitFunctionDeclaration(node);
99784
99789
  case 260 /* ClassDeclaration */:
99785
99790
  return visitClassDeclaration(node);
99786
- case 357 /* MergeDeclarationMarker */:
99791
+ case 358 /* MergeDeclarationMarker */:
99787
99792
  return visitMergeDeclarationMarker(node);
99788
- case 358 /* EndOfDeclarationMarker */:
99793
+ case 359 /* EndOfDeclarationMarker */:
99789
99794
  return visitEndOfDeclarationMarker(node);
99790
99795
  default:
99791
99796
  return visitor(node);
@@ -99802,7 +99807,7 @@ ${lanes.join("\n")}
99802
99807
  return visitExpressionStatement(node);
99803
99808
  case 214 /* ParenthesizedExpression */:
99804
99809
  return visitParenthesizedExpression(node, valueIsDiscarded);
99805
- case 355 /* PartiallyEmittedExpression */:
99810
+ case 356 /* PartiallyEmittedExpression */:
99806
99811
  return visitPartiallyEmittedExpression(node, valueIsDiscarded);
99807
99812
  case 210 /* CallExpression */:
99808
99813
  if (isImportCall(node) && currentSourceFile.impliedNodeFormat === void 0) {
@@ -99938,7 +99943,7 @@ ${lanes.join("\n")}
99938
99943
  }
99939
99944
  function visitImportCallExpression(node) {
99940
99945
  const externalModuleName = getExternalModuleNameLiteral(factory2, node, currentSourceFile, host, resolver, compilerOptions);
99941
- const firstArgument = visitNode(firstOrUndefined(node.arguments), visitor, isExpression);
99946
+ const firstArgument = visitNode(firstOrUndefined(node.arguments), visitor);
99942
99947
  const argument = externalModuleName && (!firstArgument || !isStringLiteral(firstArgument) || firstArgument.text !== externalModuleName.text) ? externalModuleName : firstArgument;
99943
99948
  const containsLexicalThis = !!(node.transformFlags & 16384 /* ContainsLexicalThis */);
99944
99949
  switch (compilerOptions.module) {
@@ -100467,7 +100472,7 @@ ${lanes.join("\n")}
100467
100472
  deferredExports[id] = appendExportStatement(
100468
100473
  deferredExports[id],
100469
100474
  factory2.createIdentifier("default"),
100470
- visitNode(node.expression, visitor, isExpression),
100475
+ visitNode(node.expression, visitor),
100471
100476
  /*location*/
100472
100477
  node,
100473
100478
  /*allowComments*/
@@ -100477,7 +100482,7 @@ ${lanes.join("\n")}
100477
100482
  statements = appendExportStatement(
100478
100483
  statements,
100479
100484
  factory2.createIdentifier("default"),
100480
- visitNode(node.expression, visitor, isExpression),
100485
+ visitNode(node.expression, visitor),
100481
100486
  /*location*/
100482
100487
  node,
100483
100488
  /*allowComments*/
@@ -100505,7 +100510,7 @@ ${lanes.join("\n")}
100505
100510
  ),
100506
100511
  /*typeParameters*/
100507
100512
  void 0,
100508
- visitNodes2(node.parameters, visitor, isParameter),
100513
+ visitNodes2(node.parameters, visitor),
100509
100514
  /*type*/
100510
100515
  void 0,
100511
100516
  visitEachChild(node.body, visitor, context)
@@ -100546,8 +100551,8 @@ ${lanes.join("\n")}
100546
100551
  ),
100547
100552
  /*typeParameters*/
100548
100553
  void 0,
100549
- visitNodes2(node.heritageClauses, visitor, isHeritageClause),
100550
- visitNodes2(node.members, visitor, isClassElement)
100554
+ visitNodes2(node.heritageClauses, visitor),
100555
+ visitNodes2(node.members, visitor)
100551
100556
  ),
100552
100557
  node
100553
100558
  ),
@@ -100595,7 +100600,7 @@ ${lanes.join("\n")}
100595
100600
  variable.name,
100596
100601
  variable.exclamationToken,
100597
100602
  variable.type,
100598
- visitNode(variable.initializer, visitor, isExpression)
100603
+ visitNode(variable.initializer, visitor)
100599
100604
  );
100600
100605
  variables = append(variables, updatedVariable);
100601
100606
  expressions = append(expressions, expression);
@@ -100646,8 +100651,9 @@ ${lanes.join("\n")}
100646
100651
  function transformInitializedVariable(node) {
100647
100652
  if (isBindingPattern(node.name)) {
100648
100653
  return flattenDestructuringAssignment(
100649
- visitNode(node, visitor, isInitializedVariable),
100650
- visitor,
100654
+ visitNode(node, visitor),
100655
+ /*visitor*/
100656
+ void 0,
100651
100657
  context,
100652
100658
  0 /* All */,
100653
100659
  /*needsValue*/
@@ -100664,7 +100670,7 @@ ${lanes.join("\n")}
100664
100670
  /*location*/
100665
100671
  node.name
100666
100672
  ),
100667
- node.initializer ? visitNode(node.initializer, visitor, isExpression) : factory2.createVoidZero()
100673
+ node.initializer ? visitNode(node.initializer, visitor) : factory2.createVoidZero()
100668
100674
  );
100669
100675
  }
100670
100676
  }
@@ -101614,7 +101620,7 @@ ${lanes.join("\n")}
101614
101620
  ),
101615
101621
  /*typeParameters*/
101616
101622
  void 0,
101617
- visitNodes2(node.parameters, visitor, isParameter),
101623
+ visitNodes2(node.parameters, visitor, isParameterDeclaration),
101618
101624
  /*type*/
101619
101625
  void 0,
101620
101626
  visitNode(node.body, visitor, isBlock)
@@ -101924,9 +101930,9 @@ ${lanes.join("\n")}
101924
101930
  return visitCatchClause(node);
101925
101931
  case 238 /* Block */:
101926
101932
  return visitBlock(node);
101927
- case 357 /* MergeDeclarationMarker */:
101933
+ case 358 /* MergeDeclarationMarker */:
101928
101934
  return visitMergeDeclarationMarker(node);
101929
- case 358 /* EndOfDeclarationMarker */:
101935
+ case 359 /* EndOfDeclarationMarker */:
101930
101936
  return visitEndOfDeclarationMarker(node);
101931
101937
  default:
101932
101938
  return visitor(node);
@@ -101988,7 +101994,7 @@ ${lanes.join("\n")}
101988
101994
  }
101989
101995
  return expressions ? factory2.inlineExpressions(expressions) : factory2.createOmittedExpression();
101990
101996
  } else {
101991
- return visitNode(node, discardedValueVisitor, isForInitializer);
101997
+ return visitNode(node, discardedValueVisitor, isExpression);
101992
101998
  }
101993
101999
  }
101994
102000
  function visitDoStatement(node) {
@@ -102009,21 +102015,21 @@ ${lanes.join("\n")}
102009
102015
  return factory2.updateLabeledStatement(
102010
102016
  node,
102011
102017
  node.label,
102012
- Debug.checkDefined(visitNode(node.statement, topLevelNestedVisitor, isStatement, factory2.liftToBlock))
102018
+ visitNode(node.statement, topLevelNestedVisitor, isStatement, factory2.liftToBlock)
102013
102019
  );
102014
102020
  }
102015
102021
  function visitWithStatement(node) {
102016
102022
  return factory2.updateWithStatement(
102017
102023
  node,
102018
102024
  visitNode(node.expression, visitor, isExpression),
102019
- Debug.checkDefined(visitNode(node.statement, topLevelNestedVisitor, isStatement, factory2.liftToBlock))
102025
+ visitNode(node.statement, topLevelNestedVisitor, isStatement, factory2.liftToBlock)
102020
102026
  );
102021
102027
  }
102022
102028
  function visitSwitchStatement(node) {
102023
102029
  return factory2.updateSwitchStatement(
102024
102030
  node,
102025
102031
  visitNode(node.expression, visitor, isExpression),
102026
- Debug.checkDefined(visitNode(node.caseBlock, topLevelNestedVisitor, isCaseBlock))
102032
+ visitNode(node.caseBlock, topLevelNestedVisitor, isCaseBlock)
102027
102033
  );
102028
102034
  }
102029
102035
  function visitCaseBlock(node) {
@@ -102055,7 +102061,7 @@ ${lanes.join("\n")}
102055
102061
  node = factory2.updateCatchClause(
102056
102062
  node,
102057
102063
  node.variableDeclaration,
102058
- Debug.checkDefined(visitNode(node.block, topLevelNestedVisitor, isBlock))
102064
+ visitNode(node.block, topLevelNestedVisitor, isBlock)
102059
102065
  );
102060
102066
  enclosingBlockScopedContainer = savedEnclosingBlockScopedContainer;
102061
102067
  return node;
@@ -102082,7 +102088,7 @@ ${lanes.join("\n")}
102082
102088
  return visitExpressionStatement(node);
102083
102089
  case 214 /* ParenthesizedExpression */:
102084
102090
  return visitParenthesizedExpression(node, valueIsDiscarded);
102085
- case 355 /* PartiallyEmittedExpression */:
102091
+ case 356 /* PartiallyEmittedExpression */:
102086
102092
  return visitPartiallyEmittedExpression(node, valueIsDiscarded);
102087
102093
  case 223 /* BinaryExpression */:
102088
102094
  if (isDestructuringAssignment(node)) {
@@ -102125,7 +102131,7 @@ ${lanes.join("\n")}
102125
102131
  }
102126
102132
  function visitImportCallExpression(node) {
102127
102133
  const externalModuleName = getExternalModuleNameLiteral(factory2, node, currentSourceFile, host, resolver, compilerOptions);
102128
- const firstArgument = visitNode(firstOrUndefined(node.arguments), visitor, isExpression);
102134
+ const firstArgument = visitNode(firstOrUndefined(node.arguments), visitor);
102129
102135
  const argument = externalModuleName && (!firstArgument || !isStringLiteral(firstArgument) || firstArgument.text !== externalModuleName.text) ? externalModuleName : firstArgument;
102130
102136
  return factory2.createCallExpression(
102131
102137
  factory2.createPropertyAccessExpression(
@@ -103269,7 +103275,7 @@ ${lanes.join("\n")}
103269
103275
  sourceFile,
103270
103276
  /*bundled*/
103271
103277
  true
103272
- )) : visitNodes2(sourceFile.statements, visitDeclarationStatements, isStatement);
103278
+ )) : visitNodes2(sourceFile.statements, visitDeclarationStatements);
103273
103279
  const newFile = factory2.updateSourceFile(
103274
103280
  sourceFile,
103275
103281
  [factory2.createModuleDeclaration(
@@ -103291,7 +103297,7 @@ ${lanes.join("\n")}
103291
103297
  return newFile;
103292
103298
  }
103293
103299
  needsDeclare = true;
103294
- const updated2 = isSourceFileJS(sourceFile) ? factory2.createNodeArray(transformDeclarationsForJS(sourceFile)) : visitNodes2(sourceFile.statements, visitDeclarationStatements, isStatement);
103300
+ const updated2 = isSourceFileJS(sourceFile) ? factory2.createNodeArray(transformDeclarationsForJS(sourceFile)) : visitNodes2(sourceFile.statements, visitDeclarationStatements);
103295
103301
  return factory2.updateSourceFile(
103296
103302
  sourceFile,
103297
103303
  transformAndReplaceLatePaintedStatements(updated2),
@@ -103360,7 +103366,7 @@ ${lanes.join("\n")}
103360
103366
  refs.forEach(referenceVisitor);
103361
103367
  emittedImports = filter(combinedStatements, isAnyImportSyntax);
103362
103368
  } else {
103363
- const statements = visitNodes2(node.statements, visitDeclarationStatements, isStatement);
103369
+ const statements = visitNodes2(node.statements, visitDeclarationStatements);
103364
103370
  combinedStatements = setTextRange(factory2.createNodeArray(transformAndReplaceLatePaintedStatements(statements)), node.statements);
103365
103371
  refs.forEach(referenceVisitor);
103366
103372
  emittedImports = filter(combinedStatements, isAnyImportSyntax);
@@ -103477,9 +103483,9 @@ ${lanes.join("\n")}
103477
103483
  return name;
103478
103484
  } else {
103479
103485
  if (name.kind === 204 /* ArrayBindingPattern */) {
103480
- return factory2.updateArrayBindingPattern(name, visitNodes2(name.elements, visitBindingElement, isArrayBindingElement));
103486
+ return factory2.updateArrayBindingPattern(name, visitNodes2(name.elements, visitBindingElement));
103481
103487
  } else {
103482
- return factory2.updateObjectBindingPattern(name, visitNodes2(name.elements, visitBindingElement, isBindingElement));
103488
+ return factory2.updateObjectBindingPattern(name, visitNodes2(name.elements, visitBindingElement));
103483
103489
  }
103484
103490
  }
103485
103491
  function visitBindingElement(elem) {
@@ -103549,10 +103555,10 @@ ${lanes.join("\n")}
103549
103555
  }
103550
103556
  const shouldUseResolverType = node.kind === 166 /* Parameter */ && (resolver.isRequiredInitializedParameter(node) || resolver.isOptionalUninitializedParameterProperty(node));
103551
103557
  if (type && !shouldUseResolverType) {
103552
- return visitNode(type, visitDeclarationSubtree, isTypeNode);
103558
+ return visitNode(type, visitDeclarationSubtree);
103553
103559
  }
103554
103560
  if (!getParseTreeNode(node)) {
103555
- return type ? visitNode(type, visitDeclarationSubtree, isTypeNode) : factory2.createKeywordTypeNode(131 /* AnyKeyword */);
103561
+ return type ? visitNode(type, visitDeclarationSubtree) : factory2.createKeywordTypeNode(131 /* AnyKeyword */);
103556
103562
  }
103557
103563
  if (node.kind === 175 /* SetAccessor */) {
103558
103564
  return factory2.createKeywordTypeNode(131 /* AnyKeyword */);
@@ -103666,7 +103672,7 @@ ${lanes.join("\n")}
103666
103672
  return factory2.createNodeArray(newParams || emptyArray);
103667
103673
  }
103668
103674
  function ensureTypeParams(node, params) {
103669
- return hasEffectiveModifier(node, 8 /* Private */) ? void 0 : visitNodes2(params, visitDeclarationSubtree, isTypeParameterDeclaration);
103675
+ return hasEffectiveModifier(node, 8 /* Private */) ? void 0 : visitNodes2(params, visitDeclarationSubtree);
103670
103676
  }
103671
103677
  function isEnclosingDeclaration(node) {
103672
103678
  return isSourceFile(node) || isTypeAliasDeclaration(node) || isModuleDeclaration(node) || isClassDeclaration(node) || isInterfaceDeclaration(node) || isFunctionLike(node) || isIndexSignatureDeclaration(node) || isMappedTypeNode(node);
@@ -103801,7 +103807,7 @@ ${lanes.join("\n")}
103801
103807
  needsDeclare = priorNeedsDeclare;
103802
103808
  lateStatementReplacementMap.set(getOriginalNodeId(i), result);
103803
103809
  }
103804
- return visitNodes2(statements, visitLateVisibilityMarkedStatements, isStatement);
103810
+ return visitNodes2(statements, visitLateVisibilityMarkedStatements);
103805
103811
  function visitLateVisibilityMarkedStatements(statement) {
103806
103812
  if (isLateVisibilityPaintedStatement(statement)) {
103807
103813
  const key = getOriginalNodeId(statement);
@@ -104015,7 +104021,7 @@ ${lanes.join("\n")}
104015
104021
  input,
104016
104022
  ensureModifiers(input),
104017
104023
  updateParamsList(input, input.parameters),
104018
- visitNode(input.type, visitDeclarationSubtree, isTypeNode) || factory2.createKeywordTypeNode(131 /* AnyKeyword */)
104024
+ visitNode(input.type, visitDeclarationSubtree) || factory2.createKeywordTypeNode(131 /* AnyKeyword */)
104019
104025
  ));
104020
104026
  }
104021
104027
  case 257 /* VariableDeclaration */: {
@@ -104048,24 +104054,20 @@ ${lanes.join("\n")}
104048
104054
  return cleanup(visitEachChild(input, visitDeclarationSubtree, context));
104049
104055
  }
104050
104056
  case 191 /* ConditionalType */: {
104051
- const checkType = visitNode(input.checkType, visitDeclarationSubtree, isTypeNode);
104052
- const extendsType = visitNode(input.extendsType, visitDeclarationSubtree, isTypeNode);
104057
+ const checkType = visitNode(input.checkType, visitDeclarationSubtree);
104058
+ const extendsType = visitNode(input.extendsType, visitDeclarationSubtree);
104053
104059
  const oldEnclosingDecl = enclosingDeclaration;
104054
104060
  enclosingDeclaration = input.trueType;
104055
- const trueType = visitNode(input.trueType, visitDeclarationSubtree, isTypeNode);
104061
+ const trueType = visitNode(input.trueType, visitDeclarationSubtree);
104056
104062
  enclosingDeclaration = oldEnclosingDecl;
104057
- const falseType = visitNode(input.falseType, visitDeclarationSubtree, isTypeNode);
104058
- Debug.assert(checkType);
104059
- Debug.assert(extendsType);
104060
- Debug.assert(trueType);
104061
- Debug.assert(falseType);
104063
+ const falseType = visitNode(input.falseType, visitDeclarationSubtree);
104062
104064
  return cleanup(factory2.updateConditionalTypeNode(input, checkType, extendsType, trueType, falseType));
104063
104065
  }
104064
104066
  case 181 /* FunctionType */: {
104065
- return cleanup(factory2.updateFunctionTypeNode(input, visitNodes2(input.typeParameters, visitDeclarationSubtree, isTypeParameterDeclaration), updateParamsList(input, input.parameters), Debug.checkDefined(visitNode(input.type, visitDeclarationSubtree, isTypeNode))));
104067
+ return cleanup(factory2.updateFunctionTypeNode(input, visitNodes2(input.typeParameters, visitDeclarationSubtree), updateParamsList(input, input.parameters), visitNode(input.type, visitDeclarationSubtree)));
104066
104068
  }
104067
104069
  case 182 /* ConstructorType */: {
104068
- return cleanup(factory2.updateConstructorTypeNode(input, ensureModifiers(input), visitNodes2(input.typeParameters, visitDeclarationSubtree, isTypeParameterDeclaration), updateParamsList(input, input.parameters), Debug.checkDefined(visitNode(input.type, visitDeclarationSubtree, isTypeNode))));
104070
+ return cleanup(factory2.updateConstructorTypeNode(input, ensureModifiers(input), visitNodes2(input.typeParameters, visitDeclarationSubtree), updateParamsList(input, input.parameters), visitNode(input.type, visitDeclarationSubtree)));
104069
104071
  }
104070
104072
  case 202 /* ImportType */: {
104071
104073
  if (!isLiteralImportTypeNode(input))
@@ -104209,7 +104211,7 @@ ${lanes.join("\n")}
104209
104211
  ensureModifiers(input),
104210
104212
  input.name,
104211
104213
  visitNodes2(input.typeParameters, visitDeclarationSubtree, isTypeParameterDeclaration),
104212
- Debug.checkDefined(visitNode(input.type, visitDeclarationSubtree, isTypeNode))
104214
+ visitNode(input.type, visitDeclarationSubtree, isTypeNode)
104213
104215
  ));
104214
104216
  needsDeclare = previousNeedsDeclare;
104215
104217
  return clean2;
@@ -104221,7 +104223,7 @@ ${lanes.join("\n")}
104221
104223
  input.name,
104222
104224
  ensureTypeParams(input, input.typeParameters),
104223
104225
  transformHeritageClauses(input.heritageClauses),
104224
- visitNodes2(input.members, visitDeclarationSubtree, isTypeElement)
104226
+ visitNodes2(input.members, visitDeclarationSubtree)
104225
104227
  ));
104226
104228
  }
104227
104229
  case 259 /* FunctionDeclaration */: {
@@ -104338,7 +104340,7 @@ ${lanes.join("\n")}
104338
104340
  const oldHasScopeFix = resultHasScopeMarker;
104339
104341
  resultHasScopeMarker = false;
104340
104342
  needsScopeFixMarker = false;
104341
- const statements = visitNodes2(inner.statements, visitDeclarationStatements, isStatement);
104343
+ const statements = visitNodes2(inner.statements, visitDeclarationStatements);
104342
104344
  let lateStatements = transformAndReplaceLatePaintedStatements(statements);
104343
104345
  if (input.flags & 16777216 /* Ambient */) {
104344
104346
  needsScopeFixMarker = false;
@@ -104347,7 +104349,7 @@ ${lanes.join("\n")}
104347
104349
  if (needsScopeFixMarker) {
104348
104350
  lateStatements = factory2.createNodeArray([...lateStatements, createEmptyExports(factory2)]);
104349
104351
  } else {
104350
- lateStatements = visitNodes2(lateStatements, stripExportModifiers, isStatement);
104352
+ lateStatements = visitNodes2(lateStatements, stripExportModifiers);
104351
104353
  }
104352
104354
  }
104353
104355
  const body = factory2.updateModuleBlock(inner, lateStatements);
@@ -104443,7 +104445,7 @@ ${lanes.join("\n")}
104443
104445
  void 0
104444
104446
  )
104445
104447
  ] : void 0;
104446
- const memberNodes = concatenate(concatenate(privateIdentifier, parameterProperties), visitNodes2(input.members, visitDeclarationSubtree, isClassElement));
104448
+ const memberNodes = concatenate(concatenate(privateIdentifier, parameterProperties), visitNodes2(input.members, visitDeclarationSubtree));
104447
104449
  const members = factory2.createNodeArray(memberNodes);
104448
104450
  const extendsClause = getEffectiveBaseTypeNode(input);
104449
104451
  if (extendsClause && !isEntityNameExpression(extendsClause.expression) && extendsClause.expression.kind !== 104 /* NullKeyword */) {
@@ -104467,11 +104469,11 @@ ${lanes.join("\n")}
104467
104469
  if (clause.token === 94 /* ExtendsKeyword */) {
104468
104470
  const oldDiag2 = getSymbolAccessibilityDiagnostic;
104469
104471
  getSymbolAccessibilityDiagnostic = createGetSymbolAccessibilityDiagnosticForNode(clause.types[0]);
104470
- const newClause = factory2.updateHeritageClause(clause, map(clause.types, (t) => factory2.updateExpressionWithTypeArguments(t, newId, visitNodes2(t.typeArguments, visitDeclarationSubtree, isTypeNode))));
104472
+ const newClause = factory2.updateHeritageClause(clause, map(clause.types, (t) => factory2.updateExpressionWithTypeArguments(t, newId, visitNodes2(t.typeArguments, visitDeclarationSubtree))));
104471
104473
  getSymbolAccessibilityDiagnostic = oldDiag2;
104472
104474
  return newClause;
104473
104475
  }
104474
- return factory2.updateHeritageClause(clause, visitNodes2(factory2.createNodeArray(filter(clause.types, (t) => isEntityNameExpression(t.expression) || t.expression.kind === 104 /* NullKeyword */)), visitDeclarationSubtree, isExpressionWithTypeArguments));
104476
+ return factory2.updateHeritageClause(clause, visitNodes2(factory2.createNodeArray(filter(clause.types, (t) => isEntityNameExpression(t.expression) || t.expression.kind === 104 /* NullKeyword */)), visitDeclarationSubtree));
104475
104477
  }));
104476
104478
  return [statement, cleanup(factory2.updateClassDeclaration(
104477
104479
  input,
@@ -104527,7 +104529,7 @@ ${lanes.join("\n")}
104527
104529
  function transformVariableStatement(input) {
104528
104530
  if (!forEach(input.declarationList.declarations, getBindingNameVisible))
104529
104531
  return;
104530
- const nodes = visitNodes2(input.declarationList.declarations, visitDeclarationSubtree, isVariableDeclaration);
104532
+ const nodes = visitNodes2(input.declarationList.declarations, visitDeclarationSubtree);
104531
104533
  if (!length(nodes))
104532
104534
  return;
104533
104535
  return factory2.updateVariableStatement(input, factory2.createNodeArray(ensureModifiers(input)), factory2.updateVariableDeclarationList(input.declarationList, nodes));
@@ -104618,7 +104620,7 @@ ${lanes.join("\n")}
104618
104620
  function transformHeritageClauses(nodes) {
104619
104621
  return factory2.createNodeArray(filter(map(nodes, (clause) => factory2.updateHeritageClause(clause, visitNodes2(factory2.createNodeArray(filter(clause.types, (t) => {
104620
104622
  return isEntityNameExpression(t.expression) || clause.token === 94 /* ExtendsKeyword */ && t.expression.kind === 104 /* NullKeyword */;
104621
- })), visitDeclarationSubtree, isExpressionWithTypeArguments))), (clause) => clause.types && !!clause.types.length));
104623
+ })), visitDeclarationSubtree))), (clause) => clause.types && !!clause.types.length));
104622
104624
  }
104623
104625
  }
104624
104626
  function isAlwaysType(node) {
@@ -104804,7 +104806,7 @@ ${lanes.join("\n")}
104804
104806
  }
104805
104807
  function transformNodes(resolver, host, factory2, options, nodes, transformers, allowDtsFiles) {
104806
104808
  var _a2, _b;
104807
- const enabledSyntaxKindFeatures = new Array(360 /* Count */);
104809
+ const enabledSyntaxKindFeatures = new Array(361 /* Count */);
104808
104810
  let lexicalEnvironmentVariableDeclarations;
104809
104811
  let lexicalEnvironmentFunctionDeclarations;
104810
104812
  let lexicalEnvironmentStatements;
@@ -106654,6 +106656,7 @@ ${lanes.join("\n")}
106654
106656
  case 346 /* JSDocThisTag */:
106655
106657
  case 347 /* JSDocTypeTag */:
106656
106658
  case 352 /* JSDocThrowsTag */:
106659
+ case 353 /* JSDocSatisfiesTag */:
106657
106660
  return emitJSDocSimpleTypedTag(node);
106658
106661
  case 348 /* JSDocTemplateTag */:
106659
106662
  return emitJSDocTemplateTag(node);
@@ -106661,9 +106664,9 @@ ${lanes.join("\n")}
106661
106664
  return emitJSDocTypedefTag(node);
106662
106665
  case 350 /* JSDocSeeTag */:
106663
106666
  return emitJSDocSeeTag(node);
106664
- case 354 /* NotEmittedStatement */:
106665
- case 358 /* EndOfDeclarationMarker */:
106666
- case 357 /* MergeDeclarationMarker */:
106667
+ case 355 /* NotEmittedStatement */:
106668
+ case 359 /* EndOfDeclarationMarker */:
106669
+ case 358 /* MergeDeclarationMarker */:
106667
106670
  return;
106668
106671
  }
106669
106672
  if (isExpression(node)) {
@@ -106762,18 +106765,18 @@ ${lanes.join("\n")}
106762
106765
  return emitJsxSelfClosingElement(node);
106763
106766
  case 285 /* JsxFragment */:
106764
106767
  return emitJsxFragment(node);
106765
- case 353 /* SyntaxList */:
106768
+ case 354 /* SyntaxList */:
106766
106769
  return Debug.fail("SyntaxList should not be printed");
106767
- case 354 /* NotEmittedStatement */:
106770
+ case 355 /* NotEmittedStatement */:
106768
106771
  return;
106769
- case 355 /* PartiallyEmittedExpression */:
106772
+ case 356 /* PartiallyEmittedExpression */:
106770
106773
  return emitPartiallyEmittedExpression(node);
106771
- case 356 /* CommaListExpression */:
106774
+ case 357 /* CommaListExpression */:
106772
106775
  return emitCommaList(node);
106773
- case 357 /* MergeDeclarationMarker */:
106774
- case 358 /* EndOfDeclarationMarker */:
106776
+ case 358 /* MergeDeclarationMarker */:
106777
+ case 359 /* EndOfDeclarationMarker */:
106775
106778
  return;
106776
- case 359 /* SyntheticReferenceExpression */:
106779
+ case 360 /* SyntheticReferenceExpression */:
106777
106780
  return Debug.fail("SyntheticReferenceExpression should not be printed");
106778
106781
  }
106779
106782
  }
@@ -110021,7 +110024,7 @@ ${lanes.join("\n")}
110021
110024
  emitLeadingComments(
110022
110025
  pos,
110023
110026
  /*isEmittedNode*/
110024
- node.kind !== 354 /* NotEmittedStatement */
110027
+ node.kind !== 355 /* NotEmittedStatement */
110025
110028
  );
110026
110029
  }
110027
110030
  if (!skipLeadingComments || pos >= 0 && (emitFlags & 1024 /* NoLeadingComments */) !== 0) {
@@ -110045,7 +110048,7 @@ ${lanes.join("\n")}
110045
110048
  containerPos = savedContainerPos;
110046
110049
  containerEnd = savedContainerEnd;
110047
110050
  declarationListContainerEnd = savedDeclarationListContainerEnd;
110048
- if (!skipTrailingComments && node.kind !== 354 /* NotEmittedStatement */) {
110051
+ if (!skipTrailingComments && node.kind !== 355 /* NotEmittedStatement */) {
110049
110052
  emitTrailingComments(end);
110050
110053
  }
110051
110054
  }
@@ -110317,7 +110320,7 @@ ${lanes.join("\n")}
110317
110320
  }
110318
110321
  } else {
110319
110322
  const source = sourceMapRange.source || sourceMapSource;
110320
- if (node.kind !== 354 /* NotEmittedStatement */ && (emitFlags & 32 /* NoLeadingSourceMap */) === 0 && sourceMapRange.pos >= 0) {
110323
+ if (node.kind !== 355 /* NotEmittedStatement */ && (emitFlags & 32 /* NoLeadingSourceMap */) === 0 && sourceMapRange.pos >= 0) {
110321
110324
  emitSourcePos(sourceMapRange.source || sourceMapSource, skipSourceTrivia(source, sourceMapRange.pos));
110322
110325
  }
110323
110326
  if (emitFlags & 128 /* NoNestedSourceMaps */) {
@@ -110332,7 +110335,7 @@ ${lanes.join("\n")}
110332
110335
  if (emitFlags & 128 /* NoNestedSourceMaps */) {
110333
110336
  sourceMapsDisabled = false;
110334
110337
  }
110335
- if (node.kind !== 354 /* NotEmittedStatement */ && (emitFlags & 64 /* NoTrailingSourceMap */) === 0 && sourceMapRange.end >= 0) {
110338
+ if (node.kind !== 355 /* NotEmittedStatement */ && (emitFlags & 64 /* NoTrailingSourceMap */) === 0 && sourceMapRange.end >= 0) {
110336
110339
  emitSourcePos(sourceMapRange.source || sourceMapSource, sourceMapRange.end);
110337
110340
  }
110338
110341
  }
@@ -117429,9 +117432,6 @@ ${lanes.join("\n")}
117429
117432
  }
117430
117433
  );
117431
117434
  return filesInError.map((fileName) => {
117432
- if (fileName === void 0) {
117433
- return void 0;
117434
- }
117435
117435
  const diagnosticForFileName = find(
117436
117436
  diagnostics,
117437
117437
  (diagnostic) => diagnostic.file !== void 0 && diagnostic.file.fileName === fileName
@@ -118121,8 +118121,6 @@ ${lanes.join("\n")}
118121
118121
  parseConfigFile2();
118122
118122
  newLine = updateNewLine();
118123
118123
  }
118124
- Debug.assert(compilerOptions);
118125
- Debug.assert(rootFileNames);
118126
118124
  const { watchFile: watchFile2, watchDirectory, writeLog } = createWatchFactory(host, compilerOptions);
118127
118125
  const getCanonicalFileName = createGetCanonicalFileName(useCaseSensitiveFileNames);
118128
118126
  writeLog(`Current directory: ${currentDirectory} CaseSensitiveFileNames: ${useCaseSensitiveFileNames}`);
@@ -118225,8 +118223,6 @@ ${lanes.join("\n")}
118225
118223
  }
118226
118224
  function synchronizeProgram() {
118227
118225
  writeLog(`Synchronizing program`);
118228
- Debug.assert(compilerOptions);
118229
- Debug.assert(rootFileNames);
118230
118226
  clearInvalidateResolutionsOfFailedLookupLocations();
118231
118227
  const program = getCurrentBuilderProgram();
118232
118228
  if (hasChangedCompilerOptions) {
@@ -118466,8 +118462,6 @@ ${lanes.join("\n")}
118466
118462
  }
118467
118463
  function reloadFileNamesFromConfigFile() {
118468
118464
  writeLog("Reloading new file names and options");
118469
- Debug.assert(compilerOptions);
118470
- Debug.assert(configFileName);
118471
118465
  reloadLevel = 0 /* None */;
118472
118466
  rootFileNames = getFileNamesFromConfigSpecs(compilerOptions.configFile.configFileSpecs, getNormalizedAbsolutePath(getDirectoryPath(configFileName), currentDirectory), compilerOptions, parseConfigFileHost, extraFileExtensions);
118473
118467
  if (updateErrorForNoInputFiles(rootFileNames, getNormalizedAbsolutePath(configFileName, currentDirectory), compilerOptions.configFile.configFileSpecs, configFileParsingDiagnostics, canConfigFileJsonReportNoInputFiles)) {
@@ -118476,7 +118470,6 @@ ${lanes.join("\n")}
118476
118470
  synchronizeProgram();
118477
118471
  }
118478
118472
  function reloadConfigFile() {
118479
- Debug.assert(configFileName);
118480
118473
  writeLog(`Reloading config file: ${configFileName}`);
118481
118474
  reloadLevel = 0 /* None */;
118482
118475
  if (cachedDirectoryStructureHost) {
@@ -118489,7 +118482,6 @@ ${lanes.join("\n")}
118489
118482
  updateExtendedConfigFilesWatches(toPath3(configFileName), compilerOptions, watchOptions, WatchType.ExtendedConfigFile);
118490
118483
  }
118491
118484
  function parseConfigFile2() {
118492
- Debug.assert(configFileName);
118493
118485
  setConfigFileParsingResult(getParsedCommandLineOfConfigFile(
118494
118486
  configFileName,
118495
118487
  optionsToExtendForConfigFile,
@@ -118517,7 +118509,6 @@ ${lanes.join("\n")}
118517
118509
  return config.parsedCommandLine;
118518
118510
  if (config.parsedCommandLine && config.reloadLevel === 1 /* Partial */ && !host.getParsedCommandLine) {
118519
118511
  writeLog("Reloading new file names and options");
118520
- Debug.assert(compilerOptions);
118521
118512
  const fileNames = getFileNamesFromConfigSpecs(
118522
118513
  config.parsedCommandLine.options.configFile.configFileSpecs,
118523
118514
  getNormalizedAbsolutePath(getDirectoryPath(configFileName2), currentDirectory),
@@ -118609,8 +118600,7 @@ ${lanes.join("\n")}
118609
118600
  return watchDirectory(
118610
118601
  directory,
118611
118602
  (fileOrDirectory) => {
118612
- Debug.assert(configFileName);
118613
- Debug.assert(compilerOptions);
118603
+ Debug.assert(!!configFileName);
118614
118604
  const fileOrDirectoryPath = toPath3(fileOrDirectory);
118615
118605
  if (cachedDirectoryStructureHost) {
118616
118606
  cachedDirectoryStructureHost.addOrDeleteFileOrDirectory(fileOrDirectory, fileOrDirectoryPath);
@@ -118641,7 +118631,6 @@ ${lanes.join("\n")}
118641
118631
  );
118642
118632
  }
118643
118633
  function updateExtendedConfigFilesWatches(forProjectPath, options, watchOptions2, watchType) {
118644
- Debug.assert(configFileName);
118645
118634
  updateSharedExtendedConfigFileWatcher(
118646
118635
  forProjectPath,
118647
118636
  options,
@@ -124107,7 +124096,7 @@ ${lanes.join("\n")}
124107
124096
  if (!sourceFile.externalModuleIndicator && !sourceFile.commonJsModuleIndicator) {
124108
124097
  return false;
124109
124098
  }
124110
- return isInJSFile(declaration) || !findAncestor(declaration, (d) => isModuleDeclaration(d) && isGlobalScopeAugmentation(d));
124099
+ return isInJSFile(declaration) || !findAncestor(declaration, isGlobalScopeAugmentation);
124111
124100
  }
124112
124101
  function isDeprecatedDeclaration(decl) {
124113
124102
  return !!(getCombinedNodeFlagsAlwaysIncludeJSDoc(decl) & 8192 /* Deprecated */);
@@ -128458,7 +128447,7 @@ ${lanes.join("\n")}
128458
128447
  }
128459
128448
  }
128460
128449
  function createSyntaxList(nodes, parent2) {
128461
- const list = createNode(353 /* SyntaxList */, nodes.pos, nodes.end, parent2);
128450
+ const list = createNode(354 /* SyntaxList */, nodes.pos, nodes.end, parent2);
128462
128451
  list._children = [];
128463
128452
  let pos = nodes.pos;
128464
128453
  for (const node of nodes) {
@@ -129919,7 +129908,7 @@ ${lanes.join("\n")}
129919
129908
  if (!children.length) {
129920
129909
  return void 0;
129921
129910
  }
129922
- const child = find(children, (kid) => kid.kind < 312 /* FirstJSDocNode */ || kid.kind > 352 /* LastJSDocNode */);
129911
+ const child = find(children, (kid) => kid.kind < 312 /* FirstJSDocNode */ || kid.kind > 353 /* LastJSDocNode */);
129923
129912
  return child.kind < 163 /* FirstNode */ ? child : child.getFirstToken(sourceFile);
129924
129913
  }
129925
129914
  getLastToken(sourceFile) {
@@ -133531,7 +133520,7 @@ ${lanes.join("\n")}
133531
133520
  if (!param.type) {
133532
133521
  const paramType = getJSDocType(param);
133533
133522
  if (paramType)
133534
- changes.tryInsertTypeAnnotation(sourceFile, param, visitNode(paramType, transformJSDocType, isTypeNode));
133523
+ changes.tryInsertTypeAnnotation(sourceFile, param, transformJSDocType(paramType));
133535
133524
  }
133536
133525
  }
133537
133526
  if (needParens)
@@ -133539,12 +133528,12 @@ ${lanes.join("\n")}
133539
133528
  if (!decl.type) {
133540
133529
  const returnType = getJSDocReturnType(decl);
133541
133530
  if (returnType)
133542
- changes.tryInsertTypeAnnotation(sourceFile, decl, visitNode(returnType, transformJSDocType, isTypeNode));
133531
+ changes.tryInsertTypeAnnotation(sourceFile, decl, transformJSDocType(returnType));
133543
133532
  }
133544
133533
  } else {
133545
133534
  const jsdocType = Debug.checkDefined(getJSDocType(decl), "A JSDocType for this declaration should exist");
133546
133535
  Debug.assert(!decl.type, "The JSDocType decl should have a type");
133547
- changes.tryInsertTypeAnnotation(sourceFile, decl, visitNode(jsdocType, transformJSDocType, isTypeNode));
133536
+ changes.tryInsertTypeAnnotation(sourceFile, decl, transformJSDocType(jsdocType));
133548
133537
  }
133549
133538
  }
133550
133539
  function isDeclarationWithType(node) {
@@ -133581,19 +133570,19 @@ ${lanes.join("\n")}
133581
133570
  void 0,
133582
133571
  isIdentifier(tag.name) ? tag.name : tag.name.right,
133583
133572
  isOptionalJSDocPropertyLikeTag(tag) ? factory.createToken(57 /* QuestionToken */) : void 0,
133584
- tag.typeExpression && visitNode(tag.typeExpression.type, transformJSDocType, isTypeNode) || factory.createKeywordTypeNode(131 /* AnyKeyword */)
133573
+ tag.typeExpression && visitNode(tag.typeExpression.type, transformJSDocType) || factory.createKeywordTypeNode(131 /* AnyKeyword */)
133585
133574
  )));
133586
133575
  setEmitFlags(typeNode, 1 /* SingleLine */);
133587
133576
  return typeNode;
133588
133577
  }
133589
133578
  function transformJSDocOptionalType(node) {
133590
- return factory.createUnionTypeNode([visitNode(node.type, transformJSDocType, isTypeNode), factory.createTypeReferenceNode("undefined", emptyArray)]);
133579
+ return factory.createUnionTypeNode([visitNode(node.type, transformJSDocType), factory.createTypeReferenceNode("undefined", emptyArray)]);
133591
133580
  }
133592
133581
  function transformJSDocNullableType(node) {
133593
- return factory.createUnionTypeNode([visitNode(node.type, transformJSDocType, isTypeNode), factory.createTypeReferenceNode("null", emptyArray)]);
133582
+ return factory.createUnionTypeNode([visitNode(node.type, transformJSDocType), factory.createTypeReferenceNode("null", emptyArray)]);
133594
133583
  }
133595
133584
  function transformJSDocVariadicType(node) {
133596
- return factory.createArrayTypeNode(visitNode(node.type, transformJSDocType, isTypeNode));
133585
+ return factory.createArrayTypeNode(visitNode(node.type, transformJSDocType));
133597
133586
  }
133598
133587
  function transformJSDocFunctionType(node) {
133599
133588
  var _a2;
@@ -133604,7 +133593,7 @@ ${lanes.join("\n")}
133604
133593
  const isRest = node.type.kind === 321 /* JSDocVariadicType */ && index === node.parent.parameters.length - 1;
133605
133594
  const name = node.name || (isRest ? "rest" : "arg" + index);
133606
133595
  const dotdotdot = isRest ? factory.createToken(25 /* DotDotDotToken */) : node.dotDotDotToken;
133607
- return factory.createParameterDeclaration(node.modifiers, dotdotdot, name, node.questionToken, visitNode(node.type, transformJSDocType, isTypeNode), node.initializer);
133596
+ return factory.createParameterDeclaration(node.modifiers, dotdotdot, name, node.questionToken, visitNode(node.type, transformJSDocType), node.initializer);
133608
133597
  }
133609
133598
  function transformJSDocTypeReference(node) {
133610
133599
  let name = node.typeName;
@@ -133631,7 +133620,7 @@ ${lanes.join("\n")}
133631
133620
  if ((text === "Array" || text === "Promise") && !node.typeArguments) {
133632
133621
  args = factory.createNodeArray([factory.createTypeReferenceNode("any", emptyArray)]);
133633
133622
  } else {
133634
- args = visitNodes2(node.typeArguments, transformJSDocType, isTypeNode);
133623
+ args = visitNodes2(node.typeArguments, transformJSDocType);
133635
133624
  }
133636
133625
  }
133637
133626
  return factory.createTypeReferenceNode(name, args);
@@ -136211,19 +136200,13 @@ ${lanes.join("\n")}
136211
136200
  if (isUMDExportSymbol(umdSymbol))
136212
136201
  return umdSymbol;
136213
136202
  const { parent: parent2 } = token;
136214
- if (isJsxOpeningLikeElement(parent2) && parent2.tagName === token || isJsxOpeningFragment(parent2)) {
136215
- const parentSymbol = checker.resolveName(
136216
- checker.getJsxNamespace(parent2),
136217
- isJsxOpeningLikeElement(parent2) ? token : parent2,
136218
- 111551 /* Value */,
136219
- /*excludeGlobals*/
136220
- false
136221
- );
136222
- if (isUMDExportSymbol(parentSymbol)) {
136223
- return parentSymbol;
136224
- }
136225
- }
136226
- return void 0;
136203
+ return isJsxOpeningLikeElement(parent2) && parent2.tagName === token || isJsxOpeningFragment(parent2) ? tryCast(checker.resolveName(
136204
+ checker.getJsxNamespace(parent2),
136205
+ isJsxOpeningLikeElement(parent2) ? token : parent2,
136206
+ 111551 /* Value */,
136207
+ /*excludeGlobals*/
136208
+ false
136209
+ ), isUMDExportSymbol) : void 0;
136227
136210
  }
136228
136211
  function getImportKind(importingFile, exportKind, compilerOptions, forceImportKeyword) {
136229
136212
  switch (exportKind) {
@@ -141675,17 +141658,18 @@ ${lanes.join("\n")}
141675
141658
  }
141676
141659
  function tryGetAutoImportableReferenceFromTypeNode(importTypeNode, scriptTarget) {
141677
141660
  let symbols;
141678
- const typeNode = visitNode(importTypeNode, visit, isTypeNode);
141661
+ const typeNode = visitNode(importTypeNode, visit);
141679
141662
  if (symbols && typeNode) {
141680
141663
  return { typeNode, symbols };
141681
141664
  }
141682
141665
  function visit(node) {
141666
+ var _a2;
141683
141667
  if (isLiteralImportTypeNode(node) && node.qualifier) {
141684
141668
  const firstIdentifier = getFirstIdentifier(node.qualifier);
141685
141669
  const name = getNameForExportedSymbol(firstIdentifier.symbol, scriptTarget);
141686
141670
  const qualifier = name !== firstIdentifier.text ? replaceFirstIdentifierOfEntityName(node.qualifier, factory.createIdentifier(name)) : node.qualifier;
141687
141671
  symbols = append(symbols, firstIdentifier.symbol);
141688
- const typeArguments = visitNodes2(node.typeArguments, visit, isTypeNode);
141672
+ const typeArguments = (_a2 = node.typeArguments) == null ? void 0 : _a2.map(visit);
141689
141673
  return factory.createTypeReferenceNode(qualifier, typeArguments);
141690
141674
  }
141691
141675
  return visitEachChild(node, visit, nullTransformationContext);
@@ -143427,10 +143411,10 @@ ${lanes.join("\n")}
143427
143411
  } else if (!tracker.hasValue(type.value)) {
143428
143412
  switch (typeof type.value) {
143429
143413
  case "object":
143430
- elements.push(factory.createBigIntLiteral(type.value));
143414
+ elements.push(type.value.negative ? factory.createPrefixUnaryExpression(40 /* MinusToken */, factory.createBigIntLiteral({ negative: false, base10Value: type.value.base10Value })) : factory.createBigIntLiteral(type.value));
143431
143415
  break;
143432
143416
  case "number":
143433
- elements.push(factory.createNumericLiteral(type.value));
143417
+ elements.push(type.value < 0 ? factory.createPrefixUnaryExpression(40 /* MinusToken */, factory.createNumericLiteral(-type.value)) : factory.createNumericLiteral(type.value));
143434
143418
  break;
143435
143419
  case "string":
143436
143420
  elements.push(factory.createStringLiteral(type.value, quotePreference === 0 /* Single */));
@@ -144850,6 +144834,7 @@ ${lanes.join("\n")}
144850
144834
  case 347 /* JSDocTypeTag */:
144851
144835
  case 349 /* JSDocTypedefTag */:
144852
144836
  case 352 /* JSDocThrowsTag */:
144837
+ case 353 /* JSDocSatisfiesTag */:
144853
144838
  return true;
144854
144839
  case 348 /* JSDocTemplateTag */:
144855
144840
  return !!tag.constraint;
@@ -146097,7 +146082,7 @@ ${lanes.join("\n")}
146097
146082
  function tryGetObjectTypeDeclarationCompletionContainer(sourceFile, contextToken, location, position) {
146098
146083
  var _a2;
146099
146084
  switch (location.kind) {
146100
- case 353 /* SyntaxList */:
146085
+ case 354 /* SyntaxList */:
146101
146086
  return tryCast(location.parent, isObjectTypeDeclaration);
146102
146087
  case 1 /* EndOfFileToken */:
146103
146088
  const cls = tryCast(lastOrUndefined(cast(location.parent, isSourceFile).statements), isObjectTypeDeclaration);
@@ -147164,7 +147149,7 @@ ${lanes.join("\n")}
147164
147149
  }
147165
147150
  function getAmbientModuleCompletions(fragment, fragmentDirectory, checker) {
147166
147151
  const ambientModules = checker.getAmbientModules().map((sym) => stripQuotes(sym.name));
147167
- const nonRelativeModuleNames = ambientModules.filter((moduleName) => startsWith(moduleName, fragment));
147152
+ const nonRelativeModuleNames = ambientModules.filter((moduleName) => startsWith(moduleName, fragment) && moduleName.indexOf("*") < 0);
147168
147153
  if (fragmentDirectory !== void 0) {
147169
147154
  const moduleNameWithSeparator = ensureTrailingDirectorySeparator(fragmentDirectory);
147170
147155
  return nonRelativeModuleNames.map((nonRelativeModuleName) => removePrefix(nonRelativeModuleName, moduleNameWithSeparator));
@@ -150699,6 +150684,7 @@ ${lanes.join("\n")}
150699
150684
  }
150700
150685
  return displayParts;
150701
150686
  case 347 /* JSDocTypeTag */:
150687
+ case 353 /* JSDocSatisfiesTag */:
150702
150688
  return withNode(tag.typeExpression);
150703
150689
  case 349 /* JSDocTypedefTag */:
150704
150690
  case 341 /* JSDocCallbackTag */:
@@ -150988,6 +150974,7 @@ ${lanes.join("\n")}
150988
150974
  "readonly",
150989
150975
  "requires",
150990
150976
  "returns",
150977
+ "satisfies",
150991
150978
  "see",
150992
150979
  "since",
150993
150980
  "static",
@@ -156302,7 +156289,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
156302
156289
  let ignoreReturns = false;
156303
156290
  const statements = factory.createNodeArray(isBlock(body) ? body.statements.slice(0) : [isStatement(body) ? body : factory.createReturnStatement(skipParentheses(body))]);
156304
156291
  if (hasWritesOrVariableDeclarations || substitutions.size) {
156305
- const rewrittenStatements = visitNodes2(statements, visitor, isStatement).slice();
156292
+ const rewrittenStatements = visitNodes2(statements, visitor).slice();
156306
156293
  if (hasWritesOrVariableDeclarations && !hasReturn2 && isStatement(body)) {
156307
156294
  const assignments = getPropertyAssignmentsForWritesAndVariableDeclarations(exposedVariableDeclarations, writes);
156308
156295
  if (assignments.length === 1) {
@@ -156330,7 +156317,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
156330
156317
  if (!returnValueProperty) {
156331
156318
  returnValueProperty = "__return";
156332
156319
  }
156333
- assignments.unshift(factory.createPropertyAssignment(returnValueProperty, visitNode(node.expression, visitor, isExpression)));
156320
+ assignments.unshift(factory.createPropertyAssignment(returnValueProperty, visitNode(node.expression, visitor)));
156334
156321
  }
156335
156322
  if (assignments.length === 1) {
156336
156323
  return factory.createReturnStatement(assignments[0].name);
@@ -158898,7 +158885,6 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
158898
158885
  if (!visited) {
158899
158886
  return visited;
158900
158887
  }
158901
- Debug.assert(nodes);
158902
158888
  const nodeArray = visited === nodes ? factory.createNodeArray(visited.slice(0)) : visited;
158903
158889
  setTextRangePosEnd(nodeArray, getPos2(nodes), getEnd(nodes));
158904
158890
  return nodeArray;
@@ -171566,7 +171552,6 @@ ${json}${newLine}`;
171566
171552
  constructor(opts) {
171567
171553
  this.changeSeq = 0;
171568
171554
  this.handlers = new Map(Object.entries({
171569
- // TODO(jakebailey): correctly type the handlers
171570
171555
  [CommandNames.Status]: () => {
171571
171556
  const response = { version };
171572
171557
  return this.requiredResponse(response);
@@ -176102,6 +176087,8 @@ ${e.message}`;
176102
176087
  getJSDocReturnTag: () => getJSDocReturnTag,
176103
176088
  getJSDocReturnType: () => getJSDocReturnType,
176104
176089
  getJSDocRoot: () => getJSDocRoot,
176090
+ getJSDocSatisfiesExpressionType: () => getJSDocSatisfiesExpressionType,
176091
+ getJSDocSatisfiesTag: () => getJSDocSatisfiesTag,
176105
176092
  getJSDocTags: () => getJSDocTags,
176106
176093
  getJSDocTagsNoCache: () => getJSDocTagsNoCache,
176107
176094
  getJSDocTemplateTag: () => getJSDocTemplateTag,
@@ -176441,7 +176428,6 @@ ${e.message}`;
176441
176428
  isArgumentExpressionOfElementAccess: () => isArgumentExpressionOfElementAccess,
176442
176429
  isArray: () => isArray,
176443
176430
  isArrayBindingElement: () => isArrayBindingElement,
176444
- isArrayBindingOrAssignmentElement: () => isArrayBindingOrAssignmentElement,
176445
176431
  isArrayBindingOrAssignmentPattern: () => isArrayBindingOrAssignmentPattern,
176446
176432
  isArrayBindingPattern: () => isArrayBindingPattern,
176447
176433
  isArrayLiteralExpression: () => isArrayLiteralExpression,
@@ -176474,7 +176460,6 @@ ${e.message}`;
176474
176460
  isBindableStaticNameExpression: () => isBindableStaticNameExpression,
176475
176461
  isBindingElement: () => isBindingElement,
176476
176462
  isBindingName: () => isBindingName,
176477
- isBindingOrAssignmentElement: () => isBindingOrAssignmentElement,
176478
176463
  isBindingOrAssignmentPattern: () => isBindingOrAssignmentPattern,
176479
176464
  isBindingPattern: () => isBindingPattern,
176480
176465
  isBlock: () => isBlock,
@@ -176681,7 +176666,6 @@ ${e.message}`;
176681
176666
  isInferTypeNode: () => isInferTypeNode,
176682
176667
  isInfinityOrNaNString: () => isInfinityOrNaNString,
176683
176668
  isInitializedProperty: () => isInitializedProperty,
176684
- isInitializedVariable: () => isInitializedVariable,
176685
176669
  isInsideJsxElement: () => isInsideJsxElement,
176686
176670
  isInsideJsxElementOrAttribute: () => isInsideJsxElementOrAttribute,
176687
176671
  isInsideNodeModules: () => isInsideNodeModules,
@@ -176731,6 +176715,8 @@ ${e.message}`;
176731
176715
  isJSDocPublicTag: () => isJSDocPublicTag,
176732
176716
  isJSDocReadonlyTag: () => isJSDocReadonlyTag,
176733
176717
  isJSDocReturnTag: () => isJSDocReturnTag,
176718
+ isJSDocSatisfiesExpression: () => isJSDocSatisfiesExpression,
176719
+ isJSDocSatisfiesTag: () => isJSDocSatisfiesTag,
176734
176720
  isJSDocSeeTag: () => isJSDocSeeTag,
176735
176721
  isJSDocSignature: () => isJSDocSignature,
176736
176722
  isJSDocTag: () => isJSDocTag,
@@ -176786,12 +176772,13 @@ ${e.message}`;
176786
176772
  isLiteralLikeElementAccess: () => isLiteralLikeElementAccess,
176787
176773
  isLiteralNameOfPropertyDeclarationOrIndexAccess: () => isLiteralNameOfPropertyDeclarationOrIndexAccess,
176788
176774
  isLiteralTypeLikeExpression: () => isLiteralTypeLikeExpression,
176789
- isLiteralTypeLiteral: () => isLiteralTypeLiteral,
176790
176775
  isLiteralTypeNode: () => isLiteralTypeNode,
176791
176776
  isLocalName: () => isLocalName,
176792
176777
  isLogicalOperator: () => isLogicalOperator,
176793
176778
  isLogicalOrCoalescingAssignmentExpression: () => isLogicalOrCoalescingAssignmentExpression,
176794
176779
  isLogicalOrCoalescingAssignmentOperator: () => isLogicalOrCoalescingAssignmentOperator,
176780
+ isLogicalOrCoalescingBinaryExpression: () => isLogicalOrCoalescingBinaryExpression,
176781
+ isLogicalOrCoalescingBinaryOperator: () => isLogicalOrCoalescingBinaryOperator,
176795
176782
  isMappedTypeNode: () => isMappedTypeNode,
176796
176783
  isMemberName: () => isMemberName,
176797
176784
  isMergeDeclarationMarker: () => isMergeDeclarationMarker,
@@ -177477,6 +177464,7 @@ ${e.message}`;
177477
177464
  tryGetDirectories: () => tryGetDirectories,
177478
177465
  tryGetExtensionFromPath: () => tryGetExtensionFromPath2,
177479
177466
  tryGetImportFromModuleSpecifier: () => tryGetImportFromModuleSpecifier,
177467
+ tryGetJSDocSatisfiesTypeNode: () => tryGetJSDocSatisfiesTypeNode,
177480
177468
  tryGetModuleNameFromFile: () => tryGetModuleNameFromFile,
177481
177469
  tryGetModuleSpecifierFromDeclaration: () => tryGetModuleSpecifierFromDeclaration,
177482
177470
  tryGetNativePerformanceHooks: () => tryGetNativePerformanceHooks,
@@ -178756,6 +178744,8 @@ ${e.message}`;
178756
178744
  getJSDocReturnTag: () => getJSDocReturnTag,
178757
178745
  getJSDocReturnType: () => getJSDocReturnType,
178758
178746
  getJSDocRoot: () => getJSDocRoot,
178747
+ getJSDocSatisfiesExpressionType: () => getJSDocSatisfiesExpressionType,
178748
+ getJSDocSatisfiesTag: () => getJSDocSatisfiesTag,
178759
178749
  getJSDocTags: () => getJSDocTags,
178760
178750
  getJSDocTagsNoCache: () => getJSDocTagsNoCache,
178761
178751
  getJSDocTemplateTag: () => getJSDocTemplateTag,
@@ -179095,7 +179085,6 @@ ${e.message}`;
179095
179085
  isArgumentExpressionOfElementAccess: () => isArgumentExpressionOfElementAccess,
179096
179086
  isArray: () => isArray,
179097
179087
  isArrayBindingElement: () => isArrayBindingElement,
179098
- isArrayBindingOrAssignmentElement: () => isArrayBindingOrAssignmentElement,
179099
179088
  isArrayBindingOrAssignmentPattern: () => isArrayBindingOrAssignmentPattern,
179100
179089
  isArrayBindingPattern: () => isArrayBindingPattern,
179101
179090
  isArrayLiteralExpression: () => isArrayLiteralExpression,
@@ -179128,7 +179117,6 @@ ${e.message}`;
179128
179117
  isBindableStaticNameExpression: () => isBindableStaticNameExpression,
179129
179118
  isBindingElement: () => isBindingElement,
179130
179119
  isBindingName: () => isBindingName,
179131
- isBindingOrAssignmentElement: () => isBindingOrAssignmentElement,
179132
179120
  isBindingOrAssignmentPattern: () => isBindingOrAssignmentPattern,
179133
179121
  isBindingPattern: () => isBindingPattern,
179134
179122
  isBlock: () => isBlock,
@@ -179335,7 +179323,6 @@ ${e.message}`;
179335
179323
  isInferTypeNode: () => isInferTypeNode,
179336
179324
  isInfinityOrNaNString: () => isInfinityOrNaNString,
179337
179325
  isInitializedProperty: () => isInitializedProperty,
179338
- isInitializedVariable: () => isInitializedVariable,
179339
179326
  isInsideJsxElement: () => isInsideJsxElement,
179340
179327
  isInsideJsxElementOrAttribute: () => isInsideJsxElementOrAttribute,
179341
179328
  isInsideNodeModules: () => isInsideNodeModules,
@@ -179385,6 +179372,8 @@ ${e.message}`;
179385
179372
  isJSDocPublicTag: () => isJSDocPublicTag,
179386
179373
  isJSDocReadonlyTag: () => isJSDocReadonlyTag,
179387
179374
  isJSDocReturnTag: () => isJSDocReturnTag,
179375
+ isJSDocSatisfiesExpression: () => isJSDocSatisfiesExpression,
179376
+ isJSDocSatisfiesTag: () => isJSDocSatisfiesTag,
179388
179377
  isJSDocSeeTag: () => isJSDocSeeTag,
179389
179378
  isJSDocSignature: () => isJSDocSignature,
179390
179379
  isJSDocTag: () => isJSDocTag,
@@ -179440,12 +179429,13 @@ ${e.message}`;
179440
179429
  isLiteralLikeElementAccess: () => isLiteralLikeElementAccess,
179441
179430
  isLiteralNameOfPropertyDeclarationOrIndexAccess: () => isLiteralNameOfPropertyDeclarationOrIndexAccess,
179442
179431
  isLiteralTypeLikeExpression: () => isLiteralTypeLikeExpression,
179443
- isLiteralTypeLiteral: () => isLiteralTypeLiteral,
179444
179432
  isLiteralTypeNode: () => isLiteralTypeNode,
179445
179433
  isLocalName: () => isLocalName,
179446
179434
  isLogicalOperator: () => isLogicalOperator,
179447
179435
  isLogicalOrCoalescingAssignmentExpression: () => isLogicalOrCoalescingAssignmentExpression,
179448
179436
  isLogicalOrCoalescingAssignmentOperator: () => isLogicalOrCoalescingAssignmentOperator,
179437
+ isLogicalOrCoalescingBinaryExpression: () => isLogicalOrCoalescingBinaryExpression,
179438
+ isLogicalOrCoalescingBinaryOperator: () => isLogicalOrCoalescingBinaryOperator,
179449
179439
  isMappedTypeNode: () => isMappedTypeNode,
179450
179440
  isMemberName: () => isMemberName,
179451
179441
  isMergeDeclarationMarker: () => isMergeDeclarationMarker,
@@ -180131,6 +180121,7 @@ ${e.message}`;
180131
180121
  tryGetDirectories: () => tryGetDirectories,
180132
180122
  tryGetExtensionFromPath: () => tryGetExtensionFromPath2,
180133
180123
  tryGetImportFromModuleSpecifier: () => tryGetImportFromModuleSpecifier,
180124
+ tryGetJSDocSatisfiesTypeNode: () => tryGetJSDocSatisfiesTypeNode,
180134
180125
  tryGetModuleNameFromFile: () => tryGetModuleNameFromFile,
180135
180126
  tryGetModuleSpecifierFromDeclaration: () => tryGetModuleSpecifierFromDeclaration,
180136
180127
  tryGetNativePerformanceHooks: () => tryGetNativePerformanceHooks,