Skip to content

Commit d6c6746

Browse files
committed
Partial migration of utilities.ts, data property dispatch
1 parent 6418f9c commit d6c6746

31 files changed

+6075
-1603
lines changed

src/compiler/ast.ts

+2,718-365
Large diffs are not rendered by default.

src/compiler/astForEachChild.ts

+13-13
Original file line numberDiff line numberDiff line change
@@ -757,13 +757,13 @@ const astForEachChildTable: AstForEachChildTable = {
757757
visitNode(cbNode, node.data.type);
758758
},
759759
[SyntaxKind.JSDoc]: function forEachChildInJSDoc<T>(node: AstJSDoc, cbNode: (node: AstNode) => T | undefined, cbNodes?: (nodes: AstNodeArray<AstNode>) => T | undefined): T | undefined {
760-
return (typeof node.data.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.data.comment))
760+
return visitNodes(cbNode, cbNodes, node.data.commentArray)
761761
|| visitNodes(cbNode, cbNodes, node.data.tags);
762762
},
763763
[SyntaxKind.JSDocSeeTag]: function forEachChildInJSDocSeeTag<T>(node: AstJSDocSeeTag, cbNode: (node: AstNode) => T | undefined, cbNodes?: (nodes: AstNodeArray<AstNode>) => T | undefined): T | undefined {
764764
return visitNode(cbNode, node.data.tagName) ||
765765
visitNode(cbNode, node.data.name) ||
766-
(typeof node.data.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.data.comment));
766+
visitNodes(cbNode, cbNodes, node.data.commentArray);
767767
},
768768
[SyntaxKind.JSDocNameReference]: function forEachChildInJSDocNameReference<T>(node: AstJSDocNameReference, cbNode: (node: AstNode) => T | undefined, _cbNodes?: (nodes: AstNodeArray<AstNode>) => T | undefined): T | undefined {
769769
return visitNode(cbNode, node.data.name);
@@ -776,40 +776,40 @@ const astForEachChildTable: AstForEachChildTable = {
776776
[SyntaxKind.JSDocPropertyTag]: forEachChildInJSDocParameterOrPropertyTag,
777777
[SyntaxKind.JSDocAuthorTag]: function forEachChildInJSDocAuthorTag<T>(node: AstJSDocAuthorTag, cbNode: (node: AstNode) => T | undefined, cbNodes?: (nodes: AstNodeArray<AstNode>) => T | undefined): T | undefined {
778778
return visitNode(cbNode, node.data.tagName) ||
779-
(typeof node.data.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.data.comment));
779+
visitNodes(cbNode, cbNodes, node.data.commentArray);
780780
},
781781
[SyntaxKind.JSDocImplementsTag]: function forEachChildInJSDocImplementsTag<T>(node: AstJSDocImplementsTag, cbNode: (node: AstNode) => T | undefined, cbNodes?: (nodes: AstNodeArray<AstNode>) => T | undefined): T | undefined {
782782
return visitNode(cbNode, node.data.tagName) ||
783783
visitNode(cbNode, node.data.class) ||
784-
(typeof node.data.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.data.comment));
784+
visitNodes(cbNode, cbNodes, node.data.commentArray);
785785
},
786786
[SyntaxKind.JSDocAugmentsTag]: function forEachChildInJSDocAugmentsTag<T>(node: AstJSDocAugmentsTag, cbNode: (node: AstNode) => T | undefined, cbNodes?: (nodes: AstNodeArray<AstNode>) => T | undefined): T | undefined {
787787
return visitNode(cbNode, node.data.tagName) ||
788788
visitNode(cbNode, node.data.class) ||
789-
(typeof node.data.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.data.comment));
789+
visitNodes(cbNode, cbNodes, node.data.commentArray);
790790
},
791791
[SyntaxKind.JSDocTemplateTag]: function forEachChildInJSDocTemplateTag<T>(node: AstJSDocTemplateTag, cbNode: (node: AstNode) => T | undefined, cbNodes?: (nodes: AstNodeArray<AstNode>) => T | undefined): T | undefined {
792792
return visitNode(cbNode, node.data.tagName) ||
793793
visitNode(cbNode, node.data.constraint) ||
794794
visitNodes(cbNode, cbNodes, node.data.typeParameters) ||
795-
(typeof node.data.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.data.comment));
795+
visitNodes(cbNode, cbNodes, node.data.commentArray);
796796
},
797797
[SyntaxKind.JSDocTypedefTag]: function forEachChildInJSDocTypedefTag<T>(node: AstJSDocTypedefTag, cbNode: (node: AstNode) => T | undefined, cbNodes?: (nodes: AstNodeArray<AstNode>) => T | undefined): T | undefined {
798798
return visitNode(cbNode, node.data.tagName) ||
799799
(node.data.typeExpression &&
800800
node.data.typeExpression.kind === SyntaxKind.JSDocTypeExpression
801801
? visitNode(cbNode, node.data.typeExpression) ||
802802
visitNode(cbNode, node.data.fullName) ||
803-
(typeof node.data.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.data.comment))
803+
visitNodes(cbNode, cbNodes, node.data.commentArray)
804804
: visitNode(cbNode, node.data.fullName) ||
805805
visitNode(cbNode, node.data.typeExpression) ||
806-
(typeof node.data.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.data.comment)));
806+
visitNodes(cbNode, cbNodes, node.data.commentArray));
807807
},
808808
[SyntaxKind.JSDocCallbackTag]: function forEachChildInJSDocCallbackTag<T>(node: AstJSDocCallbackTag, cbNode: (node: AstNode) => T | undefined, cbNodes?: (nodes: AstNodeArray<AstNode>) => T | undefined): T | undefined {
809809
return visitNode(cbNode, node.data.tagName) ||
810810
visitNode(cbNode, node.data.fullName) ||
811811
visitNode(cbNode, node.data.typeExpression) ||
812-
(typeof node.data.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.data.comment));
812+
visitNodes(cbNode, cbNodes, node.data.commentArray);
813813
},
814814
[SyntaxKind.JSDocReturnTag]: forEachChildInJSDocTypeLikeTag,
815815
[SyntaxKind.JSDocTypeTag]: forEachChildInJSDocTypeLikeTag,
@@ -901,13 +901,13 @@ function forEachChildInJSDocParameterOrPropertyTag<T>(node: AstJSDocParameterTag
901901
(node.data.isNameFirst
902902
? visitNode(cbNode, node.data.name) || visitNode(cbNode, node.data.typeExpression)
903903
: visitNode(cbNode, node.data.typeExpression) || visitNode(cbNode, node.data.name)) ||
904-
(typeof node.data.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.data.comment));
904+
visitNodes(cbNode, cbNodes, node.data.commentArray);
905905
}
906906

907907
function forEachChildInJSDocTypeLikeTag<T>(node: AstJSDocReturnTag | AstJSDocTypeTag | AstJSDocThisTag | AstJSDocEnumTag | AstJSDocThrowsTag | AstJSDocOverloadTag | AstJSDocSatisfiesTag, cbNode: (node: AstNode) => T | undefined, cbNodes?: (nodes: AstNodeArray<AstNode>) => T | undefined): T | undefined {
908908
return visitNode(cbNode, node.data.tagName) ||
909909
visitNode(cbNode, node.data.typeExpression) ||
910-
(typeof node.data.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.data.comment));
910+
visitNodes(cbNode, cbNodes, node.data.commentArray);
911911
}
912912

913913
function forEachChildInJSDocLinkCodeOrPlain<T>(node: AstJSDocLink | AstJSDocLinkCode | AstJSDocLinkPlain, cbNode: (node: AstNode) => T | undefined, _cbNodes?: (nodes: AstNodeArray<AstNode>) => T | undefined): T | undefined {
@@ -916,15 +916,15 @@ function forEachChildInJSDocLinkCodeOrPlain<T>(node: AstJSDocLink | AstJSDocLink
916916

917917
function forEachChildInJSDocTag<T>(node: AstJSDocUnknownTag | AstJSDocClassTag | AstJSDocPublicTag | AstJSDocPrivateTag | AstJSDocProtectedTag | AstJSDocReadonlyTag | AstJSDocDeprecatedTag | AstJSDocOverrideTag, cbNode: (node: AstNode) => T | undefined, cbNodes?: (nodes: AstNodeArray<AstNode>) => T | undefined): T | undefined {
918918
return visitNode(cbNode, node.data.tagName)
919-
|| (typeof node.data.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.data.comment));
919+
|| visitNodes(cbNode, cbNodes, node.data.commentArray);
920920
}
921921

922922
function forEachChildInJSDocImportTag<T>(node: AstJSDocImportTag, cbNode: (node: AstNode) => T | undefined, cbNodes?: (nodes: AstNodeArray<AstNode>) => T | undefined): T | undefined {
923923
return visitNode(cbNode, node.data.tagName)
924924
|| visitNode(cbNode, node.data.importClause)
925925
|| visitNode(cbNode, node.data.moduleSpecifier)
926926
|| visitNode(cbNode, node.data.attributes)
927-
|| (typeof node.data.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.data.comment));
927+
|| visitNodes(cbNode, cbNodes, node.data.commentArray);
928928
}
929929

930930
function forEachChildInPartiallyEmittedExpression<T>(node: AstPartiallyEmittedExpression, cbNode: (node: AstNode) => T | undefined, _cbNodes?: (nodes: AstNodeArray<AstNode>) => T | undefined): T | undefined {

0 commit comments

Comments
 (0)