MCPcopy Index your code
hub / github.com/nodejs/node / forEachChild

Function forEachChild

test/fixtures/snapshot/typescript.js:30729–31232  ·  view source on GitHub ↗

* Invokes a callback for each child of the given node. The 'cbNode' callback is invoked for all child nodes * stored in properties. If a 'cbNodes' callback is specified, it is invoked for embedded arrays; otherwise, * embedded arrays are flattened and the 'cbNode' callback is invoked for e

(node, cbNode, cbNodes)

Source from the content-addressed store, hash-verified

30727 * that they appear in the source code. The language service depends on this property to locate nodes by position.
30728 */
30729 function forEachChild(node, cbNode, cbNodes) {
30730 if (!node || node.kind <= 160 /* SyntaxKind.LastToken */) {
30731 return;
30732 }
30733 switch (node.kind) {
30734 case 161 /* SyntaxKind.QualifiedName */:
30735 return visitNode(cbNode, node.left) ||
30736 visitNode(cbNode, node.right);
30737 case 163 /* SyntaxKind.TypeParameter */:
30738 return visitNodes(cbNode, cbNodes, node.modifiers) ||
30739 visitNode(cbNode, node.name) ||
30740 visitNode(cbNode, node.constraint) ||
30741 visitNode(cbNode, node.default) ||
30742 visitNode(cbNode, node.expression);
30743 case 297 /* SyntaxKind.ShorthandPropertyAssignment */:
30744 return visitNodes(cbNode, cbNodes, node.decorators) ||
30745 visitNodes(cbNode, cbNodes, node.modifiers) ||
30746 visitNode(cbNode, node.name) ||
30747 visitNode(cbNode, node.questionToken) ||
30748 visitNode(cbNode, node.exclamationToken) ||
30749 visitNode(cbNode, node.equalsToken) ||
30750 visitNode(cbNode, node.objectAssignmentInitializer);
30751 case 298 /* SyntaxKind.SpreadAssignment */:
30752 return visitNode(cbNode, node.expression);
30753 case 164 /* SyntaxKind.Parameter */:
30754 return visitNodes(cbNode, cbNodes, node.decorators) ||
30755 visitNodes(cbNode, cbNodes, node.modifiers) ||
30756 visitNode(cbNode, node.dotDotDotToken) ||
30757 visitNode(cbNode, node.name) ||
30758 visitNode(cbNode, node.questionToken) ||
30759 visitNode(cbNode, node.type) ||
30760 visitNode(cbNode, node.initializer);
30761 case 167 /* SyntaxKind.PropertyDeclaration */:
30762 return visitNodes(cbNode, cbNodes, node.decorators) ||
30763 visitNodes(cbNode, cbNodes, node.modifiers) ||
30764 visitNode(cbNode, node.name) ||
30765 visitNode(cbNode, node.questionToken) ||
30766 visitNode(cbNode, node.exclamationToken) ||
30767 visitNode(cbNode, node.type) ||
30768 visitNode(cbNode, node.initializer);
30769 case 166 /* SyntaxKind.PropertySignature */:
30770 return visitNodes(cbNode, cbNodes, node.decorators) ||
30771 visitNodes(cbNode, cbNodes, node.modifiers) ||
30772 visitNode(cbNode, node.name) ||
30773 visitNode(cbNode, node.questionToken) ||
30774 visitNode(cbNode, node.type) ||
30775 visitNode(cbNode, node.initializer);
30776 case 296 /* SyntaxKind.PropertyAssignment */:
30777 return visitNodes(cbNode, cbNodes, node.decorators) ||
30778 visitNodes(cbNode, cbNodes, node.modifiers) ||
30779 visitNode(cbNode, node.name) ||
30780 visitNode(cbNode, node.questionToken) ||
30781 visitNode(cbNode, node.initializer);
30782 case 254 /* SyntaxKind.VariableDeclaration */:
30783 return visitNodes(cbNode, cbNodes, node.decorators) ||
30784 visitNodes(cbNode, cbNodes, node.modifiers) ||
30785 visitNode(cbNode, node.name) ||
30786 visitNode(cbNode, node.exclamationToken) ||

Callers 8

walkTreeForImportMetaFunction · 0.85
gatherPossibleChildrenFunction · 0.85
visitNodeFunction · 0.85
checkNodePositionsFunction · 0.85
visitFunction · 0.85
visitArrayFunction · 0.85

Calls 3

visitNodeFunction · 0.85
visitNodesFunction · 0.85
forEachMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…