typescript 4.9.0-dev.20220821 → 4.9.0-dev.20220822

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/typescript.js CHANGED
@@ -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.20220821";
102
+ ts.version = ts.versionMajorMinor + ".0-dev.20220822";
103
103
  /* @internal */
104
104
  var Comparison;
105
105
  (function (Comparison) {
@@ -30886,6 +30886,7 @@ var ts;
30886
30886
  })(ts || (ts = {}));
30887
30887
  var ts;
30888
30888
  (function (ts) {
30889
+ var _a;
30889
30890
  var SignatureFlags;
30890
30891
  (function (SignatureFlags) {
30891
30892
  SignatureFlags[SignatureFlags["None"] = 0] = "None";
@@ -30973,6 +30974,715 @@ var ts;
30973
30974
  function isImportMeta(node) {
30974
30975
  return ts.isMetaProperty(node) && node.keywordToken === 100 /* ImportKeyword */ && node.name.escapedText === "meta";
30975
30976
  }
30977
+ var forEachChildTable = (_a = {},
30978
+ _a[161 /* QualifiedName */] = function forEachChildInQualifiedName(node, cbNode, _cbNodes) {
30979
+ return visitNode(cbNode, node.left) ||
30980
+ visitNode(cbNode, node.right);
30981
+ },
30982
+ _a[163 /* TypeParameter */] = function forEachChildInTypeParameter(node, cbNode, cbNodes) {
30983
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
30984
+ visitNode(cbNode, node.name) ||
30985
+ visitNode(cbNode, node.constraint) ||
30986
+ visitNode(cbNode, node.default) ||
30987
+ visitNode(cbNode, node.expression);
30988
+ },
30989
+ _a[297 /* ShorthandPropertyAssignment */] = function forEachChildInShorthandPropertyAssignment(node, cbNode, cbNodes) {
30990
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
30991
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
30992
+ visitNode(cbNode, node.name) ||
30993
+ visitNode(cbNode, node.questionToken) ||
30994
+ visitNode(cbNode, node.exclamationToken) ||
30995
+ visitNode(cbNode, node.equalsToken) ||
30996
+ visitNode(cbNode, node.objectAssignmentInitializer);
30997
+ },
30998
+ _a[298 /* SpreadAssignment */] = function forEachChildInSpreadAssignment(node, cbNode, _cbNodes) {
30999
+ return visitNode(cbNode, node.expression);
31000
+ },
31001
+ _a[164 /* Parameter */] = function forEachChildInParameter(node, cbNode, cbNodes) {
31002
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31003
+ visitNode(cbNode, node.dotDotDotToken) ||
31004
+ visitNode(cbNode, node.name) ||
31005
+ visitNode(cbNode, node.questionToken) ||
31006
+ visitNode(cbNode, node.type) ||
31007
+ visitNode(cbNode, node.initializer);
31008
+ },
31009
+ _a[167 /* PropertyDeclaration */] = function forEachChildInPropertyDeclaration(node, cbNode, cbNodes) {
31010
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31011
+ visitNode(cbNode, node.name) ||
31012
+ visitNode(cbNode, node.questionToken) ||
31013
+ visitNode(cbNode, node.exclamationToken) ||
31014
+ visitNode(cbNode, node.type) ||
31015
+ visitNode(cbNode, node.initializer);
31016
+ },
31017
+ _a[166 /* PropertySignature */] = function forEachChildInPropertySignature(node, cbNode, cbNodes) {
31018
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31019
+ visitNode(cbNode, node.name) ||
31020
+ visitNode(cbNode, node.questionToken) ||
31021
+ visitNode(cbNode, node.type) ||
31022
+ visitNode(cbNode, node.initializer);
31023
+ },
31024
+ _a[296 /* PropertyAssignment */] = function forEachChildInPropertyAssignment(node, cbNode, cbNodes) {
31025
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31026
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31027
+ visitNode(cbNode, node.name) ||
31028
+ visitNode(cbNode, node.questionToken) ||
31029
+ visitNode(cbNode, node.exclamationToken) ||
31030
+ visitNode(cbNode, node.initializer);
31031
+ },
31032
+ _a[254 /* VariableDeclaration */] = function forEachChildInVariableDeclaration(node, cbNode, _cbNodes) {
31033
+ return visitNode(cbNode, node.name) ||
31034
+ visitNode(cbNode, node.exclamationToken) ||
31035
+ visitNode(cbNode, node.type) ||
31036
+ visitNode(cbNode, node.initializer);
31037
+ },
31038
+ _a[203 /* BindingElement */] = function forEachChildInBindingElement(node, cbNode, _cbNodes) {
31039
+ return visitNode(cbNode, node.dotDotDotToken) ||
31040
+ visitNode(cbNode, node.propertyName) ||
31041
+ visitNode(cbNode, node.name) ||
31042
+ visitNode(cbNode, node.initializer);
31043
+ },
31044
+ _a[176 /* IndexSignature */] = function forEachChildInIndexSignature(node, cbNode, cbNodes) {
31045
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31046
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31047
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31048
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31049
+ visitNode(cbNode, node.type);
31050
+ },
31051
+ _a[180 /* ConstructorType */] = function forEachChildInConstructorType(node, cbNode, cbNodes) {
31052
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31053
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31054
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31055
+ visitNode(cbNode, node.type);
31056
+ },
31057
+ _a[179 /* FunctionType */] = function forEachChildInFunctionType(node, cbNode, cbNodes) {
31058
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31059
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31060
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31061
+ visitNode(cbNode, node.type);
31062
+ },
31063
+ _a[174 /* CallSignature */] = forEachChildInCallOrConstructSignature,
31064
+ _a[175 /* ConstructSignature */] = forEachChildInCallOrConstructSignature,
31065
+ _a[169 /* MethodDeclaration */] = function forEachChildInMethodDeclaration(node, cbNode, cbNodes) {
31066
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31067
+ visitNode(cbNode, node.asteriskToken) ||
31068
+ visitNode(cbNode, node.name) ||
31069
+ visitNode(cbNode, node.questionToken) ||
31070
+ visitNode(cbNode, node.exclamationToken) ||
31071
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31072
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31073
+ visitNode(cbNode, node.type) ||
31074
+ visitNode(cbNode, node.body);
31075
+ },
31076
+ _a[168 /* MethodSignature */] = function forEachChildInMethodSignature(node, cbNode, cbNodes) {
31077
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31078
+ visitNode(cbNode, node.name) ||
31079
+ visitNode(cbNode, node.questionToken) ||
31080
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31081
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31082
+ visitNode(cbNode, node.type);
31083
+ },
31084
+ _a[171 /* Constructor */] = function forEachChildInConstructor(node, cbNode, cbNodes) {
31085
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31086
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31087
+ visitNode(cbNode, node.name) ||
31088
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31089
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31090
+ visitNode(cbNode, node.type) ||
31091
+ visitNode(cbNode, node.body);
31092
+ },
31093
+ _a[172 /* GetAccessor */] = function forEachChildInGetAccessor(node, cbNode, cbNodes) {
31094
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31095
+ visitNode(cbNode, node.name) ||
31096
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31097
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31098
+ visitNode(cbNode, node.type) ||
31099
+ visitNode(cbNode, node.body);
31100
+ },
31101
+ _a[173 /* SetAccessor */] = function forEachChildInSetAccessor(node, cbNode, cbNodes) {
31102
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31103
+ visitNode(cbNode, node.name) ||
31104
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31105
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31106
+ visitNode(cbNode, node.type) ||
31107
+ visitNode(cbNode, node.body);
31108
+ },
31109
+ _a[256 /* FunctionDeclaration */] = function forEachChildInFunctionDeclaration(node, cbNode, cbNodes) {
31110
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31111
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31112
+ visitNode(cbNode, node.asteriskToken) ||
31113
+ visitNode(cbNode, node.name) ||
31114
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31115
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31116
+ visitNode(cbNode, node.type) ||
31117
+ visitNode(cbNode, node.body);
31118
+ },
31119
+ _a[213 /* FunctionExpression */] = function forEachChildInFunctionExpression(node, cbNode, cbNodes) {
31120
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31121
+ visitNode(cbNode, node.asteriskToken) ||
31122
+ visitNode(cbNode, node.name) ||
31123
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31124
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31125
+ visitNode(cbNode, node.type) ||
31126
+ visitNode(cbNode, node.body);
31127
+ },
31128
+ _a[214 /* ArrowFunction */] = function forEachChildInArrowFunction(node, cbNode, cbNodes) {
31129
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31130
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31131
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31132
+ visitNode(cbNode, node.type) ||
31133
+ visitNode(cbNode, node.equalsGreaterThanToken) ||
31134
+ visitNode(cbNode, node.body);
31135
+ },
31136
+ _a[170 /* ClassStaticBlockDeclaration */] = function forEachChildInClassStaticBlockDeclaration(node, cbNode, cbNodes) {
31137
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31138
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31139
+ visitNode(cbNode, node.body);
31140
+ },
31141
+ _a[178 /* TypeReference */] = function forEachChildInTypeReference(node, cbNode, cbNodes) {
31142
+ return visitNode(cbNode, node.typeName) ||
31143
+ visitNodes(cbNode, cbNodes, node.typeArguments);
31144
+ },
31145
+ _a[177 /* TypePredicate */] = function forEachChildInTypePredicate(node, cbNode, _cbNodes) {
31146
+ return visitNode(cbNode, node.assertsModifier) ||
31147
+ visitNode(cbNode, node.parameterName) ||
31148
+ visitNode(cbNode, node.type);
31149
+ },
31150
+ _a[181 /* TypeQuery */] = function forEachChildInTypeQuery(node, cbNode, cbNodes) {
31151
+ return visitNode(cbNode, node.exprName) ||
31152
+ visitNodes(cbNode, cbNodes, node.typeArguments);
31153
+ },
31154
+ _a[182 /* TypeLiteral */] = function forEachChildInTypeLiteral(node, cbNode, cbNodes) {
31155
+ return visitNodes(cbNode, cbNodes, node.members);
31156
+ },
31157
+ _a[183 /* ArrayType */] = function forEachChildInArrayType(node, cbNode, _cbNodes) {
31158
+ return visitNode(cbNode, node.elementType);
31159
+ },
31160
+ _a[184 /* TupleType */] = function forEachChildInTupleType(node, cbNode, cbNodes) {
31161
+ return visitNodes(cbNode, cbNodes, node.elements);
31162
+ },
31163
+ _a[187 /* UnionType */] = forEachChildInUnionOrIntersectionType,
31164
+ _a[188 /* IntersectionType */] = forEachChildInUnionOrIntersectionType,
31165
+ _a[189 /* ConditionalType */] = function forEachChildInConditionalType(node, cbNode, _cbNodes) {
31166
+ return visitNode(cbNode, node.checkType) ||
31167
+ visitNode(cbNode, node.extendsType) ||
31168
+ visitNode(cbNode, node.trueType) ||
31169
+ visitNode(cbNode, node.falseType);
31170
+ },
31171
+ _a[190 /* InferType */] = function forEachChildInInferType(node, cbNode, _cbNodes) {
31172
+ return visitNode(cbNode, node.typeParameter);
31173
+ },
31174
+ _a[200 /* ImportType */] = function forEachChildInImportType(node, cbNode, cbNodes) {
31175
+ return visitNode(cbNode, node.argument) ||
31176
+ visitNode(cbNode, node.assertions) ||
31177
+ visitNode(cbNode, node.qualifier) ||
31178
+ visitNodes(cbNode, cbNodes, node.typeArguments);
31179
+ },
31180
+ _a[295 /* ImportTypeAssertionContainer */] = function forEachChildInImportTypeAssertionContainer(node, cbNode, _cbNodes) {
31181
+ return visitNode(cbNode, node.assertClause);
31182
+ },
31183
+ _a[191 /* ParenthesizedType */] = forEachChildInParenthesizedTypeOrTypeOperator,
31184
+ _a[193 /* TypeOperator */] = forEachChildInParenthesizedTypeOrTypeOperator,
31185
+ _a[194 /* IndexedAccessType */] = function forEachChildInIndexedAccessType(node, cbNode, _cbNodes) {
31186
+ return visitNode(cbNode, node.objectType) ||
31187
+ visitNode(cbNode, node.indexType);
31188
+ },
31189
+ _a[195 /* MappedType */] = function forEachChildInMappedType(node, cbNode, cbNodes) {
31190
+ return visitNode(cbNode, node.readonlyToken) ||
31191
+ visitNode(cbNode, node.typeParameter) ||
31192
+ visitNode(cbNode, node.nameType) ||
31193
+ visitNode(cbNode, node.questionToken) ||
31194
+ visitNode(cbNode, node.type) ||
31195
+ visitNodes(cbNode, cbNodes, node.members);
31196
+ },
31197
+ _a[196 /* LiteralType */] = function forEachChildInLiteralType(node, cbNode, _cbNodes) {
31198
+ return visitNode(cbNode, node.literal);
31199
+ },
31200
+ _a[197 /* NamedTupleMember */] = function forEachChildInNamedTupleMember(node, cbNode, _cbNodes) {
31201
+ return visitNode(cbNode, node.dotDotDotToken) ||
31202
+ visitNode(cbNode, node.name) ||
31203
+ visitNode(cbNode, node.questionToken) ||
31204
+ visitNode(cbNode, node.type);
31205
+ },
31206
+ _a[201 /* ObjectBindingPattern */] = forEachChildInObjectOrArrayBindingPattern,
31207
+ _a[202 /* ArrayBindingPattern */] = forEachChildInObjectOrArrayBindingPattern,
31208
+ _a[204 /* ArrayLiteralExpression */] = function forEachChildInArrayLiteralExpression(node, cbNode, cbNodes) {
31209
+ return visitNodes(cbNode, cbNodes, node.elements);
31210
+ },
31211
+ _a[205 /* ObjectLiteralExpression */] = function forEachChildInObjectLiteralExpression(node, cbNode, cbNodes) {
31212
+ return visitNodes(cbNode, cbNodes, node.properties);
31213
+ },
31214
+ _a[206 /* PropertyAccessExpression */] = function forEachChildInPropertyAccessExpression(node, cbNode, _cbNodes) {
31215
+ return visitNode(cbNode, node.expression) ||
31216
+ visitNode(cbNode, node.questionDotToken) ||
31217
+ visitNode(cbNode, node.name);
31218
+ },
31219
+ _a[207 /* ElementAccessExpression */] = function forEachChildInElementAccessExpression(node, cbNode, _cbNodes) {
31220
+ return visitNode(cbNode, node.expression) ||
31221
+ visitNode(cbNode, node.questionDotToken) ||
31222
+ visitNode(cbNode, node.argumentExpression);
31223
+ },
31224
+ _a[208 /* CallExpression */] = forEachChildInCallOrNewExpression,
31225
+ _a[209 /* NewExpression */] = forEachChildInCallOrNewExpression,
31226
+ _a[210 /* TaggedTemplateExpression */] = function forEachChildInTaggedTemplateExpression(node, cbNode, cbNodes) {
31227
+ return visitNode(cbNode, node.tag) ||
31228
+ visitNode(cbNode, node.questionDotToken) ||
31229
+ visitNodes(cbNode, cbNodes, node.typeArguments) ||
31230
+ visitNode(cbNode, node.template);
31231
+ },
31232
+ _a[211 /* TypeAssertionExpression */] = function forEachChildInTypeAssertionExpression(node, cbNode, _cbNodes) {
31233
+ return visitNode(cbNode, node.type) ||
31234
+ visitNode(cbNode, node.expression);
31235
+ },
31236
+ _a[212 /* ParenthesizedExpression */] = function forEachChildInParenthesizedExpression(node, cbNode, _cbNodes) {
31237
+ return visitNode(cbNode, node.expression);
31238
+ },
31239
+ _a[215 /* DeleteExpression */] = function forEachChildInDeleteExpression(node, cbNode, _cbNodes) {
31240
+ return visitNode(cbNode, node.expression);
31241
+ },
31242
+ _a[216 /* TypeOfExpression */] = function forEachChildInTypeOfExpression(node, cbNode, _cbNodes) {
31243
+ return visitNode(cbNode, node.expression);
31244
+ },
31245
+ _a[217 /* VoidExpression */] = function forEachChildInVoidExpression(node, cbNode, _cbNodes) {
31246
+ return visitNode(cbNode, node.expression);
31247
+ },
31248
+ _a[219 /* PrefixUnaryExpression */] = function forEachChildInPrefixUnaryExpression(node, cbNode, _cbNodes) {
31249
+ return visitNode(cbNode, node.operand);
31250
+ },
31251
+ _a[224 /* YieldExpression */] = function forEachChildInYieldExpression(node, cbNode, _cbNodes) {
31252
+ return visitNode(cbNode, node.asteriskToken) ||
31253
+ visitNode(cbNode, node.expression);
31254
+ },
31255
+ _a[218 /* AwaitExpression */] = function forEachChildInAwaitExpression(node, cbNode, _cbNodes) {
31256
+ return visitNode(cbNode, node.expression);
31257
+ },
31258
+ _a[220 /* PostfixUnaryExpression */] = function forEachChildInPostfixUnaryExpression(node, cbNode, _cbNodes) {
31259
+ return visitNode(cbNode, node.operand);
31260
+ },
31261
+ _a[221 /* BinaryExpression */] = function forEachChildInBinaryExpression(node, cbNode, _cbNodes) {
31262
+ return visitNode(cbNode, node.left) ||
31263
+ visitNode(cbNode, node.operatorToken) ||
31264
+ visitNode(cbNode, node.right);
31265
+ },
31266
+ _a[229 /* AsExpression */] = function forEachChildInAsExpression(node, cbNode, _cbNodes) {
31267
+ return visitNode(cbNode, node.expression) ||
31268
+ visitNode(cbNode, node.type);
31269
+ },
31270
+ _a[230 /* NonNullExpression */] = function forEachChildInNonNullExpression(node, cbNode, _cbNodes) {
31271
+ return visitNode(cbNode, node.expression);
31272
+ },
31273
+ _a[231 /* MetaProperty */] = function forEachChildInMetaProperty(node, cbNode, _cbNodes) {
31274
+ return visitNode(cbNode, node.name);
31275
+ },
31276
+ _a[222 /* ConditionalExpression */] = function forEachChildInConditionalExpression(node, cbNode, _cbNodes) {
31277
+ return visitNode(cbNode, node.condition) ||
31278
+ visitNode(cbNode, node.questionToken) ||
31279
+ visitNode(cbNode, node.whenTrue) ||
31280
+ visitNode(cbNode, node.colonToken) ||
31281
+ visitNode(cbNode, node.whenFalse);
31282
+ },
31283
+ _a[225 /* SpreadElement */] = function forEachChildInSpreadElement(node, cbNode, _cbNodes) {
31284
+ return visitNode(cbNode, node.expression);
31285
+ },
31286
+ _a[235 /* Block */] = forEachChildInBlock,
31287
+ _a[262 /* ModuleBlock */] = forEachChildInBlock,
31288
+ _a[305 /* SourceFile */] = function forEachChildInSourceFile(node, cbNode, cbNodes) {
31289
+ return visitNodes(cbNode, cbNodes, node.statements) ||
31290
+ visitNode(cbNode, node.endOfFileToken);
31291
+ },
31292
+ _a[237 /* VariableStatement */] = function forEachChildInVariableStatement(node, cbNode, cbNodes) {
31293
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31294
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31295
+ visitNode(cbNode, node.declarationList);
31296
+ },
31297
+ _a[255 /* VariableDeclarationList */] = function forEachChildInVariableDeclarationList(node, cbNode, cbNodes) {
31298
+ return visitNodes(cbNode, cbNodes, node.declarations);
31299
+ },
31300
+ _a[238 /* ExpressionStatement */] = function forEachChildInExpressionStatement(node, cbNode, _cbNodes) {
31301
+ return visitNode(cbNode, node.expression);
31302
+ },
31303
+ _a[239 /* IfStatement */] = function forEachChildInIfStatement(node, cbNode, _cbNodes) {
31304
+ return visitNode(cbNode, node.expression) ||
31305
+ visitNode(cbNode, node.thenStatement) ||
31306
+ visitNode(cbNode, node.elseStatement);
31307
+ },
31308
+ _a[240 /* DoStatement */] = function forEachChildInDoStatement(node, cbNode, _cbNodes) {
31309
+ return visitNode(cbNode, node.statement) ||
31310
+ visitNode(cbNode, node.expression);
31311
+ },
31312
+ _a[241 /* WhileStatement */] = function forEachChildInWhileStatement(node, cbNode, _cbNodes) {
31313
+ return visitNode(cbNode, node.expression) ||
31314
+ visitNode(cbNode, node.statement);
31315
+ },
31316
+ _a[242 /* ForStatement */] = function forEachChildInForStatement(node, cbNode, _cbNodes) {
31317
+ return visitNode(cbNode, node.initializer) ||
31318
+ visitNode(cbNode, node.condition) ||
31319
+ visitNode(cbNode, node.incrementor) ||
31320
+ visitNode(cbNode, node.statement);
31321
+ },
31322
+ _a[243 /* ForInStatement */] = function forEachChildInForInStatement(node, cbNode, _cbNodes) {
31323
+ return visitNode(cbNode, node.initializer) ||
31324
+ visitNode(cbNode, node.expression) ||
31325
+ visitNode(cbNode, node.statement);
31326
+ },
31327
+ _a[244 /* ForOfStatement */] = function forEachChildInForOfStatement(node, cbNode, _cbNodes) {
31328
+ return visitNode(cbNode, node.awaitModifier) ||
31329
+ visitNode(cbNode, node.initializer) ||
31330
+ visitNode(cbNode, node.expression) ||
31331
+ visitNode(cbNode, node.statement);
31332
+ },
31333
+ _a[245 /* ContinueStatement */] = forEachChildInContinueOrBreakStatement,
31334
+ _a[246 /* BreakStatement */] = forEachChildInContinueOrBreakStatement,
31335
+ _a[247 /* ReturnStatement */] = function forEachChildInReturnStatement(node, cbNode, _cbNodes) {
31336
+ return visitNode(cbNode, node.expression);
31337
+ },
31338
+ _a[248 /* WithStatement */] = function forEachChildInWithStatement(node, cbNode, _cbNodes) {
31339
+ return visitNode(cbNode, node.expression) ||
31340
+ visitNode(cbNode, node.statement);
31341
+ },
31342
+ _a[249 /* SwitchStatement */] = function forEachChildInSwitchStatement(node, cbNode, _cbNodes) {
31343
+ return visitNode(cbNode, node.expression) ||
31344
+ visitNode(cbNode, node.caseBlock);
31345
+ },
31346
+ _a[263 /* CaseBlock */] = function forEachChildInCaseBlock(node, cbNode, cbNodes) {
31347
+ return visitNodes(cbNode, cbNodes, node.clauses);
31348
+ },
31349
+ _a[289 /* CaseClause */] = function forEachChildInCaseClause(node, cbNode, cbNodes) {
31350
+ return visitNode(cbNode, node.expression) ||
31351
+ visitNodes(cbNode, cbNodes, node.statements);
31352
+ },
31353
+ _a[290 /* DefaultClause */] = function forEachChildInDefaultClause(node, cbNode, cbNodes) {
31354
+ return visitNodes(cbNode, cbNodes, node.statements);
31355
+ },
31356
+ _a[250 /* LabeledStatement */] = function forEachChildInLabeledStatement(node, cbNode, _cbNodes) {
31357
+ return visitNode(cbNode, node.label) ||
31358
+ visitNode(cbNode, node.statement);
31359
+ },
31360
+ _a[251 /* ThrowStatement */] = function forEachChildInThrowStatement(node, cbNode, _cbNodes) {
31361
+ return visitNode(cbNode, node.expression);
31362
+ },
31363
+ _a[252 /* TryStatement */] = function forEachChildInTryStatement(node, cbNode, _cbNodes) {
31364
+ return visitNode(cbNode, node.tryBlock) ||
31365
+ visitNode(cbNode, node.catchClause) ||
31366
+ visitNode(cbNode, node.finallyBlock);
31367
+ },
31368
+ _a[292 /* CatchClause */] = function forEachChildInCatchClause(node, cbNode, _cbNodes) {
31369
+ return visitNode(cbNode, node.variableDeclaration) ||
31370
+ visitNode(cbNode, node.block);
31371
+ },
31372
+ _a[165 /* Decorator */] = function forEachChildInDecorator(node, cbNode, _cbNodes) {
31373
+ return visitNode(cbNode, node.expression);
31374
+ },
31375
+ _a[257 /* ClassDeclaration */] = forEachChildInClassDeclarationOrExpression,
31376
+ _a[226 /* ClassExpression */] = forEachChildInClassDeclarationOrExpression,
31377
+ _a[258 /* InterfaceDeclaration */] = function forEachChildInInterfaceDeclaration(node, cbNode, cbNodes) {
31378
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31379
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31380
+ visitNode(cbNode, node.name) ||
31381
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31382
+ visitNodes(cbNode, cbNodes, node.heritageClauses) ||
31383
+ visitNodes(cbNode, cbNodes, node.members);
31384
+ },
31385
+ _a[259 /* TypeAliasDeclaration */] = function forEachChildInTypeAliasDeclaration(node, cbNode, cbNodes) {
31386
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31387
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31388
+ visitNode(cbNode, node.name) ||
31389
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31390
+ visitNode(cbNode, node.type);
31391
+ },
31392
+ _a[260 /* EnumDeclaration */] = function forEachChildInEnumDeclaration(node, cbNode, cbNodes) {
31393
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31394
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31395
+ visitNode(cbNode, node.name) ||
31396
+ visitNodes(cbNode, cbNodes, node.members);
31397
+ },
31398
+ _a[299 /* EnumMember */] = function forEachChildInEnumMember(node, cbNode, _cbNodes) {
31399
+ return visitNode(cbNode, node.name) ||
31400
+ visitNode(cbNode, node.initializer);
31401
+ },
31402
+ _a[261 /* ModuleDeclaration */] = function forEachChildInModuleDeclaration(node, cbNode, cbNodes) {
31403
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31404
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31405
+ visitNode(cbNode, node.name) ||
31406
+ visitNode(cbNode, node.body);
31407
+ },
31408
+ _a[265 /* ImportEqualsDeclaration */] = function forEachChildInImportEqualsDeclaration(node, cbNode, cbNodes) {
31409
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31410
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31411
+ visitNode(cbNode, node.name) ||
31412
+ visitNode(cbNode, node.moduleReference);
31413
+ },
31414
+ _a[266 /* ImportDeclaration */] = function forEachChildInImportDeclaration(node, cbNode, cbNodes) {
31415
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31416
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31417
+ visitNode(cbNode, node.importClause) ||
31418
+ visitNode(cbNode, node.moduleSpecifier) ||
31419
+ visitNode(cbNode, node.assertClause);
31420
+ },
31421
+ _a[267 /* ImportClause */] = function forEachChildInImportClause(node, cbNode, _cbNodes) {
31422
+ return visitNode(cbNode, node.name) ||
31423
+ visitNode(cbNode, node.namedBindings);
31424
+ },
31425
+ _a[293 /* AssertClause */] = function forEachChildInAssertClause(node, cbNode, cbNodes) {
31426
+ return visitNodes(cbNode, cbNodes, node.elements);
31427
+ },
31428
+ _a[294 /* AssertEntry */] = function forEachChildInAssertEntry(node, cbNode, _cbNodes) {
31429
+ return visitNode(cbNode, node.name) ||
31430
+ visitNode(cbNode, node.value);
31431
+ },
31432
+ _a[264 /* NamespaceExportDeclaration */] = function forEachChildInNamespaceExportDeclaration(node, cbNode, cbNodes) {
31433
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31434
+ visitNode(cbNode, node.name);
31435
+ },
31436
+ _a[268 /* NamespaceImport */] = function forEachChildInNamespaceImport(node, cbNode, _cbNodes) {
31437
+ return visitNode(cbNode, node.name);
31438
+ },
31439
+ _a[274 /* NamespaceExport */] = function forEachChildInNamespaceExport(node, cbNode, _cbNodes) {
31440
+ return visitNode(cbNode, node.name);
31441
+ },
31442
+ _a[269 /* NamedImports */] = forEachChildInNamedImportsOrExports,
31443
+ _a[273 /* NamedExports */] = forEachChildInNamedImportsOrExports,
31444
+ _a[272 /* ExportDeclaration */] = function forEachChildInExportDeclaration(node, cbNode, cbNodes) {
31445
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31446
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31447
+ visitNode(cbNode, node.exportClause) ||
31448
+ visitNode(cbNode, node.moduleSpecifier) ||
31449
+ visitNode(cbNode, node.assertClause);
31450
+ },
31451
+ _a[270 /* ImportSpecifier */] = forEachChildInImportOrExportSpecifier,
31452
+ _a[275 /* ExportSpecifier */] = forEachChildInImportOrExportSpecifier,
31453
+ _a[271 /* ExportAssignment */] = function forEachChildInExportAssignment(node, cbNode, cbNodes) {
31454
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31455
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31456
+ visitNode(cbNode, node.expression);
31457
+ },
31458
+ _a[223 /* TemplateExpression */] = function forEachChildInTemplateExpression(node, cbNode, cbNodes) {
31459
+ return visitNode(cbNode, node.head) ||
31460
+ visitNodes(cbNode, cbNodes, node.templateSpans);
31461
+ },
31462
+ _a[233 /* TemplateSpan */] = function forEachChildInTemplateSpan(node, cbNode, _cbNodes) {
31463
+ return visitNode(cbNode, node.expression) ||
31464
+ visitNode(cbNode, node.literal);
31465
+ },
31466
+ _a[198 /* TemplateLiteralType */] = function forEachChildInTemplateLiteralType(node, cbNode, cbNodes) {
31467
+ return visitNode(cbNode, node.head) ||
31468
+ visitNodes(cbNode, cbNodes, node.templateSpans);
31469
+ },
31470
+ _a[199 /* TemplateLiteralTypeSpan */] = function forEachChildInTemplateLiteralTypeSpan(node, cbNode, _cbNodes) {
31471
+ return visitNode(cbNode, node.type) ||
31472
+ visitNode(cbNode, node.literal);
31473
+ },
31474
+ _a[162 /* ComputedPropertyName */] = function forEachChildInComputedPropertyName(node, cbNode, _cbNodes) {
31475
+ return visitNode(cbNode, node.expression);
31476
+ },
31477
+ _a[291 /* HeritageClause */] = function forEachChildInHeritageClause(node, cbNode, cbNodes) {
31478
+ return visitNodes(cbNode, cbNodes, node.types);
31479
+ },
31480
+ _a[228 /* ExpressionWithTypeArguments */] = function forEachChildInExpressionWithTypeArguments(node, cbNode, cbNodes) {
31481
+ return visitNode(cbNode, node.expression) ||
31482
+ visitNodes(cbNode, cbNodes, node.typeArguments);
31483
+ },
31484
+ _a[277 /* ExternalModuleReference */] = function forEachChildInExternalModuleReference(node, cbNode, _cbNodes) {
31485
+ return visitNode(cbNode, node.expression);
31486
+ },
31487
+ _a[276 /* MissingDeclaration */] = function forEachChildInMissingDeclaration(node, cbNode, cbNodes) {
31488
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31489
+ visitNodes(cbNode, cbNodes, node.modifiers);
31490
+ },
31491
+ _a[351 /* CommaListExpression */] = function forEachChildInCommaListExpression(node, cbNode, cbNodes) {
31492
+ return visitNodes(cbNode, cbNodes, node.elements);
31493
+ },
31494
+ _a[278 /* JsxElement */] = function forEachChildInJsxElement(node, cbNode, cbNodes) {
31495
+ return visitNode(cbNode, node.openingElement) ||
31496
+ visitNodes(cbNode, cbNodes, node.children) ||
31497
+ visitNode(cbNode, node.closingElement);
31498
+ },
31499
+ _a[282 /* JsxFragment */] = function forEachChildInJsxFragment(node, cbNode, cbNodes) {
31500
+ return visitNode(cbNode, node.openingFragment) ||
31501
+ visitNodes(cbNode, cbNodes, node.children) ||
31502
+ visitNode(cbNode, node.closingFragment);
31503
+ },
31504
+ _a[279 /* JsxSelfClosingElement */] = forEachChildInJsxOpeningOrSelfClosingElement,
31505
+ _a[280 /* JsxOpeningElement */] = forEachChildInJsxOpeningOrSelfClosingElement,
31506
+ _a[286 /* JsxAttributes */] = function forEachChildInJsxAttributes(node, cbNode, cbNodes) {
31507
+ return visitNodes(cbNode, cbNodes, node.properties);
31508
+ },
31509
+ _a[285 /* JsxAttribute */] = function forEachChildInJsxAttribute(node, cbNode, _cbNodes) {
31510
+ return visitNode(cbNode, node.name) ||
31511
+ visitNode(cbNode, node.initializer);
31512
+ },
31513
+ _a[287 /* JsxSpreadAttribute */] = function forEachChildInJsxSpreadAttribute(node, cbNode, _cbNodes) {
31514
+ return visitNode(cbNode, node.expression);
31515
+ },
31516
+ _a[288 /* JsxExpression */] = function forEachChildInJsxExpression(node, cbNode, _cbNodes) {
31517
+ return visitNode(cbNode, node.dotDotDotToken) ||
31518
+ visitNode(cbNode, node.expression);
31519
+ },
31520
+ _a[281 /* JsxClosingElement */] = function forEachChildInJsxClosingElement(node, cbNode, _cbNodes) {
31521
+ return visitNode(cbNode, node.tagName);
31522
+ },
31523
+ _a[185 /* OptionalType */] = forEachChildInOptionalRestOrJSDocParameterModifier,
31524
+ _a[186 /* RestType */] = forEachChildInOptionalRestOrJSDocParameterModifier,
31525
+ _a[309 /* JSDocTypeExpression */] = forEachChildInOptionalRestOrJSDocParameterModifier,
31526
+ _a[315 /* JSDocNonNullableType */] = forEachChildInOptionalRestOrJSDocParameterModifier,
31527
+ _a[314 /* JSDocNullableType */] = forEachChildInOptionalRestOrJSDocParameterModifier,
31528
+ _a[316 /* JSDocOptionalType */] = forEachChildInOptionalRestOrJSDocParameterModifier,
31529
+ _a[318 /* JSDocVariadicType */] = forEachChildInOptionalRestOrJSDocParameterModifier,
31530
+ _a[317 /* JSDocFunctionType */] = function forEachChildInJSDocFunctionType(node, cbNode, cbNodes) {
31531
+ return visitNodes(cbNode, cbNodes, node.parameters) ||
31532
+ visitNode(cbNode, node.type);
31533
+ },
31534
+ _a[320 /* JSDoc */] = function forEachChildInJSDoc(node, cbNode, cbNodes) {
31535
+ return (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment))
31536
+ || visitNodes(cbNode, cbNodes, node.tags);
31537
+ },
31538
+ _a[346 /* JSDocSeeTag */] = function forEachChildInJSDocSeeTag(node, cbNode, cbNodes) {
31539
+ return visitNode(cbNode, node.tagName) ||
31540
+ visitNode(cbNode, node.name) ||
31541
+ (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31542
+ },
31543
+ _a[310 /* JSDocNameReference */] = function forEachChildInJSDocNameReference(node, cbNode, _cbNodes) {
31544
+ return visitNode(cbNode, node.name);
31545
+ },
31546
+ _a[311 /* JSDocMemberName */] = function forEachChildInJSDocMemberName(node, cbNode, _cbNodes) {
31547
+ return visitNode(cbNode, node.left) ||
31548
+ visitNode(cbNode, node.right);
31549
+ },
31550
+ _a[340 /* JSDocParameterTag */] = forEachChildInJSDocParameterOrPropertyTag,
31551
+ _a[347 /* JSDocPropertyTag */] = forEachChildInJSDocParameterOrPropertyTag,
31552
+ _a[330 /* JSDocAuthorTag */] = function forEachChildInJSDocAuthorTag(node, cbNode, cbNodes) {
31553
+ return visitNode(cbNode, node.tagName) ||
31554
+ (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31555
+ },
31556
+ _a[329 /* JSDocImplementsTag */] = function forEachChildInJSDocImplementsTag(node, cbNode, cbNodes) {
31557
+ return visitNode(cbNode, node.tagName) ||
31558
+ visitNode(cbNode, node.class) ||
31559
+ (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31560
+ },
31561
+ _a[328 /* JSDocAugmentsTag */] = function forEachChildInJSDocAugmentsTag(node, cbNode, cbNodes) {
31562
+ return visitNode(cbNode, node.tagName) ||
31563
+ visitNode(cbNode, node.class) ||
31564
+ (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31565
+ },
31566
+ _a[344 /* JSDocTemplateTag */] = function forEachChildInJSDocTemplateTag(node, cbNode, cbNodes) {
31567
+ return visitNode(cbNode, node.tagName) ||
31568
+ visitNode(cbNode, node.constraint) ||
31569
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31570
+ (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31571
+ },
31572
+ _a[345 /* JSDocTypedefTag */] = function forEachChildInJSDocTypedefTag(node, cbNode, cbNodes) {
31573
+ return visitNode(cbNode, node.tagName) ||
31574
+ (node.typeExpression &&
31575
+ node.typeExpression.kind === 309 /* JSDocTypeExpression */
31576
+ ? visitNode(cbNode, node.typeExpression) ||
31577
+ visitNode(cbNode, node.fullName) ||
31578
+ (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment))
31579
+ : visitNode(cbNode, node.fullName) ||
31580
+ visitNode(cbNode, node.typeExpression) ||
31581
+ (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)));
31582
+ },
31583
+ _a[338 /* JSDocCallbackTag */] = function forEachChildInJSDocCallbackTag(node, cbNode, cbNodes) {
31584
+ return visitNode(cbNode, node.tagName) ||
31585
+ visitNode(cbNode, node.fullName) ||
31586
+ visitNode(cbNode, node.typeExpression) ||
31587
+ (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31588
+ },
31589
+ _a[341 /* JSDocReturnTag */] = forEachChildInJSDocReturnTag,
31590
+ _a[343 /* JSDocTypeTag */] = forEachChildInJSDocReturnTag,
31591
+ _a[342 /* JSDocThisTag */] = forEachChildInJSDocReturnTag,
31592
+ _a[339 /* JSDocEnumTag */] = forEachChildInJSDocReturnTag,
31593
+ _a[323 /* JSDocSignature */] = function forEachChildInJSDocSignature(node, cbNode, _cbNodes) {
31594
+ return ts.forEach(node.typeParameters, cbNode) ||
31595
+ ts.forEach(node.parameters, cbNode) ||
31596
+ visitNode(cbNode, node.type);
31597
+ },
31598
+ _a[324 /* JSDocLink */] = forEachChildInJSDocLinkCodeOrPlain,
31599
+ _a[325 /* JSDocLinkCode */] = forEachChildInJSDocLinkCodeOrPlain,
31600
+ _a[326 /* JSDocLinkPlain */] = forEachChildInJSDocLinkCodeOrPlain,
31601
+ _a[322 /* JSDocTypeLiteral */] = function forEachChildInJSDocTypeLiteral(node, cbNode, _cbNodes) {
31602
+ return ts.forEach(node.jsDocPropertyTags, cbNode);
31603
+ },
31604
+ _a[327 /* JSDocTag */] = forEachChildInJSDocTag,
31605
+ _a[332 /* JSDocClassTag */] = forEachChildInJSDocTag,
31606
+ _a[333 /* JSDocPublicTag */] = forEachChildInJSDocTag,
31607
+ _a[334 /* JSDocPrivateTag */] = forEachChildInJSDocTag,
31608
+ _a[335 /* JSDocProtectedTag */] = forEachChildInJSDocTag,
31609
+ _a[336 /* JSDocReadonlyTag */] = forEachChildInJSDocTag,
31610
+ _a[331 /* JSDocDeprecatedTag */] = forEachChildInJSDocTag,
31611
+ _a[350 /* PartiallyEmittedExpression */] = forEachChildInPartiallyEmittedExpression,
31612
+ _a);
31613
+ // shared
31614
+ function forEachChildInCallOrConstructSignature(node, cbNode, cbNodes) {
31615
+ return visitNodes(cbNode, cbNodes, node.typeParameters) ||
31616
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31617
+ visitNode(cbNode, node.type);
31618
+ }
31619
+ ;
31620
+ function forEachChildInUnionOrIntersectionType(node, cbNode, cbNodes) {
31621
+ return visitNodes(cbNode, cbNodes, node.types);
31622
+ }
31623
+ function forEachChildInParenthesizedTypeOrTypeOperator(node, cbNode, _cbNodes) {
31624
+ return visitNode(cbNode, node.type);
31625
+ }
31626
+ function forEachChildInObjectOrArrayBindingPattern(node, cbNode, cbNodes) {
31627
+ return visitNodes(cbNode, cbNodes, node.elements);
31628
+ }
31629
+ function forEachChildInCallOrNewExpression(node, cbNode, cbNodes) {
31630
+ return visitNode(cbNode, node.expression) ||
31631
+ // TODO: should we separate these branches out?
31632
+ visitNode(cbNode, node.questionDotToken) ||
31633
+ visitNodes(cbNode, cbNodes, node.typeArguments) ||
31634
+ visitNodes(cbNode, cbNodes, node.arguments);
31635
+ }
31636
+ function forEachChildInBlock(node, cbNode, cbNodes) {
31637
+ return visitNodes(cbNode, cbNodes, node.statements);
31638
+ }
31639
+ function forEachChildInContinueOrBreakStatement(node, cbNode, _cbNodes) {
31640
+ return visitNode(cbNode, node.label);
31641
+ }
31642
+ function forEachChildInClassDeclarationOrExpression(node, cbNode, cbNodes) {
31643
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31644
+ visitNode(cbNode, node.name) ||
31645
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31646
+ visitNodes(cbNode, cbNodes, node.heritageClauses) ||
31647
+ visitNodes(cbNode, cbNodes, node.members);
31648
+ }
31649
+ function forEachChildInNamedImportsOrExports(node, cbNode, cbNodes) {
31650
+ return visitNodes(cbNode, cbNodes, node.elements);
31651
+ }
31652
+ function forEachChildInImportOrExportSpecifier(node, cbNode, _cbNodes) {
31653
+ return visitNode(cbNode, node.propertyName) ||
31654
+ visitNode(cbNode, node.name);
31655
+ }
31656
+ function forEachChildInJsxOpeningOrSelfClosingElement(node, cbNode, cbNodes) {
31657
+ return visitNode(cbNode, node.tagName) ||
31658
+ visitNodes(cbNode, cbNodes, node.typeArguments) ||
31659
+ visitNode(cbNode, node.attributes);
31660
+ }
31661
+ function forEachChildInOptionalRestOrJSDocParameterModifier(node, cbNode, _cbNodes) {
31662
+ return visitNode(cbNode, node.type);
31663
+ }
31664
+ function forEachChildInJSDocParameterOrPropertyTag(node, cbNode, cbNodes) {
31665
+ return visitNode(cbNode, node.tagName) ||
31666
+ (node.isNameFirst
31667
+ ? visitNode(cbNode, node.name) || visitNode(cbNode, node.typeExpression)
31668
+ : visitNode(cbNode, node.typeExpression) || visitNode(cbNode, node.name)) ||
31669
+ (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31670
+ }
31671
+ function forEachChildInJSDocReturnTag(node, cbNode, cbNodes) {
31672
+ return visitNode(cbNode, node.tagName) ||
31673
+ visitNode(cbNode, node.typeExpression) ||
31674
+ (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31675
+ }
31676
+ function forEachChildInJSDocLinkCodeOrPlain(node, cbNode, _cbNodes) {
31677
+ return visitNode(cbNode, node.name);
31678
+ }
31679
+ function forEachChildInJSDocTag(node, cbNode, cbNodes) {
31680
+ return visitNode(cbNode, node.tagName)
31681
+ || (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31682
+ }
31683
+ function forEachChildInPartiallyEmittedExpression(node, cbNode, _cbNodes) {
31684
+ return visitNode(cbNode, node.expression);
31685
+ }
30976
31686
  /**
30977
31687
  * Invokes a callback for each child of the given node. The 'cbNode' callback is invoked for all child nodes
30978
31688
  * stored in properties. If a 'cbNodes' callback is specified, it is invoked for embedded arrays; otherwise,
@@ -30987,562 +31697,11 @@ var ts;
30987
31697
  * that they appear in the source code. The language service depends on this property to locate nodes by position.
30988
31698
  */
30989
31699
  function forEachChild(node, cbNode, cbNodes) {
30990
- if (!node || node.kind <= 160 /* LastToken */) {
31700
+ if (node === undefined || node.kind <= 160 /* LastToken */) {
30991
31701
  return;
30992
31702
  }
30993
- switch (node.kind) {
30994
- case 161 /* QualifiedName */:
30995
- return visitNode(cbNode, node.left) ||
30996
- visitNode(cbNode, node.right);
30997
- case 163 /* TypeParameter */:
30998
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
30999
- visitNode(cbNode, node.name) ||
31000
- visitNode(cbNode, node.constraint) ||
31001
- visitNode(cbNode, node.default) ||
31002
- visitNode(cbNode, node.expression);
31003
- case 297 /* ShorthandPropertyAssignment */:
31004
- return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31005
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31006
- visitNode(cbNode, node.name) ||
31007
- visitNode(cbNode, node.questionToken) ||
31008
- visitNode(cbNode, node.exclamationToken) ||
31009
- visitNode(cbNode, node.equalsToken) ||
31010
- visitNode(cbNode, node.objectAssignmentInitializer);
31011
- case 298 /* SpreadAssignment */:
31012
- return visitNode(cbNode, node.expression);
31013
- case 164 /* Parameter */:
31014
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31015
- visitNode(cbNode, node.dotDotDotToken) ||
31016
- visitNode(cbNode, node.name) ||
31017
- visitNode(cbNode, node.questionToken) ||
31018
- visitNode(cbNode, node.type) ||
31019
- visitNode(cbNode, node.initializer);
31020
- case 167 /* PropertyDeclaration */:
31021
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31022
- visitNode(cbNode, node.name) ||
31023
- visitNode(cbNode, node.questionToken) ||
31024
- visitNode(cbNode, node.exclamationToken) ||
31025
- visitNode(cbNode, node.type) ||
31026
- visitNode(cbNode, node.initializer);
31027
- case 166 /* PropertySignature */:
31028
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31029
- visitNode(cbNode, node.name) ||
31030
- visitNode(cbNode, node.questionToken) ||
31031
- visitNode(cbNode, node.type) ||
31032
- visitNode(cbNode, node.initializer);
31033
- case 296 /* PropertyAssignment */:
31034
- return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31035
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31036
- visitNode(cbNode, node.name) ||
31037
- visitNode(cbNode, node.questionToken) ||
31038
- visitNode(cbNode, node.exclamationToken) ||
31039
- visitNode(cbNode, node.initializer);
31040
- case 254 /* VariableDeclaration */:
31041
- return visitNode(cbNode, node.name) ||
31042
- visitNode(cbNode, node.exclamationToken) ||
31043
- visitNode(cbNode, node.type) ||
31044
- visitNode(cbNode, node.initializer);
31045
- case 203 /* BindingElement */:
31046
- return visitNode(cbNode, node.dotDotDotToken) ||
31047
- visitNode(cbNode, node.propertyName) ||
31048
- visitNode(cbNode, node.name) ||
31049
- visitNode(cbNode, node.initializer);
31050
- case 176 /* IndexSignature */:
31051
- return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31052
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31053
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31054
- visitNodes(cbNode, cbNodes, node.parameters) ||
31055
- visitNode(cbNode, node.type);
31056
- case 180 /* ConstructorType */:
31057
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31058
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31059
- visitNodes(cbNode, cbNodes, node.parameters) ||
31060
- visitNode(cbNode, node.type);
31061
- case 179 /* FunctionType */:
31062
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31063
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31064
- visitNodes(cbNode, cbNodes, node.parameters) ||
31065
- visitNode(cbNode, node.type);
31066
- case 174 /* CallSignature */:
31067
- case 175 /* ConstructSignature */:
31068
- return visitNodes(cbNode, cbNodes, node.typeParameters) ||
31069
- visitNodes(cbNode, cbNodes, node.parameters) ||
31070
- visitNode(cbNode, node.type);
31071
- case 169 /* MethodDeclaration */:
31072
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31073
- visitNode(cbNode, node.asteriskToken) ||
31074
- visitNode(cbNode, node.name) ||
31075
- visitNode(cbNode, node.questionToken) ||
31076
- visitNode(cbNode, node.exclamationToken) ||
31077
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31078
- visitNodes(cbNode, cbNodes, node.parameters) ||
31079
- visitNode(cbNode, node.type) ||
31080
- visitNode(cbNode, node.body);
31081
- case 168 /* MethodSignature */:
31082
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31083
- visitNode(cbNode, node.name) ||
31084
- visitNode(cbNode, node.questionToken) ||
31085
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31086
- visitNodes(cbNode, cbNodes, node.parameters) ||
31087
- visitNode(cbNode, node.type);
31088
- case 171 /* Constructor */:
31089
- return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31090
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31091
- visitNode(cbNode, node.name) ||
31092
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31093
- visitNodes(cbNode, cbNodes, node.parameters) ||
31094
- visitNode(cbNode, node.type) ||
31095
- visitNode(cbNode, node.body);
31096
- case 172 /* GetAccessor */:
31097
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31098
- visitNode(cbNode, node.name) ||
31099
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31100
- visitNodes(cbNode, cbNodes, node.parameters) ||
31101
- visitNode(cbNode, node.type) ||
31102
- visitNode(cbNode, node.body);
31103
- case 173 /* SetAccessor */:
31104
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31105
- visitNode(cbNode, node.name) ||
31106
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31107
- visitNodes(cbNode, cbNodes, node.parameters) ||
31108
- visitNode(cbNode, node.type) ||
31109
- visitNode(cbNode, node.body);
31110
- case 256 /* FunctionDeclaration */:
31111
- return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31112
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31113
- visitNode(cbNode, node.asteriskToken) ||
31114
- visitNode(cbNode, node.name) ||
31115
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31116
- visitNodes(cbNode, cbNodes, node.parameters) ||
31117
- visitNode(cbNode, node.type) ||
31118
- visitNode(cbNode, node.body);
31119
- case 213 /* FunctionExpression */:
31120
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31121
- visitNode(cbNode, node.asteriskToken) ||
31122
- visitNode(cbNode, node.name) ||
31123
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31124
- visitNodes(cbNode, cbNodes, node.parameters) ||
31125
- visitNode(cbNode, node.type) ||
31126
- visitNode(cbNode, node.body);
31127
- case 214 /* ArrowFunction */:
31128
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31129
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31130
- visitNodes(cbNode, cbNodes, node.parameters) ||
31131
- visitNode(cbNode, node.type) ||
31132
- visitNode(cbNode, node.equalsGreaterThanToken) ||
31133
- visitNode(cbNode, node.body);
31134
- case 170 /* ClassStaticBlockDeclaration */:
31135
- return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31136
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31137
- visitNode(cbNode, node.body);
31138
- case 178 /* TypeReference */:
31139
- return visitNode(cbNode, node.typeName) ||
31140
- visitNodes(cbNode, cbNodes, node.typeArguments);
31141
- case 177 /* TypePredicate */:
31142
- return visitNode(cbNode, node.assertsModifier) ||
31143
- visitNode(cbNode, node.parameterName) ||
31144
- visitNode(cbNode, node.type);
31145
- case 181 /* TypeQuery */:
31146
- return visitNode(cbNode, node.exprName) ||
31147
- visitNodes(cbNode, cbNodes, node.typeArguments);
31148
- case 182 /* TypeLiteral */:
31149
- return visitNodes(cbNode, cbNodes, node.members);
31150
- case 183 /* ArrayType */:
31151
- return visitNode(cbNode, node.elementType);
31152
- case 184 /* TupleType */:
31153
- return visitNodes(cbNode, cbNodes, node.elements);
31154
- case 187 /* UnionType */:
31155
- case 188 /* IntersectionType */:
31156
- return visitNodes(cbNode, cbNodes, node.types);
31157
- case 189 /* ConditionalType */:
31158
- return visitNode(cbNode, node.checkType) ||
31159
- visitNode(cbNode, node.extendsType) ||
31160
- visitNode(cbNode, node.trueType) ||
31161
- visitNode(cbNode, node.falseType);
31162
- case 190 /* InferType */:
31163
- return visitNode(cbNode, node.typeParameter);
31164
- case 200 /* ImportType */:
31165
- return visitNode(cbNode, node.argument) ||
31166
- visitNode(cbNode, node.assertions) ||
31167
- visitNode(cbNode, node.qualifier) ||
31168
- visitNodes(cbNode, cbNodes, node.typeArguments);
31169
- case 295 /* ImportTypeAssertionContainer */:
31170
- return visitNode(cbNode, node.assertClause);
31171
- case 191 /* ParenthesizedType */:
31172
- case 193 /* TypeOperator */:
31173
- return visitNode(cbNode, node.type);
31174
- case 194 /* IndexedAccessType */:
31175
- return visitNode(cbNode, node.objectType) ||
31176
- visitNode(cbNode, node.indexType);
31177
- case 195 /* MappedType */:
31178
- return visitNode(cbNode, node.readonlyToken) ||
31179
- visitNode(cbNode, node.typeParameter) ||
31180
- visitNode(cbNode, node.nameType) ||
31181
- visitNode(cbNode, node.questionToken) ||
31182
- visitNode(cbNode, node.type) ||
31183
- visitNodes(cbNode, cbNodes, node.members);
31184
- case 196 /* LiteralType */:
31185
- return visitNode(cbNode, node.literal);
31186
- case 197 /* NamedTupleMember */:
31187
- return visitNode(cbNode, node.dotDotDotToken) ||
31188
- visitNode(cbNode, node.name) ||
31189
- visitNode(cbNode, node.questionToken) ||
31190
- visitNode(cbNode, node.type);
31191
- case 201 /* ObjectBindingPattern */:
31192
- case 202 /* ArrayBindingPattern */:
31193
- return visitNodes(cbNode, cbNodes, node.elements);
31194
- case 204 /* ArrayLiteralExpression */:
31195
- return visitNodes(cbNode, cbNodes, node.elements);
31196
- case 205 /* ObjectLiteralExpression */:
31197
- return visitNodes(cbNode, cbNodes, node.properties);
31198
- case 206 /* PropertyAccessExpression */:
31199
- return visitNode(cbNode, node.expression) ||
31200
- visitNode(cbNode, node.questionDotToken) ||
31201
- visitNode(cbNode, node.name);
31202
- case 207 /* ElementAccessExpression */:
31203
- return visitNode(cbNode, node.expression) ||
31204
- visitNode(cbNode, node.questionDotToken) ||
31205
- visitNode(cbNode, node.argumentExpression);
31206
- case 208 /* CallExpression */:
31207
- case 209 /* NewExpression */:
31208
- return visitNode(cbNode, node.expression) ||
31209
- visitNode(cbNode, node.questionDotToken) ||
31210
- visitNodes(cbNode, cbNodes, node.typeArguments) ||
31211
- visitNodes(cbNode, cbNodes, node.arguments);
31212
- case 210 /* TaggedTemplateExpression */:
31213
- return visitNode(cbNode, node.tag) ||
31214
- visitNode(cbNode, node.questionDotToken) ||
31215
- visitNodes(cbNode, cbNodes, node.typeArguments) ||
31216
- visitNode(cbNode, node.template);
31217
- case 211 /* TypeAssertionExpression */:
31218
- return visitNode(cbNode, node.type) ||
31219
- visitNode(cbNode, node.expression);
31220
- case 212 /* ParenthesizedExpression */:
31221
- return visitNode(cbNode, node.expression);
31222
- case 215 /* DeleteExpression */:
31223
- return visitNode(cbNode, node.expression);
31224
- case 216 /* TypeOfExpression */:
31225
- return visitNode(cbNode, node.expression);
31226
- case 217 /* VoidExpression */:
31227
- return visitNode(cbNode, node.expression);
31228
- case 219 /* PrefixUnaryExpression */:
31229
- return visitNode(cbNode, node.operand);
31230
- case 224 /* YieldExpression */:
31231
- return visitNode(cbNode, node.asteriskToken) ||
31232
- visitNode(cbNode, node.expression);
31233
- case 218 /* AwaitExpression */:
31234
- return visitNode(cbNode, node.expression);
31235
- case 220 /* PostfixUnaryExpression */:
31236
- return visitNode(cbNode, node.operand);
31237
- case 221 /* BinaryExpression */:
31238
- return visitNode(cbNode, node.left) ||
31239
- visitNode(cbNode, node.operatorToken) ||
31240
- visitNode(cbNode, node.right);
31241
- case 229 /* AsExpression */:
31242
- return visitNode(cbNode, node.expression) ||
31243
- visitNode(cbNode, node.type);
31244
- case 230 /* NonNullExpression */:
31245
- return visitNode(cbNode, node.expression);
31246
- case 231 /* MetaProperty */:
31247
- return visitNode(cbNode, node.name);
31248
- case 222 /* ConditionalExpression */:
31249
- return visitNode(cbNode, node.condition) ||
31250
- visitNode(cbNode, node.questionToken) ||
31251
- visitNode(cbNode, node.whenTrue) ||
31252
- visitNode(cbNode, node.colonToken) ||
31253
- visitNode(cbNode, node.whenFalse);
31254
- case 225 /* SpreadElement */:
31255
- return visitNode(cbNode, node.expression);
31256
- case 235 /* Block */:
31257
- case 262 /* ModuleBlock */:
31258
- return visitNodes(cbNode, cbNodes, node.statements);
31259
- case 305 /* SourceFile */:
31260
- return visitNodes(cbNode, cbNodes, node.statements) ||
31261
- visitNode(cbNode, node.endOfFileToken);
31262
- case 237 /* VariableStatement */:
31263
- return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31264
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31265
- visitNode(cbNode, node.declarationList);
31266
- case 255 /* VariableDeclarationList */:
31267
- return visitNodes(cbNode, cbNodes, node.declarations);
31268
- case 238 /* ExpressionStatement */:
31269
- return visitNode(cbNode, node.expression);
31270
- case 239 /* IfStatement */:
31271
- return visitNode(cbNode, node.expression) ||
31272
- visitNode(cbNode, node.thenStatement) ||
31273
- visitNode(cbNode, node.elseStatement);
31274
- case 240 /* DoStatement */:
31275
- return visitNode(cbNode, node.statement) ||
31276
- visitNode(cbNode, node.expression);
31277
- case 241 /* WhileStatement */:
31278
- return visitNode(cbNode, node.expression) ||
31279
- visitNode(cbNode, node.statement);
31280
- case 242 /* ForStatement */:
31281
- return visitNode(cbNode, node.initializer) ||
31282
- visitNode(cbNode, node.condition) ||
31283
- visitNode(cbNode, node.incrementor) ||
31284
- visitNode(cbNode, node.statement);
31285
- case 243 /* ForInStatement */:
31286
- return visitNode(cbNode, node.initializer) ||
31287
- visitNode(cbNode, node.expression) ||
31288
- visitNode(cbNode, node.statement);
31289
- case 244 /* ForOfStatement */:
31290
- return visitNode(cbNode, node.awaitModifier) ||
31291
- visitNode(cbNode, node.initializer) ||
31292
- visitNode(cbNode, node.expression) ||
31293
- visitNode(cbNode, node.statement);
31294
- case 245 /* ContinueStatement */:
31295
- case 246 /* BreakStatement */:
31296
- return visitNode(cbNode, node.label);
31297
- case 247 /* ReturnStatement */:
31298
- return visitNode(cbNode, node.expression);
31299
- case 248 /* WithStatement */:
31300
- return visitNode(cbNode, node.expression) ||
31301
- visitNode(cbNode, node.statement);
31302
- case 249 /* SwitchStatement */:
31303
- return visitNode(cbNode, node.expression) ||
31304
- visitNode(cbNode, node.caseBlock);
31305
- case 263 /* CaseBlock */:
31306
- return visitNodes(cbNode, cbNodes, node.clauses);
31307
- case 289 /* CaseClause */:
31308
- return visitNode(cbNode, node.expression) ||
31309
- visitNodes(cbNode, cbNodes, node.statements);
31310
- case 290 /* DefaultClause */:
31311
- return visitNodes(cbNode, cbNodes, node.statements);
31312
- case 250 /* LabeledStatement */:
31313
- return visitNode(cbNode, node.label) ||
31314
- visitNode(cbNode, node.statement);
31315
- case 251 /* ThrowStatement */:
31316
- return visitNode(cbNode, node.expression);
31317
- case 252 /* TryStatement */:
31318
- return visitNode(cbNode, node.tryBlock) ||
31319
- visitNode(cbNode, node.catchClause) ||
31320
- visitNode(cbNode, node.finallyBlock);
31321
- case 292 /* CatchClause */:
31322
- return visitNode(cbNode, node.variableDeclaration) ||
31323
- visitNode(cbNode, node.block);
31324
- case 165 /* Decorator */:
31325
- return visitNode(cbNode, node.expression);
31326
- case 257 /* ClassDeclaration */:
31327
- case 226 /* ClassExpression */:
31328
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31329
- visitNode(cbNode, node.name) ||
31330
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31331
- visitNodes(cbNode, cbNodes, node.heritageClauses) ||
31332
- visitNodes(cbNode, cbNodes, node.members);
31333
- case 258 /* InterfaceDeclaration */:
31334
- return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31335
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31336
- visitNode(cbNode, node.name) ||
31337
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31338
- visitNodes(cbNode, cbNodes, node.heritageClauses) ||
31339
- visitNodes(cbNode, cbNodes, node.members);
31340
- case 259 /* TypeAliasDeclaration */:
31341
- return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31342
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31343
- visitNode(cbNode, node.name) ||
31344
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31345
- visitNode(cbNode, node.type);
31346
- case 260 /* EnumDeclaration */:
31347
- return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31348
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31349
- visitNode(cbNode, node.name) ||
31350
- visitNodes(cbNode, cbNodes, node.members);
31351
- case 299 /* EnumMember */:
31352
- return visitNode(cbNode, node.name) ||
31353
- visitNode(cbNode, node.initializer);
31354
- case 261 /* ModuleDeclaration */:
31355
- return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31356
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31357
- visitNode(cbNode, node.name) ||
31358
- visitNode(cbNode, node.body);
31359
- case 265 /* ImportEqualsDeclaration */:
31360
- return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31361
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31362
- visitNode(cbNode, node.name) ||
31363
- visitNode(cbNode, node.moduleReference);
31364
- case 266 /* ImportDeclaration */:
31365
- return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31366
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31367
- visitNode(cbNode, node.importClause) ||
31368
- visitNode(cbNode, node.moduleSpecifier) ||
31369
- visitNode(cbNode, node.assertClause);
31370
- case 267 /* ImportClause */:
31371
- return visitNode(cbNode, node.name) ||
31372
- visitNode(cbNode, node.namedBindings);
31373
- case 293 /* AssertClause */:
31374
- return visitNodes(cbNode, cbNodes, node.elements);
31375
- case 294 /* AssertEntry */:
31376
- return visitNode(cbNode, node.name) ||
31377
- visitNode(cbNode, node.value);
31378
- case 264 /* NamespaceExportDeclaration */:
31379
- return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31380
- visitNode(cbNode, node.name);
31381
- case 268 /* NamespaceImport */:
31382
- return visitNode(cbNode, node.name);
31383
- case 274 /* NamespaceExport */:
31384
- return visitNode(cbNode, node.name);
31385
- case 269 /* NamedImports */:
31386
- case 273 /* NamedExports */:
31387
- return visitNodes(cbNode, cbNodes, node.elements);
31388
- case 272 /* ExportDeclaration */:
31389
- return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31390
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31391
- visitNode(cbNode, node.exportClause) ||
31392
- visitNode(cbNode, node.moduleSpecifier) ||
31393
- visitNode(cbNode, node.assertClause);
31394
- case 270 /* ImportSpecifier */:
31395
- case 275 /* ExportSpecifier */:
31396
- return visitNode(cbNode, node.propertyName) ||
31397
- visitNode(cbNode, node.name);
31398
- case 271 /* ExportAssignment */:
31399
- return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31400
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31401
- visitNode(cbNode, node.expression);
31402
- case 223 /* TemplateExpression */:
31403
- return visitNode(cbNode, node.head) ||
31404
- visitNodes(cbNode, cbNodes, node.templateSpans);
31405
- case 233 /* TemplateSpan */:
31406
- return visitNode(cbNode, node.expression) ||
31407
- visitNode(cbNode, node.literal);
31408
- case 198 /* TemplateLiteralType */:
31409
- return visitNode(cbNode, node.head) ||
31410
- visitNodes(cbNode, cbNodes, node.templateSpans);
31411
- case 199 /* TemplateLiteralTypeSpan */:
31412
- return visitNode(cbNode, node.type) ||
31413
- visitNode(cbNode, node.literal);
31414
- case 162 /* ComputedPropertyName */:
31415
- return visitNode(cbNode, node.expression);
31416
- case 291 /* HeritageClause */:
31417
- return visitNodes(cbNode, cbNodes, node.types);
31418
- case 228 /* ExpressionWithTypeArguments */:
31419
- return visitNode(cbNode, node.expression) ||
31420
- visitNodes(cbNode, cbNodes, node.typeArguments);
31421
- case 277 /* ExternalModuleReference */:
31422
- return visitNode(cbNode, node.expression);
31423
- case 276 /* MissingDeclaration */:
31424
- return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31425
- visitNodes(cbNode, cbNodes, node.modifiers);
31426
- case 351 /* CommaListExpression */:
31427
- return visitNodes(cbNode, cbNodes, node.elements);
31428
- case 278 /* JsxElement */:
31429
- return visitNode(cbNode, node.openingElement) ||
31430
- visitNodes(cbNode, cbNodes, node.children) ||
31431
- visitNode(cbNode, node.closingElement);
31432
- case 282 /* JsxFragment */:
31433
- return visitNode(cbNode, node.openingFragment) ||
31434
- visitNodes(cbNode, cbNodes, node.children) ||
31435
- visitNode(cbNode, node.closingFragment);
31436
- case 279 /* JsxSelfClosingElement */:
31437
- case 280 /* JsxOpeningElement */:
31438
- return visitNode(cbNode, node.tagName) ||
31439
- visitNodes(cbNode, cbNodes, node.typeArguments) ||
31440
- visitNode(cbNode, node.attributes);
31441
- case 286 /* JsxAttributes */:
31442
- return visitNodes(cbNode, cbNodes, node.properties);
31443
- case 285 /* JsxAttribute */:
31444
- return visitNode(cbNode, node.name) ||
31445
- visitNode(cbNode, node.initializer);
31446
- case 287 /* JsxSpreadAttribute */:
31447
- return visitNode(cbNode, node.expression);
31448
- case 288 /* JsxExpression */:
31449
- return visitNode(cbNode, node.dotDotDotToken) ||
31450
- visitNode(cbNode, node.expression);
31451
- case 281 /* JsxClosingElement */:
31452
- return visitNode(cbNode, node.tagName);
31453
- case 185 /* OptionalType */:
31454
- case 186 /* RestType */:
31455
- case 309 /* JSDocTypeExpression */:
31456
- case 315 /* JSDocNonNullableType */:
31457
- case 314 /* JSDocNullableType */:
31458
- case 316 /* JSDocOptionalType */:
31459
- case 318 /* JSDocVariadicType */:
31460
- return visitNode(cbNode, node.type);
31461
- case 317 /* JSDocFunctionType */:
31462
- return visitNodes(cbNode, cbNodes, node.parameters) ||
31463
- visitNode(cbNode, node.type);
31464
- case 320 /* JSDoc */:
31465
- return (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment))
31466
- || visitNodes(cbNode, cbNodes, node.tags);
31467
- case 346 /* JSDocSeeTag */:
31468
- return visitNode(cbNode, node.tagName) ||
31469
- visitNode(cbNode, node.name) ||
31470
- (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31471
- case 310 /* JSDocNameReference */:
31472
- return visitNode(cbNode, node.name);
31473
- case 311 /* JSDocMemberName */:
31474
- return visitNode(cbNode, node.left) ||
31475
- visitNode(cbNode, node.right);
31476
- case 340 /* JSDocParameterTag */:
31477
- case 347 /* JSDocPropertyTag */:
31478
- return visitNode(cbNode, node.tagName) ||
31479
- (node.isNameFirst
31480
- ? visitNode(cbNode, node.name) ||
31481
- visitNode(cbNode, node.typeExpression) ||
31482
- (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment))
31483
- : visitNode(cbNode, node.typeExpression) ||
31484
- visitNode(cbNode, node.name) ||
31485
- (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)));
31486
- case 330 /* JSDocAuthorTag */:
31487
- return visitNode(cbNode, node.tagName) ||
31488
- (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31489
- case 329 /* JSDocImplementsTag */:
31490
- return visitNode(cbNode, node.tagName) ||
31491
- visitNode(cbNode, node.class) ||
31492
- (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31493
- case 328 /* JSDocAugmentsTag */:
31494
- return visitNode(cbNode, node.tagName) ||
31495
- visitNode(cbNode, node.class) ||
31496
- (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31497
- case 344 /* JSDocTemplateTag */:
31498
- return visitNode(cbNode, node.tagName) ||
31499
- visitNode(cbNode, node.constraint) ||
31500
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31501
- (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31502
- case 345 /* JSDocTypedefTag */:
31503
- return visitNode(cbNode, node.tagName) ||
31504
- (node.typeExpression &&
31505
- node.typeExpression.kind === 309 /* JSDocTypeExpression */
31506
- ? visitNode(cbNode, node.typeExpression) ||
31507
- visitNode(cbNode, node.fullName) ||
31508
- (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment))
31509
- : visitNode(cbNode, node.fullName) ||
31510
- visitNode(cbNode, node.typeExpression) ||
31511
- (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)));
31512
- case 338 /* JSDocCallbackTag */:
31513
- return visitNode(cbNode, node.tagName) ||
31514
- visitNode(cbNode, node.fullName) ||
31515
- visitNode(cbNode, node.typeExpression) ||
31516
- (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31517
- case 341 /* JSDocReturnTag */:
31518
- case 343 /* JSDocTypeTag */:
31519
- case 342 /* JSDocThisTag */:
31520
- case 339 /* JSDocEnumTag */:
31521
- return visitNode(cbNode, node.tagName) ||
31522
- visitNode(cbNode, node.typeExpression) ||
31523
- (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31524
- case 323 /* JSDocSignature */:
31525
- return ts.forEach(node.typeParameters, cbNode) ||
31526
- ts.forEach(node.parameters, cbNode) ||
31527
- visitNode(cbNode, node.type);
31528
- case 324 /* JSDocLink */:
31529
- case 325 /* JSDocLinkCode */:
31530
- case 326 /* JSDocLinkPlain */:
31531
- return visitNode(cbNode, node.name);
31532
- case 322 /* JSDocTypeLiteral */:
31533
- return ts.forEach(node.jsDocPropertyTags, cbNode);
31534
- case 327 /* JSDocTag */:
31535
- case 332 /* JSDocClassTag */:
31536
- case 333 /* JSDocPublicTag */:
31537
- case 334 /* JSDocPrivateTag */:
31538
- case 335 /* JSDocProtectedTag */:
31539
- case 336 /* JSDocReadonlyTag */:
31540
- case 331 /* JSDocDeprecatedTag */:
31541
- return visitNode(cbNode, node.tagName)
31542
- || (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31543
- case 350 /* PartiallyEmittedExpression */:
31544
- return visitNode(cbNode, node.expression);
31545
- }
31703
+ var fn = forEachChildTable[node.kind];
31704
+ return fn === undefined ? undefined : fn(node, cbNode, cbNodes);
31546
31705
  }
31547
31706
  ts.forEachChild = forEachChild;
31548
31707
  /** @internal */