typescript 4.9.0-dev.20220816 → 4.9.0-dev.20220819

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.
@@ -99,7 +99,7 @@ var ts;
99
99
  // The following is baselined as a literal template type without intervention
100
100
  /** The version of the TypeScript compiler release */
101
101
  // eslint-disable-next-line @typescript-eslint/no-inferrable-types
102
- ts.version = ts.versionMajorMinor + ".0-dev.20220816";
102
+ ts.version = ts.versionMajorMinor + ".0-dev.20220819";
103
103
  /* @internal */
104
104
  var Comparison;
105
105
  (function (Comparison) {
@@ -43102,10 +43102,12 @@ var ts;
43102
43102
  if (resolved) {
43103
43103
  var fileName = resolved.fileName, packageId = resolved.packageId;
43104
43104
  var resolvedFileName = options.preserveSymlinks ? fileName : realPath(fileName, host, traceEnabled);
43105
+ var pathsAreEqual = arePathsEqual(fileName, resolvedFileName, host);
43105
43106
  resolvedTypeReferenceDirective = {
43106
43107
  primary: primary,
43107
- resolvedFileName: resolvedFileName,
43108
- originalPath: arePathsEqual(fileName, resolvedFileName, host) ? undefined : fileName,
43108
+ // If the fileName and realpath are differing only in casing prefer fileName so that we can issue correct errors for casing under forceConsistentCasingInFileNames
43109
+ resolvedFileName: pathsAreEqual ? fileName : resolvedFileName,
43110
+ originalPath: pathsAreEqual ? undefined : fileName,
43109
43111
  packageId: packageId,
43110
43112
  isExternalLibraryImport: pathContainsNodeModules(fileName),
43111
43113
  };
@@ -43890,8 +43892,10 @@ var ts;
43890
43892
  var resolvedValue = resolved_1.value;
43891
43893
  if (!compilerOptions.preserveSymlinks && resolvedValue && !resolvedValue.originalPath) {
43892
43894
  var path = realPath(resolvedValue.path, host, traceEnabled);
43893
- var originalPath = arePathsEqual(path, resolvedValue.path, host) ? undefined : resolvedValue.path;
43894
- resolvedValue = __assign(__assign({}, resolvedValue), { path: path, originalPath: originalPath });
43895
+ var pathsAreEqual = arePathsEqual(path, resolvedValue.path, host);
43896
+ var originalPath = pathsAreEqual ? undefined : resolvedValue.path;
43897
+ // If the path and realpath are differing only in casing prefer path so that we can issue correct errors for casing under forceConsistentCasingInFileNames
43898
+ resolvedValue = __assign(__assign({}, resolvedValue), { path: pathsAreEqual ? resolvedValue.path : path, originalPath: originalPath });
43895
43899
  }
43896
43900
  // For node_modules lookups, get the real path so that multiple accesses to an `npm link`-ed module do not create duplicate files.
43897
43901
  return { value: resolvedValue && { resolved: resolvedValue, isExternalLibraryImport: true } };
@@ -90406,6 +90410,7 @@ var ts;
90406
90410
  })(ts || (ts = {}));
90407
90411
  var ts;
90408
90412
  (function (ts) {
90413
+ var _a;
90409
90414
  function visitNode(node, visitor, test, lift) {
90410
90415
  if (node === undefined || visitor === undefined) {
90411
90416
  return node;
@@ -90620,12 +90625,10 @@ var ts;
90620
90625
  return updated;
90621
90626
  }
90622
90627
  ts.visitFunctionBody = visitFunctionBody;
90623
- /**
90624
- * Visits an iteration body, adding any block-scoped variables required by the transformation.
90625
- */
90626
- function visitIterationBody(body, visitor, context) {
90628
+ function visitIterationBody(body, visitor, context, nodeVisitor) {
90629
+ if (nodeVisitor === void 0) { nodeVisitor = visitNode; }
90627
90630
  context.startBlockScope();
90628
- var updated = visitNode(body, visitor, ts.isStatement, context.factory.liftToBlock);
90631
+ var updated = nodeVisitor(body, visitor, ts.isStatement, context.factory.liftToBlock);
90629
90632
  var declarations = context.endBlockScope();
90630
90633
  if (ts.some(declarations)) {
90631
90634
  if (ts.isBlock(updated)) {
@@ -90644,456 +90647,443 @@ var ts;
90644
90647
  if (node === undefined) {
90645
90648
  return undefined;
90646
90649
  }
90647
- var kind = node.kind;
90648
- // No need to visit nodes with no children.
90649
- if ((kind > 0 /* FirstToken */ && kind <= 160 /* LastToken */) || kind === 192 /* ThisType */) {
90650
- return node;
90651
- }
90652
- var factory = context.factory;
90653
- switch (kind) {
90654
- // Names
90655
- case 79 /* Identifier */:
90656
- ts.Debug.type(node);
90657
- return factory.updateIdentifier(node, nodesVisitor(node.typeArguments, visitor, ts.isTypeNodeOrTypeParameterDeclaration));
90658
- case 161 /* QualifiedName */:
90659
- ts.Debug.type(node);
90660
- return factory.updateQualifiedName(node, nodeVisitor(node.left, visitor, ts.isEntityName), nodeVisitor(node.right, visitor, ts.isIdentifier));
90661
- case 162 /* ComputedPropertyName */:
90662
- ts.Debug.type(node);
90663
- return factory.updateComputedPropertyName(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90664
- // Signature elements
90665
- case 163 /* TypeParameter */:
90666
- ts.Debug.type(node);
90667
- return factory.updateTypeParameterDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.constraint, visitor, ts.isTypeNode), nodeVisitor(node.default, visitor, ts.isTypeNode));
90668
- case 164 /* Parameter */:
90669
- ts.Debug.type(node);
90670
- return factory.updateParameterDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.dotDotDotToken, tokenVisitor, ts.isDotDotDotToken), nodeVisitor(node.name, visitor, ts.isBindingName), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.initializer, visitor, ts.isExpression));
90671
- case 165 /* Decorator */:
90672
- ts.Debug.type(node);
90673
- return factory.updateDecorator(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90674
- // Type elements
90675
- case 166 /* PropertySignature */:
90676
- ts.Debug.type(node);
90677
- return factory.updatePropertySignature(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.questionToken, tokenVisitor, ts.isToken), nodeVisitor(node.type, visitor, ts.isTypeNode));
90678
- case 167 /* PropertyDeclaration */:
90679
- ts.Debug.type(node);
90680
- return factory.updatePropertyDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isPropertyName),
90681
- // QuestionToken and ExclamationToken is uniqued in Property Declaration and the signature of 'updateProperty' is that too
90682
- nodeVisitor(node.questionToken || node.exclamationToken, tokenVisitor, ts.isQuestionOrExclamationToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.initializer, visitor, ts.isExpression));
90683
- case 168 /* MethodSignature */:
90684
- ts.Debug.type(node);
90685
- return factory.updateMethodSignature(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90686
- case 169 /* MethodDeclaration */:
90687
- ts.Debug.type(node);
90688
- return factory.updateMethodDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor));
90689
- case 171 /* Constructor */:
90690
- ts.Debug.type(node);
90691
- return factory.updateConstructorDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitFunctionBody(node.body, visitor, context, nodeVisitor));
90692
- case 172 /* GetAccessor */:
90693
- ts.Debug.type(node);
90694
- return factory.updateGetAccessorDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isPropertyName), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor));
90695
- case 173 /* SetAccessor */:
90696
- ts.Debug.type(node);
90697
- return factory.updateSetAccessorDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isPropertyName), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitFunctionBody(node.body, visitor, context, nodeVisitor));
90698
- case 170 /* ClassStaticBlockDeclaration */:
90699
- ts.Debug.type(node);
90700
- context.startLexicalEnvironment();
90701
- context.suspendLexicalEnvironment();
90702
- return factory.updateClassStaticBlockDeclaration(node, visitFunctionBody(node.body, visitor, context, nodeVisitor));
90703
- case 174 /* CallSignature */:
90704
- ts.Debug.type(node);
90705
- return factory.updateCallSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90706
- case 175 /* ConstructSignature */:
90707
- ts.Debug.type(node);
90708
- return factory.updateConstructSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90709
- case 176 /* IndexSignature */:
90710
- ts.Debug.type(node);
90711
- return factory.updateIndexSignature(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90712
- // Types
90713
- case 177 /* TypePredicate */:
90714
- ts.Debug.type(node);
90715
- return factory.updateTypePredicateNode(node, nodeVisitor(node.assertsModifier, visitor, ts.isAssertsKeyword), nodeVisitor(node.parameterName, visitor, ts.isIdentifierOrThisTypeNode), nodeVisitor(node.type, visitor, ts.isTypeNode));
90716
- case 178 /* TypeReference */:
90717
- ts.Debug.type(node);
90718
- return factory.updateTypeReferenceNode(node, nodeVisitor(node.typeName, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode));
90719
- case 179 /* FunctionType */:
90720
- ts.Debug.type(node);
90721
- return factory.updateFunctionTypeNode(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90722
- case 180 /* ConstructorType */:
90723
- ts.Debug.type(node);
90724
- return factory.updateConstructorTypeNode(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90725
- case 181 /* TypeQuery */:
90726
- ts.Debug.type(node);
90727
- return factory.updateTypeQueryNode(node, nodeVisitor(node.exprName, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode));
90728
- case 182 /* TypeLiteral */:
90729
- ts.Debug.type(node);
90730
- return factory.updateTypeLiteralNode(node, nodesVisitor(node.members, visitor, ts.isTypeElement));
90731
- case 183 /* ArrayType */:
90732
- ts.Debug.type(node);
90733
- return factory.updateArrayTypeNode(node, nodeVisitor(node.elementType, visitor, ts.isTypeNode));
90734
- case 184 /* TupleType */:
90735
- ts.Debug.type(node);
90736
- return factory.updateTupleTypeNode(node, nodesVisitor(node.elements, visitor, ts.isTypeNode));
90737
- case 185 /* OptionalType */:
90738
- ts.Debug.type(node);
90739
- return factory.updateOptionalTypeNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90740
- case 186 /* RestType */:
90741
- ts.Debug.type(node);
90742
- return factory.updateRestTypeNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90743
- case 187 /* UnionType */:
90744
- ts.Debug.type(node);
90745
- return factory.updateUnionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode));
90746
- case 188 /* IntersectionType */:
90747
- ts.Debug.type(node);
90748
- return factory.updateIntersectionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode));
90749
- case 189 /* ConditionalType */:
90750
- ts.Debug.type(node);
90751
- return factory.updateConditionalTypeNode(node, nodeVisitor(node.checkType, visitor, ts.isTypeNode), nodeVisitor(node.extendsType, visitor, ts.isTypeNode), nodeVisitor(node.trueType, visitor, ts.isTypeNode), nodeVisitor(node.falseType, visitor, ts.isTypeNode));
90752
- case 190 /* InferType */:
90753
- ts.Debug.type(node);
90754
- return factory.updateInferTypeNode(node, nodeVisitor(node.typeParameter, visitor, ts.isTypeParameterDeclaration));
90755
- case 200 /* ImportType */:
90756
- ts.Debug.type(node);
90757
- return factory.updateImportTypeNode(node, nodeVisitor(node.argument, visitor, ts.isTypeNode), nodeVisitor(node.assertions, visitor, ts.isNode), nodeVisitor(node.qualifier, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), node.isTypeOf);
90758
- case 295 /* ImportTypeAssertionContainer */:
90759
- ts.Debug.type(node);
90760
- return factory.updateImportTypeAssertionContainer(node, nodeVisitor(node.assertClause, visitor, ts.isNode), node.multiLine);
90761
- case 197 /* NamedTupleMember */:
90762
- ts.Debug.type(node);
90763
- return factory.updateNamedTupleMember(node, nodeVisitor(node.dotDotDotToken, tokenVisitor, ts.isDotDotDotToken), nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodeVisitor(node.type, visitor, ts.isTypeNode));
90764
- case 191 /* ParenthesizedType */:
90765
- ts.Debug.type(node);
90766
- return factory.updateParenthesizedType(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90767
- case 193 /* TypeOperator */:
90768
- ts.Debug.type(node);
90769
- return factory.updateTypeOperatorNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90770
- case 194 /* IndexedAccessType */:
90771
- ts.Debug.type(node);
90772
- return factory.updateIndexedAccessTypeNode(node, nodeVisitor(node.objectType, visitor, ts.isTypeNode), nodeVisitor(node.indexType, visitor, ts.isTypeNode));
90773
- case 195 /* MappedType */:
90774
- ts.Debug.type(node);
90775
- return factory.updateMappedTypeNode(node, nodeVisitor(node.readonlyToken, tokenVisitor, ts.isReadonlyKeywordOrPlusOrMinusToken), nodeVisitor(node.typeParameter, visitor, ts.isTypeParameterDeclaration), nodeVisitor(node.nameType, visitor, ts.isTypeNode), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionOrPlusOrMinusToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodesVisitor(node.members, visitor, ts.isTypeElement));
90776
- case 196 /* LiteralType */:
90777
- ts.Debug.type(node);
90778
- return factory.updateLiteralTypeNode(node, nodeVisitor(node.literal, visitor, ts.isExpression));
90779
- case 198 /* TemplateLiteralType */:
90780
- ts.Debug.type(node);
90781
- return factory.updateTemplateLiteralType(node, nodeVisitor(node.head, visitor, ts.isTemplateHead), nodesVisitor(node.templateSpans, visitor, ts.isTemplateLiteralTypeSpan));
90782
- case 199 /* TemplateLiteralTypeSpan */:
90783
- ts.Debug.type(node);
90784
- return factory.updateTemplateLiteralTypeSpan(node, nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.literal, visitor, ts.isTemplateMiddleOrTemplateTail));
90785
- // Binding patterns
90786
- case 201 /* ObjectBindingPattern */:
90787
- ts.Debug.type(node);
90788
- return factory.updateObjectBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isBindingElement));
90789
- case 202 /* ArrayBindingPattern */:
90790
- ts.Debug.type(node);
90791
- return factory.updateArrayBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isArrayBindingElement));
90792
- case 203 /* BindingElement */:
90793
- ts.Debug.type(node);
90794
- return factory.updateBindingElement(node, nodeVisitor(node.dotDotDotToken, tokenVisitor, ts.isDotDotDotToken), nodeVisitor(node.propertyName, visitor, ts.isPropertyName), nodeVisitor(node.name, visitor, ts.isBindingName), nodeVisitor(node.initializer, visitor, ts.isExpression));
90795
- // Expression
90796
- case 204 /* ArrayLiteralExpression */:
90797
- ts.Debug.type(node);
90798
- return factory.updateArrayLiteralExpression(node, nodesVisitor(node.elements, visitor, ts.isExpression));
90799
- case 205 /* ObjectLiteralExpression */:
90800
- ts.Debug.type(node);
90801
- return factory.updateObjectLiteralExpression(node, nodesVisitor(node.properties, visitor, ts.isObjectLiteralElementLike));
90802
- case 206 /* PropertyAccessExpression */:
90803
- if (node.flags & 32 /* OptionalChain */) {
90804
- ts.Debug.type(node);
90805
- return factory.updatePropertyAccessChain(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.questionDotToken, tokenVisitor, ts.isQuestionDotToken), nodeVisitor(node.name, visitor, ts.isMemberName));
90806
- }
90807
- ts.Debug.type(node);
90808
- return factory.updatePropertyAccessExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.name, visitor, ts.isMemberName));
90809
- case 207 /* ElementAccessExpression */:
90810
- if (node.flags & 32 /* OptionalChain */) {
90811
- ts.Debug.type(node);
90812
- return factory.updateElementAccessChain(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.questionDotToken, tokenVisitor, ts.isQuestionDotToken), nodeVisitor(node.argumentExpression, visitor, ts.isExpression));
90813
- }
90814
- ts.Debug.type(node);
90815
- return factory.updateElementAccessExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.argumentExpression, visitor, ts.isExpression));
90816
- case 208 /* CallExpression */:
90817
- if (node.flags & 32 /* OptionalChain */) {
90818
- ts.Debug.type(node);
90819
- return factory.updateCallChain(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.questionDotToken, tokenVisitor, ts.isQuestionDotToken), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression));
90820
- }
90821
- ts.Debug.type(node);
90822
- return factory.updateCallExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression));
90823
- case 209 /* NewExpression */:
90824
- ts.Debug.type(node);
90825
- return factory.updateNewExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression));
90826
- case 210 /* TaggedTemplateExpression */:
90827
- ts.Debug.type(node);
90828
- return factory.updateTaggedTemplateExpression(node, nodeVisitor(node.tag, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.template, visitor, ts.isTemplateLiteral));
90829
- case 211 /* TypeAssertionExpression */:
90830
- ts.Debug.type(node);
90831
- return factory.updateTypeAssertion(node, nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.expression, visitor, ts.isExpression));
90832
- case 212 /* ParenthesizedExpression */:
90833
- ts.Debug.type(node);
90834
- return factory.updateParenthesizedExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90835
- case 213 /* FunctionExpression */:
90836
- ts.Debug.type(node);
90837
- return factory.updateFunctionExpression(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor));
90838
- case 214 /* ArrowFunction */:
90839
- ts.Debug.type(node);
90840
- return factory.updateArrowFunction(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.equalsGreaterThanToken, tokenVisitor, ts.isEqualsGreaterThanToken), visitFunctionBody(node.body, visitor, context, nodeVisitor));
90841
- case 215 /* DeleteExpression */:
90842
- ts.Debug.type(node);
90843
- return factory.updateDeleteExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90844
- case 216 /* TypeOfExpression */:
90845
- ts.Debug.type(node);
90846
- return factory.updateTypeOfExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90847
- case 217 /* VoidExpression */:
90848
- ts.Debug.type(node);
90849
- return factory.updateVoidExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90850
- case 218 /* AwaitExpression */:
90851
- ts.Debug.type(node);
90852
- return factory.updateAwaitExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90853
- case 219 /* PrefixUnaryExpression */:
90854
- ts.Debug.type(node);
90855
- return factory.updatePrefixUnaryExpression(node, nodeVisitor(node.operand, visitor, ts.isExpression));
90856
- case 220 /* PostfixUnaryExpression */:
90857
- ts.Debug.type(node);
90858
- return factory.updatePostfixUnaryExpression(node, nodeVisitor(node.operand, visitor, ts.isExpression));
90859
- case 221 /* BinaryExpression */:
90860
- ts.Debug.type(node);
90861
- return factory.updateBinaryExpression(node, nodeVisitor(node.left, visitor, ts.isExpression), nodeVisitor(node.operatorToken, tokenVisitor, ts.isBinaryOperatorToken), nodeVisitor(node.right, visitor, ts.isExpression));
90862
- case 222 /* ConditionalExpression */:
90863
- ts.Debug.type(node);
90864
- return factory.updateConditionalExpression(node, nodeVisitor(node.condition, visitor, ts.isExpression), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodeVisitor(node.whenTrue, visitor, ts.isExpression), nodeVisitor(node.colonToken, tokenVisitor, ts.isColonToken), nodeVisitor(node.whenFalse, visitor, ts.isExpression));
90865
- case 223 /* TemplateExpression */:
90866
- ts.Debug.type(node);
90867
- return factory.updateTemplateExpression(node, nodeVisitor(node.head, visitor, ts.isTemplateHead), nodesVisitor(node.templateSpans, visitor, ts.isTemplateSpan));
90868
- case 224 /* YieldExpression */:
90869
- ts.Debug.type(node);
90870
- return factory.updateYieldExpression(node, nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.expression, visitor, ts.isExpression));
90871
- case 225 /* SpreadElement */:
90872
- ts.Debug.type(node);
90873
- return factory.updateSpreadElement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90874
- case 226 /* ClassExpression */:
90875
- ts.Debug.type(node);
90876
- return factory.updateClassExpression(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isClassElement));
90877
- case 228 /* ExpressionWithTypeArguments */:
90878
- ts.Debug.type(node);
90879
- return factory.updateExpressionWithTypeArguments(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode));
90880
- case 229 /* AsExpression */:
90881
- ts.Debug.type(node);
90882
- return factory.updateAsExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.type, visitor, ts.isTypeNode));
90883
- case 230 /* NonNullExpression */:
90884
- if (node.flags & 32 /* OptionalChain */) {
90885
- ts.Debug.type(node);
90886
- return factory.updateNonNullChain(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90887
- }
90888
- ts.Debug.type(node);
90889
- return factory.updateNonNullExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90890
- case 231 /* MetaProperty */:
90891
- ts.Debug.type(node);
90892
- return factory.updateMetaProperty(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
90893
- // Misc
90894
- case 233 /* TemplateSpan */:
90895
- ts.Debug.type(node);
90896
- return factory.updateTemplateSpan(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.literal, visitor, ts.isTemplateMiddleOrTemplateTail));
90897
- // Element
90898
- case 235 /* Block */:
90899
- ts.Debug.type(node);
90900
- return factory.updateBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement));
90901
- case 237 /* VariableStatement */:
90902
- ts.Debug.type(node);
90903
- return factory.updateVariableStatement(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.declarationList, visitor, ts.isVariableDeclarationList));
90904
- case 238 /* ExpressionStatement */:
90905
- ts.Debug.type(node);
90906
- return factory.updateExpressionStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90907
- case 239 /* IfStatement */:
90908
- ts.Debug.type(node);
90909
- return factory.updateIfStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.thenStatement, visitor, ts.isStatement, factory.liftToBlock), nodeVisitor(node.elseStatement, visitor, ts.isStatement, factory.liftToBlock));
90910
- case 240 /* DoStatement */:
90911
- ts.Debug.type(node);
90912
- return factory.updateDoStatement(node, visitIterationBody(node.statement, visitor, context), nodeVisitor(node.expression, visitor, ts.isExpression));
90913
- case 241 /* WhileStatement */:
90914
- ts.Debug.type(node);
90915
- return factory.updateWhileStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context));
90916
- case 242 /* ForStatement */:
90917
- ts.Debug.type(node);
90918
- return factory.updateForStatement(node, nodeVisitor(node.initializer, visitor, ts.isForInitializer), nodeVisitor(node.condition, visitor, ts.isExpression), nodeVisitor(node.incrementor, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context));
90919
- case 243 /* ForInStatement */:
90920
- ts.Debug.type(node);
90921
- return factory.updateForInStatement(node, nodeVisitor(node.initializer, visitor, ts.isForInitializer), nodeVisitor(node.expression, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context));
90922
- case 244 /* ForOfStatement */:
90923
- ts.Debug.type(node);
90924
- return factory.updateForOfStatement(node, nodeVisitor(node.awaitModifier, tokenVisitor, ts.isAwaitKeyword), nodeVisitor(node.initializer, visitor, ts.isForInitializer), nodeVisitor(node.expression, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context));
90925
- case 245 /* ContinueStatement */:
90926
- ts.Debug.type(node);
90927
- return factory.updateContinueStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier));
90928
- case 246 /* BreakStatement */:
90929
- ts.Debug.type(node);
90930
- return factory.updateBreakStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier));
90931
- case 247 /* ReturnStatement */:
90932
- ts.Debug.type(node);
90933
- return factory.updateReturnStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90934
- case 248 /* WithStatement */:
90935
- ts.Debug.type(node);
90936
- return factory.updateWithStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.statement, visitor, ts.isStatement, factory.liftToBlock));
90937
- case 249 /* SwitchStatement */:
90938
- ts.Debug.type(node);
90939
- return factory.updateSwitchStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.caseBlock, visitor, ts.isCaseBlock));
90940
- case 250 /* LabeledStatement */:
90941
- ts.Debug.type(node);
90942
- return factory.updateLabeledStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier), nodeVisitor(node.statement, visitor, ts.isStatement, factory.liftToBlock));
90943
- case 251 /* ThrowStatement */:
90944
- ts.Debug.type(node);
90945
- return factory.updateThrowStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90946
- case 252 /* TryStatement */:
90947
- ts.Debug.type(node);
90948
- return factory.updateTryStatement(node, nodeVisitor(node.tryBlock, visitor, ts.isBlock), nodeVisitor(node.catchClause, visitor, ts.isCatchClause), nodeVisitor(node.finallyBlock, visitor, ts.isBlock));
90949
- case 254 /* VariableDeclaration */:
90950
- ts.Debug.type(node);
90951
- return factory.updateVariableDeclaration(node, nodeVisitor(node.name, visitor, ts.isBindingName), nodeVisitor(node.exclamationToken, tokenVisitor, ts.isExclamationToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.initializer, visitor, ts.isExpression));
90952
- case 255 /* VariableDeclarationList */:
90953
- ts.Debug.type(node);
90954
- return factory.updateVariableDeclarationList(node, nodesVisitor(node.declarations, visitor, ts.isVariableDeclaration));
90955
- case 256 /* FunctionDeclaration */:
90956
- ts.Debug.type(node);
90957
- return factory.updateFunctionDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor));
90958
- case 257 /* ClassDeclaration */:
90959
- ts.Debug.type(node);
90960
- return factory.updateClassDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isClassElement));
90961
- case 258 /* InterfaceDeclaration */:
90962
- ts.Debug.type(node);
90963
- return factory.updateInterfaceDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isTypeElement));
90964
- case 259 /* TypeAliasDeclaration */:
90965
- ts.Debug.type(node);
90966
- return factory.updateTypeAliasDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90967
- case 260 /* EnumDeclaration */:
90968
- ts.Debug.type(node);
90969
- return factory.updateEnumDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.members, visitor, ts.isEnumMember));
90970
- case 261 /* ModuleDeclaration */:
90971
- ts.Debug.type(node);
90972
- return factory.updateModuleDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isModuleName), nodeVisitor(node.body, visitor, ts.isModuleBody));
90973
- case 262 /* ModuleBlock */:
90974
- ts.Debug.type(node);
90975
- return factory.updateModuleBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement));
90976
- case 263 /* CaseBlock */:
90977
- ts.Debug.type(node);
90978
- return factory.updateCaseBlock(node, nodesVisitor(node.clauses, visitor, ts.isCaseOrDefaultClause));
90979
- case 264 /* NamespaceExportDeclaration */:
90980
- ts.Debug.type(node);
90981
- return factory.updateNamespaceExportDeclaration(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
90982
- case 265 /* ImportEqualsDeclaration */:
90983
- ts.Debug.type(node);
90984
- return factory.updateImportEqualsDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), node.isTypeOnly, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.moduleReference, visitor, ts.isModuleReference));
90985
- case 266 /* ImportDeclaration */:
90986
- ts.Debug.type(node);
90987
- return factory.updateImportDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.importClause, visitor, ts.isImportClause), nodeVisitor(node.moduleSpecifier, visitor, ts.isExpression), nodeVisitor(node.assertClause, visitor, ts.isAssertClause));
90988
- case 293 /* AssertClause */:
90989
- ts.Debug.type(node);
90990
- return factory.updateAssertClause(node, nodesVisitor(node.elements, visitor, ts.isAssertEntry), node.multiLine);
90991
- case 294 /* AssertEntry */:
90992
- ts.Debug.type(node);
90993
- return factory.updateAssertEntry(node, nodeVisitor(node.name, visitor, ts.isAssertionKey), nodeVisitor(node.value, visitor, ts.isExpressionNode));
90994
- case 267 /* ImportClause */:
90995
- ts.Debug.type(node);
90996
- return factory.updateImportClause(node, node.isTypeOnly, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.namedBindings, visitor, ts.isNamedImportBindings));
90997
- case 268 /* NamespaceImport */:
90998
- ts.Debug.type(node);
90999
- return factory.updateNamespaceImport(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
91000
- case 274 /* NamespaceExport */:
91001
- ts.Debug.type(node);
91002
- return factory.updateNamespaceExport(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
91003
- case 269 /* NamedImports */:
91004
- ts.Debug.type(node);
91005
- return factory.updateNamedImports(node, nodesVisitor(node.elements, visitor, ts.isImportSpecifier));
91006
- case 270 /* ImportSpecifier */:
91007
- ts.Debug.type(node);
91008
- return factory.updateImportSpecifier(node, node.isTypeOnly, nodeVisitor(node.propertyName, visitor, ts.isIdentifier), nodeVisitor(node.name, visitor, ts.isIdentifier));
91009
- case 271 /* ExportAssignment */:
91010
- ts.Debug.type(node);
91011
- return factory.updateExportAssignment(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.expression, visitor, ts.isExpression));
91012
- case 272 /* ExportDeclaration */:
91013
- ts.Debug.type(node);
91014
- return factory.updateExportDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), node.isTypeOnly, nodeVisitor(node.exportClause, visitor, ts.isNamedExportBindings), nodeVisitor(node.moduleSpecifier, visitor, ts.isExpression), nodeVisitor(node.assertClause, visitor, ts.isAssertClause));
91015
- case 273 /* NamedExports */:
91016
- ts.Debug.type(node);
91017
- return factory.updateNamedExports(node, nodesVisitor(node.elements, visitor, ts.isExportSpecifier));
91018
- case 275 /* ExportSpecifier */:
91019
- ts.Debug.type(node);
91020
- return factory.updateExportSpecifier(node, node.isTypeOnly, nodeVisitor(node.propertyName, visitor, ts.isIdentifier), nodeVisitor(node.name, visitor, ts.isIdentifier));
91021
- // Module references
91022
- case 277 /* ExternalModuleReference */:
91023
- ts.Debug.type(node);
91024
- return factory.updateExternalModuleReference(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91025
- // JSX
91026
- case 278 /* JsxElement */:
91027
- ts.Debug.type(node);
91028
- return factory.updateJsxElement(node, nodeVisitor(node.openingElement, visitor, ts.isJsxOpeningElement), nodesVisitor(node.children, visitor, ts.isJsxChild), nodeVisitor(node.closingElement, visitor, ts.isJsxClosingElement));
91029
- case 279 /* JsxSelfClosingElement */:
91030
- ts.Debug.type(node);
91031
- return factory.updateJsxSelfClosingElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.attributes, visitor, ts.isJsxAttributes));
91032
- case 280 /* JsxOpeningElement */:
91033
- ts.Debug.type(node);
91034
- return factory.updateJsxOpeningElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.attributes, visitor, ts.isJsxAttributes));
91035
- case 281 /* JsxClosingElement */:
91036
- ts.Debug.type(node);
91037
- return factory.updateJsxClosingElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression));
91038
- case 282 /* JsxFragment */:
91039
- ts.Debug.type(node);
91040
- return factory.updateJsxFragment(node, nodeVisitor(node.openingFragment, visitor, ts.isJsxOpeningFragment), nodesVisitor(node.children, visitor, ts.isJsxChild), nodeVisitor(node.closingFragment, visitor, ts.isJsxClosingFragment));
91041
- case 285 /* JsxAttribute */:
91042
- ts.Debug.type(node);
91043
- return factory.updateJsxAttribute(node, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.initializer, visitor, ts.isStringLiteralOrJsxExpression));
91044
- case 286 /* JsxAttributes */:
91045
- ts.Debug.type(node);
91046
- return factory.updateJsxAttributes(node, nodesVisitor(node.properties, visitor, ts.isJsxAttributeLike));
91047
- case 287 /* JsxSpreadAttribute */:
91048
- ts.Debug.type(node);
91049
- return factory.updateJsxSpreadAttribute(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91050
- case 288 /* JsxExpression */:
91051
- ts.Debug.type(node);
91052
- return factory.updateJsxExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91053
- // Clauses
91054
- case 289 /* CaseClause */:
91055
- ts.Debug.type(node);
91056
- return factory.updateCaseClause(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.statements, visitor, ts.isStatement));
91057
- case 290 /* DefaultClause */:
91058
- ts.Debug.type(node);
91059
- return factory.updateDefaultClause(node, nodesVisitor(node.statements, visitor, ts.isStatement));
91060
- case 291 /* HeritageClause */:
91061
- ts.Debug.type(node);
91062
- return factory.updateHeritageClause(node, nodesVisitor(node.types, visitor, ts.isExpressionWithTypeArguments));
91063
- case 292 /* CatchClause */:
91064
- ts.Debug.type(node);
91065
- return factory.updateCatchClause(node, nodeVisitor(node.variableDeclaration, visitor, ts.isVariableDeclaration), nodeVisitor(node.block, visitor, ts.isBlock));
91066
- // Property assignments
91067
- case 296 /* PropertyAssignment */:
91068
- ts.Debug.type(node);
91069
- return factory.updatePropertyAssignment(node, nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.initializer, visitor, ts.isExpression));
91070
- case 297 /* ShorthandPropertyAssignment */:
91071
- ts.Debug.type(node);
91072
- return factory.updateShorthandPropertyAssignment(node, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.objectAssignmentInitializer, visitor, ts.isExpression));
91073
- case 298 /* SpreadAssignment */:
91074
- ts.Debug.type(node);
91075
- return factory.updateSpreadAssignment(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91076
- // Enum
91077
- case 299 /* EnumMember */:
91078
- ts.Debug.type(node);
91079
- return factory.updateEnumMember(node, nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.initializer, visitor, ts.isExpression));
91080
- // Top-level nodes
91081
- case 305 /* SourceFile */:
91082
- ts.Debug.type(node);
91083
- return factory.updateSourceFile(node, visitLexicalEnvironment(node.statements, visitor, context));
91084
- // Transformation nodes
91085
- case 350 /* PartiallyEmittedExpression */:
91086
- ts.Debug.type(node);
91087
- return factory.updatePartiallyEmittedExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91088
- case 351 /* CommaListExpression */:
91089
- ts.Debug.type(node);
91090
- return factory.updateCommaListExpression(node, nodesVisitor(node.elements, visitor, ts.isExpression));
91091
- default:
91092
- // No need to visit nodes with no children.
91093
- return node;
91094
- }
90650
+ var fn = visitEachChildTable[node.kind];
90651
+ return fn === undefined ? node : fn(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor);
91095
90652
  }
91096
90653
  ts.visitEachChild = visitEachChild;
90654
+ // NOTE: Before you can add a new method to `visitEachChildTable`, you must first ensure the `Node` subtype you
90655
+ // wish to add is defined in the `HasChildren` union in types.ts.
90656
+ var visitEachChildTable = (_a = {},
90657
+ _a[79 /* Identifier */] = function visitEachChildOfIdentifier(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90658
+ return context.factory.updateIdentifier(node, nodesVisitor(node.typeArguments, visitor, ts.isTypeNodeOrTypeParameterDeclaration));
90659
+ },
90660
+ _a[161 /* QualifiedName */] = function visitEachChildOfQualifiedName(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90661
+ return context.factory.updateQualifiedName(node, nodeVisitor(node.left, visitor, ts.isEntityName), nodeVisitor(node.right, visitor, ts.isIdentifier));
90662
+ },
90663
+ _a[162 /* ComputedPropertyName */] = function visitEachChildOfComputedPropertyName(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90664
+ return context.factory.updateComputedPropertyName(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90665
+ },
90666
+ // Signature elements
90667
+ _a[163 /* TypeParameter */] = function visitEachChildOfTypeParameterDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90668
+ return context.factory.updateTypeParameterDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.constraint, visitor, ts.isTypeNode), nodeVisitor(node.default, visitor, ts.isTypeNode));
90669
+ },
90670
+ _a[164 /* Parameter */] = function visitEachChildOfParameterDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90671
+ return context.factory.updateParameterDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.dotDotDotToken, tokenVisitor, ts.isDotDotDotToken), nodeVisitor(node.name, visitor, ts.isBindingName), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.initializer, visitor, ts.isExpression));
90672
+ },
90673
+ _a[165 /* Decorator */] = function visitEachChildOfDecorator(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90674
+ return context.factory.updateDecorator(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90675
+ },
90676
+ // Type elements
90677
+ _a[166 /* PropertySignature */] = function visitEachChildOfPropertySignature(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90678
+ return context.factory.updatePropertySignature(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.questionToken, tokenVisitor, ts.isToken), nodeVisitor(node.type, visitor, ts.isTypeNode));
90679
+ },
90680
+ _a[167 /* PropertyDeclaration */] = function visitEachChildOfPropertyDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90681
+ var _a;
90682
+ return context.factory.updatePropertyDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isPropertyName),
90683
+ // QuestionToken and ExclamationToken are mutually exclusive in PropertyDeclaration
90684
+ nodeVisitor((_a = node.questionToken) !== null && _a !== void 0 ? _a : node.exclamationToken, tokenVisitor, ts.isQuestionOrExclamationToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.initializer, visitor, ts.isExpression));
90685
+ },
90686
+ _a[168 /* MethodSignature */] = function visitEachChildOfMethodSignature(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90687
+ return context.factory.updateMethodSignature(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90688
+ },
90689
+ _a[169 /* MethodDeclaration */] = function visitEachChildOfMethodDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90690
+ return context.factory.updateMethodDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor));
90691
+ },
90692
+ _a[171 /* Constructor */] = function visitEachChildOfConstructorDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90693
+ return context.factory.updateConstructorDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitFunctionBody(node.body, visitor, context, nodeVisitor));
90694
+ },
90695
+ _a[172 /* GetAccessor */] = function visitEachChildOfGetAccessorDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90696
+ return context.factory.updateGetAccessorDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isPropertyName), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor));
90697
+ },
90698
+ _a[173 /* SetAccessor */] = function visitEachChildOfSetAccessorDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90699
+ return context.factory.updateSetAccessorDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isPropertyName), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitFunctionBody(node.body, visitor, context, nodeVisitor));
90700
+ },
90701
+ _a[170 /* ClassStaticBlockDeclaration */] = function visitEachChildOfClassStaticBlockDeclaration(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90702
+ context.startLexicalEnvironment();
90703
+ context.suspendLexicalEnvironment();
90704
+ return context.factory.updateClassStaticBlockDeclaration(node, visitFunctionBody(node.body, visitor, context, nodeVisitor));
90705
+ },
90706
+ _a[174 /* CallSignature */] = function visitEachChildOfCallSignatureDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90707
+ return context.factory.updateCallSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90708
+ },
90709
+ _a[175 /* ConstructSignature */] = function visitEachChildOfConstructSignatureDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90710
+ return context.factory.updateConstructSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90711
+ },
90712
+ _a[176 /* IndexSignature */] = function visitEachChildOfIndexSignatureDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90713
+ return context.factory.updateIndexSignature(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90714
+ },
90715
+ // Types
90716
+ _a[177 /* TypePredicate */] = function visitEachChildOfTypePredicateNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90717
+ return context.factory.updateTypePredicateNode(node, nodeVisitor(node.assertsModifier, visitor, ts.isAssertsKeyword), nodeVisitor(node.parameterName, visitor, ts.isIdentifierOrThisTypeNode), nodeVisitor(node.type, visitor, ts.isTypeNode));
90718
+ },
90719
+ _a[178 /* TypeReference */] = function visitEachChildOfTypeReferenceNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90720
+ return context.factory.updateTypeReferenceNode(node, nodeVisitor(node.typeName, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode));
90721
+ },
90722
+ _a[179 /* FunctionType */] = function visitEachChildOfFunctionTypeNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90723
+ return context.factory.updateFunctionTypeNode(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90724
+ },
90725
+ _a[180 /* ConstructorType */] = function visitEachChildOfConstructorTypeNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90726
+ return context.factory.updateConstructorTypeNode(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90727
+ },
90728
+ _a[181 /* TypeQuery */] = function visitEachChildOfTypeQueryNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90729
+ return context.factory.updateTypeQueryNode(node, nodeVisitor(node.exprName, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode));
90730
+ },
90731
+ _a[182 /* TypeLiteral */] = function visitEachChildOfTypeLiteralNode(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90732
+ return context.factory.updateTypeLiteralNode(node, nodesVisitor(node.members, visitor, ts.isTypeElement));
90733
+ },
90734
+ _a[183 /* ArrayType */] = function visitEachChildOfArrayTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90735
+ return context.factory.updateArrayTypeNode(node, nodeVisitor(node.elementType, visitor, ts.isTypeNode));
90736
+ },
90737
+ _a[184 /* TupleType */] = function visitEachChildOfTupleTypeNode(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90738
+ return context.factory.updateTupleTypeNode(node, nodesVisitor(node.elements, visitor, ts.isTypeNode));
90739
+ },
90740
+ _a[185 /* OptionalType */] = function visitEachChildOfOptionalTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90741
+ return context.factory.updateOptionalTypeNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90742
+ },
90743
+ _a[186 /* RestType */] = function visitEachChildOfRestTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90744
+ return context.factory.updateRestTypeNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90745
+ },
90746
+ _a[187 /* UnionType */] = function visitEachChildOfUnionTypeNode(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90747
+ return context.factory.updateUnionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode));
90748
+ },
90749
+ _a[188 /* IntersectionType */] = function visitEachChildOfIntersectionTypeNode(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90750
+ return context.factory.updateIntersectionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode));
90751
+ },
90752
+ _a[189 /* ConditionalType */] = function visitEachChildOfConditionalTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90753
+ return context.factory.updateConditionalTypeNode(node, nodeVisitor(node.checkType, visitor, ts.isTypeNode), nodeVisitor(node.extendsType, visitor, ts.isTypeNode), nodeVisitor(node.trueType, visitor, ts.isTypeNode), nodeVisitor(node.falseType, visitor, ts.isTypeNode));
90754
+ },
90755
+ _a[190 /* InferType */] = function visitEachChildOfInferTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90756
+ return context.factory.updateInferTypeNode(node, nodeVisitor(node.typeParameter, visitor, ts.isTypeParameterDeclaration));
90757
+ },
90758
+ _a[200 /* ImportType */] = function visitEachChildOfImportTypeNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90759
+ return context.factory.updateImportTypeNode(node, nodeVisitor(node.argument, visitor, ts.isTypeNode), nodeVisitor(node.assertions, visitor, ts.isImportTypeAssertionContainer), nodeVisitor(node.qualifier, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), node.isTypeOf);
90760
+ },
90761
+ _a[295 /* ImportTypeAssertionContainer */] = function visitEachChildOfImportTypeAssertionContainer(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90762
+ return context.factory.updateImportTypeAssertionContainer(node, nodeVisitor(node.assertClause, visitor, ts.isAssertClause), node.multiLine);
90763
+ },
90764
+ _a[197 /* NamedTupleMember */] = function visitEachChildOfNamedTupleMember(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
90765
+ return context.factory.updateNamedTupleMember(node, nodeVisitor(node.dotDotDotToken, tokenVisitor, ts.isDotDotDotToken), nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodeVisitor(node.type, visitor, ts.isTypeNode));
90766
+ },
90767
+ _a[191 /* ParenthesizedType */] = function visitEachChildOfParenthesizedType(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90768
+ return context.factory.updateParenthesizedType(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90769
+ },
90770
+ _a[193 /* TypeOperator */] = function visitEachChildOfTypeOperatorNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90771
+ return context.factory.updateTypeOperatorNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90772
+ },
90773
+ _a[194 /* IndexedAccessType */] = function visitEachChildOfIndexedAccessType(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90774
+ return context.factory.updateIndexedAccessTypeNode(node, nodeVisitor(node.objectType, visitor, ts.isTypeNode), nodeVisitor(node.indexType, visitor, ts.isTypeNode));
90775
+ },
90776
+ _a[195 /* MappedType */] = function visitEachChildOfMappedType(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90777
+ return context.factory.updateMappedTypeNode(node, nodeVisitor(node.readonlyToken, tokenVisitor, ts.isReadonlyKeywordOrPlusOrMinusToken), nodeVisitor(node.typeParameter, visitor, ts.isTypeParameterDeclaration), nodeVisitor(node.nameType, visitor, ts.isTypeNode), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionOrPlusOrMinusToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodesVisitor(node.members, visitor, ts.isTypeElement));
90778
+ },
90779
+ _a[196 /* LiteralType */] = function visitEachChildOfLiteralTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90780
+ return context.factory.updateLiteralTypeNode(node, nodeVisitor(node.literal, visitor, ts.isExpression));
90781
+ },
90782
+ _a[198 /* TemplateLiteralType */] = function visitEachChildOfTemplateLiteralType(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90783
+ return context.factory.updateTemplateLiteralType(node, nodeVisitor(node.head, visitor, ts.isTemplateHead), nodesVisitor(node.templateSpans, visitor, ts.isTemplateLiteralTypeSpan));
90784
+ },
90785
+ _a[199 /* TemplateLiteralTypeSpan */] = function visitEachChildOfTemplateLiteralTypeSpan(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90786
+ return context.factory.updateTemplateLiteralTypeSpan(node, nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.literal, visitor, ts.isTemplateMiddleOrTemplateTail));
90787
+ },
90788
+ // Binding patterns
90789
+ _a[201 /* ObjectBindingPattern */] = function visitEachChildOfObjectBindingPattern(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90790
+ return context.factory.updateObjectBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isBindingElement));
90791
+ },
90792
+ _a[202 /* ArrayBindingPattern */] = function visitEachChildOfArrayBindingPattern(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90793
+ return context.factory.updateArrayBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isArrayBindingElement));
90794
+ },
90795
+ _a[203 /* BindingElement */] = function visitEachChildOfBindingElement(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
90796
+ return context.factory.updateBindingElement(node, nodeVisitor(node.dotDotDotToken, tokenVisitor, ts.isDotDotDotToken), nodeVisitor(node.propertyName, visitor, ts.isPropertyName), nodeVisitor(node.name, visitor, ts.isBindingName), nodeVisitor(node.initializer, visitor, ts.isExpression));
90797
+ },
90798
+ // Expression
90799
+ _a[204 /* ArrayLiteralExpression */] = function visitEachChildOfArrayLiteralExpression(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90800
+ return context.factory.updateArrayLiteralExpression(node, nodesVisitor(node.elements, visitor, ts.isExpression));
90801
+ },
90802
+ _a[205 /* ObjectLiteralExpression */] = function visitEachChildOfObjectLiteralExpression(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90803
+ return context.factory.updateObjectLiteralExpression(node, nodesVisitor(node.properties, visitor, ts.isObjectLiteralElementLike));
90804
+ },
90805
+ _a[206 /* PropertyAccessExpression */] = function visitEachChildOfPropertyAccessExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
90806
+ return ts.isPropertyAccessChain(node) ?
90807
+ context.factory.updatePropertyAccessChain(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.questionDotToken, tokenVisitor, ts.isQuestionDotToken), nodeVisitor(node.name, visitor, ts.isMemberName)) :
90808
+ context.factory.updatePropertyAccessExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.name, visitor, ts.isMemberName));
90809
+ },
90810
+ _a[207 /* ElementAccessExpression */] = function visitEachChildOfElementAccessExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
90811
+ return ts.isElementAccessChain(node) ?
90812
+ context.factory.updateElementAccessChain(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.questionDotToken, tokenVisitor, ts.isQuestionDotToken), nodeVisitor(node.argumentExpression, visitor, ts.isExpression)) :
90813
+ context.factory.updateElementAccessExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.argumentExpression, visitor, ts.isExpression));
90814
+ },
90815
+ _a[208 /* CallExpression */] = function visitEachChildOfCallExpression(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90816
+ return ts.isCallChain(node) ?
90817
+ context.factory.updateCallChain(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.questionDotToken, tokenVisitor, ts.isQuestionDotToken), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression)) :
90818
+ context.factory.updateCallExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression));
90819
+ },
90820
+ _a[209 /* NewExpression */] = function visitEachChildOfNewExpression(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90821
+ return context.factory.updateNewExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression));
90822
+ },
90823
+ _a[210 /* TaggedTemplateExpression */] = function visitEachChildOfTaggedTemplateExpression(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90824
+ return context.factory.updateTaggedTemplateExpression(node, nodeVisitor(node.tag, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.template, visitor, ts.isTemplateLiteral));
90825
+ },
90826
+ _a[211 /* TypeAssertionExpression */] = function visitEachChildOfTypeAssertionExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90827
+ return context.factory.updateTypeAssertion(node, nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.expression, visitor, ts.isExpression));
90828
+ },
90829
+ _a[212 /* ParenthesizedExpression */] = function visitEachChildOfParenthesizedExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90830
+ return context.factory.updateParenthesizedExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90831
+ },
90832
+ _a[213 /* FunctionExpression */] = function visitEachChildOfFunctionExpression(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90833
+ return context.factory.updateFunctionExpression(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor));
90834
+ },
90835
+ _a[214 /* ArrowFunction */] = function visitEachChildOfArrowFunction(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90836
+ return context.factory.updateArrowFunction(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.equalsGreaterThanToken, tokenVisitor, ts.isEqualsGreaterThanToken), visitFunctionBody(node.body, visitor, context, nodeVisitor));
90837
+ },
90838
+ _a[215 /* DeleteExpression */] = function visitEachChildOfDeleteExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90839
+ return context.factory.updateDeleteExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90840
+ },
90841
+ _a[216 /* TypeOfExpression */] = function visitEachChildOfTypeOfExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90842
+ return context.factory.updateTypeOfExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90843
+ },
90844
+ _a[217 /* VoidExpression */] = function visitEachChildOfVoidExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90845
+ return context.factory.updateVoidExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90846
+ },
90847
+ _a[218 /* AwaitExpression */] = function visitEachChildOfAwaitExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90848
+ return context.factory.updateAwaitExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90849
+ },
90850
+ _a[219 /* PrefixUnaryExpression */] = function visitEachChildOfPrefixUnaryExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90851
+ return context.factory.updatePrefixUnaryExpression(node, nodeVisitor(node.operand, visitor, ts.isExpression));
90852
+ },
90853
+ _a[220 /* PostfixUnaryExpression */] = function visitEachChildOfPostfixUnaryExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90854
+ return context.factory.updatePostfixUnaryExpression(node, nodeVisitor(node.operand, visitor, ts.isExpression));
90855
+ },
90856
+ _a[221 /* BinaryExpression */] = function visitEachChildOfBinaryExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
90857
+ return context.factory.updateBinaryExpression(node, nodeVisitor(node.left, visitor, ts.isExpression), nodeVisitor(node.operatorToken, tokenVisitor, ts.isBinaryOperatorToken), nodeVisitor(node.right, visitor, ts.isExpression));
90858
+ },
90859
+ _a[222 /* ConditionalExpression */] = function visitEachChildOfConditionalExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
90860
+ return context.factory.updateConditionalExpression(node, nodeVisitor(node.condition, visitor, ts.isExpression), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodeVisitor(node.whenTrue, visitor, ts.isExpression), nodeVisitor(node.colonToken, tokenVisitor, ts.isColonToken), nodeVisitor(node.whenFalse, visitor, ts.isExpression));
90861
+ },
90862
+ _a[223 /* TemplateExpression */] = function visitEachChildOfTemplateExpression(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90863
+ return context.factory.updateTemplateExpression(node, nodeVisitor(node.head, visitor, ts.isTemplateHead), nodesVisitor(node.templateSpans, visitor, ts.isTemplateSpan));
90864
+ },
90865
+ _a[224 /* YieldExpression */] = function visitEachChildOfYieldExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
90866
+ return context.factory.updateYieldExpression(node, nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.expression, visitor, ts.isExpression));
90867
+ },
90868
+ _a[225 /* SpreadElement */] = function visitEachChildOfSpreadElement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90869
+ return context.factory.updateSpreadElement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90870
+ },
90871
+ _a[226 /* ClassExpression */] = function visitEachChildOfClassExpression(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90872
+ return context.factory.updateClassExpression(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isClassElement));
90873
+ },
90874
+ _a[228 /* ExpressionWithTypeArguments */] = function visitEachChildOfExpressionWithTypeArguments(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90875
+ return context.factory.updateExpressionWithTypeArguments(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode));
90876
+ },
90877
+ _a[229 /* AsExpression */] = function visitEachChildOfAsExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90878
+ return context.factory.updateAsExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.type, visitor, ts.isTypeNode));
90879
+ },
90880
+ _a[230 /* NonNullExpression */] = function visitEachChildOfNonNullExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90881
+ return ts.isOptionalChain(node) ?
90882
+ context.factory.updateNonNullChain(node, nodeVisitor(node.expression, visitor, ts.isExpression)) :
90883
+ context.factory.updateNonNullExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90884
+ },
90885
+ _a[231 /* MetaProperty */] = function visitEachChildOfMetaProperty(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90886
+ return context.factory.updateMetaProperty(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
90887
+ },
90888
+ // Misc
90889
+ _a[233 /* TemplateSpan */] = function visitEachChildOfTemplateSpan(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90890
+ return context.factory.updateTemplateSpan(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.literal, visitor, ts.isTemplateMiddleOrTemplateTail));
90891
+ },
90892
+ // Element
90893
+ _a[235 /* Block */] = function visitEachChildOfBlock(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90894
+ return context.factory.updateBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement));
90895
+ },
90896
+ _a[237 /* VariableStatement */] = function visitEachChildOfVariableStatement(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90897
+ return context.factory.updateVariableStatement(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.declarationList, visitor, ts.isVariableDeclarationList));
90898
+ },
90899
+ _a[238 /* ExpressionStatement */] = function visitEachChildOfExpressionStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90900
+ return context.factory.updateExpressionStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90901
+ },
90902
+ _a[239 /* IfStatement */] = function visitEachChildOfIfStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90903
+ return context.factory.updateIfStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.thenStatement, visitor, ts.isStatement, context.factory.liftToBlock), nodeVisitor(node.elseStatement, visitor, ts.isStatement, context.factory.liftToBlock));
90904
+ },
90905
+ _a[240 /* DoStatement */] = function visitEachChildOfDoStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90906
+ return context.factory.updateDoStatement(node, visitIterationBody(node.statement, visitor, context, nodeVisitor), nodeVisitor(node.expression, visitor, ts.isExpression));
90907
+ },
90908
+ _a[241 /* WhileStatement */] = function visitEachChildOfWhileStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90909
+ return context.factory.updateWhileStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context, nodeVisitor));
90910
+ },
90911
+ _a[242 /* ForStatement */] = function visitEachChildOfForStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90912
+ return context.factory.updateForStatement(node, nodeVisitor(node.initializer, visitor, ts.isForInitializer), nodeVisitor(node.condition, visitor, ts.isExpression), nodeVisitor(node.incrementor, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context, nodeVisitor));
90913
+ },
90914
+ _a[243 /* ForInStatement */] = function visitEachChildOfForInStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90915
+ return context.factory.updateForInStatement(node, nodeVisitor(node.initializer, visitor, ts.isForInitializer), nodeVisitor(node.expression, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context, nodeVisitor));
90916
+ },
90917
+ _a[244 /* ForOfStatement */] = function visitEachChildOfForOfStatement(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
90918
+ return context.factory.updateForOfStatement(node, nodeVisitor(node.awaitModifier, tokenVisitor, ts.isAwaitKeyword), nodeVisitor(node.initializer, visitor, ts.isForInitializer), nodeVisitor(node.expression, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context, nodeVisitor));
90919
+ },
90920
+ _a[245 /* ContinueStatement */] = function visitEachChildOfContinueStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90921
+ return context.factory.updateContinueStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier));
90922
+ },
90923
+ _a[246 /* BreakStatement */] = function visitEachChildOfBreakStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90924
+ return context.factory.updateBreakStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier));
90925
+ },
90926
+ _a[247 /* ReturnStatement */] = function visitEachChildOfReturnStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90927
+ return context.factory.updateReturnStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90928
+ },
90929
+ _a[248 /* WithStatement */] = function visitEachChildOfWithStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90930
+ return context.factory.updateWithStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.statement, visitor, ts.isStatement, context.factory.liftToBlock));
90931
+ },
90932
+ _a[249 /* SwitchStatement */] = function visitEachChildOfSwitchStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90933
+ return context.factory.updateSwitchStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.caseBlock, visitor, ts.isCaseBlock));
90934
+ },
90935
+ _a[250 /* LabeledStatement */] = function visitEachChildOfLabeledStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90936
+ return context.factory.updateLabeledStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier), nodeVisitor(node.statement, visitor, ts.isStatement, context.factory.liftToBlock));
90937
+ },
90938
+ _a[251 /* ThrowStatement */] = function visitEachChildOfThrowStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90939
+ return context.factory.updateThrowStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90940
+ },
90941
+ _a[252 /* TryStatement */] = function visitEachChildOfTryStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90942
+ return context.factory.updateTryStatement(node, nodeVisitor(node.tryBlock, visitor, ts.isBlock), nodeVisitor(node.catchClause, visitor, ts.isCatchClause), nodeVisitor(node.finallyBlock, visitor, ts.isBlock));
90943
+ },
90944
+ _a[254 /* VariableDeclaration */] = function visitEachChildOfVariableDeclaration(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
90945
+ return context.factory.updateVariableDeclaration(node, nodeVisitor(node.name, visitor, ts.isBindingName), nodeVisitor(node.exclamationToken, tokenVisitor, ts.isExclamationToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.initializer, visitor, ts.isExpression));
90946
+ },
90947
+ _a[255 /* VariableDeclarationList */] = function visitEachChildOfVariableDeclarationList(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90948
+ return context.factory.updateVariableDeclarationList(node, nodesVisitor(node.declarations, visitor, ts.isVariableDeclaration));
90949
+ },
90950
+ _a[256 /* FunctionDeclaration */] = function visitEachChildOfFunctionDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90951
+ return context.factory.updateFunctionDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor));
90952
+ },
90953
+ _a[257 /* ClassDeclaration */] = function visitEachChildOfClassDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90954
+ return context.factory.updateClassDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isClassElement));
90955
+ },
90956
+ _a[258 /* InterfaceDeclaration */] = function visitEachChildOfInterfaceDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90957
+ return context.factory.updateInterfaceDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isTypeElement));
90958
+ },
90959
+ _a[259 /* TypeAliasDeclaration */] = function visitEachChildOfTypeAliasDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90960
+ return context.factory.updateTypeAliasDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90961
+ },
90962
+ _a[260 /* EnumDeclaration */] = function visitEachChildOfEnumDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90963
+ return context.factory.updateEnumDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.members, visitor, ts.isEnumMember));
90964
+ },
90965
+ _a[261 /* ModuleDeclaration */] = function visitEachChildOfModuleDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90966
+ return context.factory.updateModuleDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isModuleName), nodeVisitor(node.body, visitor, ts.isModuleBody));
90967
+ },
90968
+ _a[262 /* ModuleBlock */] = function visitEachChildOfModuleBlock(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90969
+ return context.factory.updateModuleBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement));
90970
+ },
90971
+ _a[263 /* CaseBlock */] = function visitEachChildOfCaseBlock(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90972
+ return context.factory.updateCaseBlock(node, nodesVisitor(node.clauses, visitor, ts.isCaseOrDefaultClause));
90973
+ },
90974
+ _a[264 /* NamespaceExportDeclaration */] = function visitEachChildOfNamespaceExportDeclaration(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90975
+ return context.factory.updateNamespaceExportDeclaration(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
90976
+ },
90977
+ _a[265 /* ImportEqualsDeclaration */] = function visitEachChildOfImportEqualsDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90978
+ return context.factory.updateImportEqualsDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), node.isTypeOnly, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.moduleReference, visitor, ts.isModuleReference));
90979
+ },
90980
+ _a[266 /* ImportDeclaration */] = function visitEachChildOfImportDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90981
+ return context.factory.updateImportDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.importClause, visitor, ts.isImportClause), nodeVisitor(node.moduleSpecifier, visitor, ts.isExpression), nodeVisitor(node.assertClause, visitor, ts.isAssertClause));
90982
+ },
90983
+ _a[293 /* AssertClause */] = function visitEachChildOfAssertClause(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90984
+ return context.factory.updateAssertClause(node, nodesVisitor(node.elements, visitor, ts.isAssertEntry), node.multiLine);
90985
+ },
90986
+ _a[294 /* AssertEntry */] = function visitEachChildOfAssertEntry(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90987
+ return context.factory.updateAssertEntry(node, nodeVisitor(node.name, visitor, ts.isAssertionKey), nodeVisitor(node.value, visitor, ts.isExpression));
90988
+ },
90989
+ _a[267 /* ImportClause */] = function visitEachChildOfImportClause(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90990
+ return context.factory.updateImportClause(node, node.isTypeOnly, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.namedBindings, visitor, ts.isNamedImportBindings));
90991
+ },
90992
+ _a[268 /* NamespaceImport */] = function visitEachChildOfNamespaceImport(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90993
+ return context.factory.updateNamespaceImport(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
90994
+ },
90995
+ _a[274 /* NamespaceExport */] = function visitEachChildOfNamespaceExport(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90996
+ return context.factory.updateNamespaceExport(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
90997
+ },
90998
+ _a[269 /* NamedImports */] = function visitEachChildOfNamedImports(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90999
+ return context.factory.updateNamedImports(node, nodesVisitor(node.elements, visitor, ts.isImportSpecifier));
91000
+ },
91001
+ _a[270 /* ImportSpecifier */] = function visitEachChildOfImportSpecifier(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91002
+ return context.factory.updateImportSpecifier(node, node.isTypeOnly, nodeVisitor(node.propertyName, visitor, ts.isIdentifier), nodeVisitor(node.name, visitor, ts.isIdentifier));
91003
+ },
91004
+ _a[271 /* ExportAssignment */] = function visitEachChildOfExportAssignment(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91005
+ return context.factory.updateExportAssignment(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.expression, visitor, ts.isExpression));
91006
+ },
91007
+ _a[272 /* ExportDeclaration */] = function visitEachChildOfExportDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91008
+ return context.factory.updateExportDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), node.isTypeOnly, nodeVisitor(node.exportClause, visitor, ts.isNamedExportBindings), nodeVisitor(node.moduleSpecifier, visitor, ts.isExpression), nodeVisitor(node.assertClause, visitor, ts.isAssertClause));
91009
+ },
91010
+ _a[273 /* NamedExports */] = function visitEachChildOfNamedExports(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91011
+ return context.factory.updateNamedExports(node, nodesVisitor(node.elements, visitor, ts.isExportSpecifier));
91012
+ },
91013
+ _a[275 /* ExportSpecifier */] = function visitEachChildOfExportSpecifier(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91014
+ return context.factory.updateExportSpecifier(node, node.isTypeOnly, nodeVisitor(node.propertyName, visitor, ts.isIdentifier), nodeVisitor(node.name, visitor, ts.isIdentifier));
91015
+ },
91016
+ // Module references
91017
+ _a[277 /* ExternalModuleReference */] = function visitEachChildOfExternalModuleReference(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91018
+ return context.factory.updateExternalModuleReference(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91019
+ },
91020
+ // JSX
91021
+ _a[278 /* JsxElement */] = function visitEachChildOfJsxElement(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91022
+ return context.factory.updateJsxElement(node, nodeVisitor(node.openingElement, visitor, ts.isJsxOpeningElement), nodesVisitor(node.children, visitor, ts.isJsxChild), nodeVisitor(node.closingElement, visitor, ts.isJsxClosingElement));
91023
+ },
91024
+ _a[279 /* JsxSelfClosingElement */] = function visitEachChildOfJsxSelfClosingElement(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91025
+ return context.factory.updateJsxSelfClosingElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.attributes, visitor, ts.isJsxAttributes));
91026
+ },
91027
+ _a[280 /* JsxOpeningElement */] = function visitEachChildOfJsxOpeningElement(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91028
+ return context.factory.updateJsxOpeningElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.attributes, visitor, ts.isJsxAttributes));
91029
+ },
91030
+ _a[281 /* JsxClosingElement */] = function visitEachChildOfJsxClosingElement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91031
+ return context.factory.updateJsxClosingElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression));
91032
+ },
91033
+ _a[282 /* JsxFragment */] = function visitEachChildOfJsxFragment(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91034
+ return context.factory.updateJsxFragment(node, nodeVisitor(node.openingFragment, visitor, ts.isJsxOpeningFragment), nodesVisitor(node.children, visitor, ts.isJsxChild), nodeVisitor(node.closingFragment, visitor, ts.isJsxClosingFragment));
91035
+ },
91036
+ _a[285 /* JsxAttribute */] = function visitEachChildOfJsxAttribute(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91037
+ return context.factory.updateJsxAttribute(node, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.initializer, visitor, ts.isStringLiteralOrJsxExpression));
91038
+ },
91039
+ _a[286 /* JsxAttributes */] = function visitEachChildOfJsxAttributes(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91040
+ return context.factory.updateJsxAttributes(node, nodesVisitor(node.properties, visitor, ts.isJsxAttributeLike));
91041
+ },
91042
+ _a[287 /* JsxSpreadAttribute */] = function visitEachChildOfJsxSpreadAttribute(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91043
+ return context.factory.updateJsxSpreadAttribute(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91044
+ },
91045
+ _a[288 /* JsxExpression */] = function visitEachChildOfJsxExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91046
+ return context.factory.updateJsxExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91047
+ },
91048
+ // Clauses
91049
+ _a[289 /* CaseClause */] = function visitEachChildOfCaseClause(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91050
+ return context.factory.updateCaseClause(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.statements, visitor, ts.isStatement));
91051
+ },
91052
+ _a[290 /* DefaultClause */] = function visitEachChildOfDefaultClause(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91053
+ return context.factory.updateDefaultClause(node, nodesVisitor(node.statements, visitor, ts.isStatement));
91054
+ },
91055
+ _a[291 /* HeritageClause */] = function visitEachChildOfHeritageClause(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91056
+ return context.factory.updateHeritageClause(node, nodesVisitor(node.types, visitor, ts.isExpressionWithTypeArguments));
91057
+ },
91058
+ _a[292 /* CatchClause */] = function visitEachChildOfCatchClause(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91059
+ return context.factory.updateCatchClause(node, nodeVisitor(node.variableDeclaration, visitor, ts.isVariableDeclaration), nodeVisitor(node.block, visitor, ts.isBlock));
91060
+ },
91061
+ // Property assignments
91062
+ _a[296 /* PropertyAssignment */] = function visitEachChildOfPropertyAssignment(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91063
+ return context.factory.updatePropertyAssignment(node, nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.initializer, visitor, ts.isExpression));
91064
+ },
91065
+ _a[297 /* ShorthandPropertyAssignment */] = function visitEachChildOfShorthandPropertyAssignment(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91066
+ return context.factory.updateShorthandPropertyAssignment(node, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.objectAssignmentInitializer, visitor, ts.isExpression));
91067
+ },
91068
+ _a[298 /* SpreadAssignment */] = function visitEachChildOfSpreadAssignment(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91069
+ return context.factory.updateSpreadAssignment(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91070
+ },
91071
+ // Enum
91072
+ _a[299 /* EnumMember */] = function visitEachChildOfEnumMember(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91073
+ return context.factory.updateEnumMember(node, nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.initializer, visitor, ts.isExpression));
91074
+ },
91075
+ // Top-level nodes
91076
+ _a[305 /* SourceFile */] = function visitEachChildOfSourceFile(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91077
+ return context.factory.updateSourceFile(node, visitLexicalEnvironment(node.statements, visitor, context, /*start*/ undefined, /*ensureUseStrict*/ undefined, nodesVisitor));
91078
+ },
91079
+ // Transformation nodes
91080
+ _a[350 /* PartiallyEmittedExpression */] = function visitEachChildOfPartiallyEmittedExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91081
+ return context.factory.updatePartiallyEmittedExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91082
+ },
91083
+ _a[351 /* CommaListExpression */] = function visitEachChildOfCommaListExpression(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91084
+ return context.factory.updateCommaListExpression(node, nodesVisitor(node.elements, visitor, ts.isExpression));
91085
+ },
91086
+ _a);
91097
91087
  /**
91098
91088
  * Extracts the single node from a NodeArray.
91099
91089
  *