@@ -682,14 +682,19 @@ namespace ts {
682
682
let SourceFileConstructor : new ( kind : SyntaxKind , pos : number , end : number ) => Node ;
683
683
// tslint:enable variable-name
684
684
685
+ function countNode ( node : Node ) {
686
+ nodeCount ++ ;
687
+ return node ;
688
+ }
689
+
685
690
// Rather than using `createBaseNodeFactory` here, we establish a `BaseNodeFactory` that closes over the
686
691
// constructors above, which are reset each time `initializeState` is called.
687
692
const baseNodeFactory : BaseNodeFactory = {
688
- createBaseSourceFileNode : kind => new SourceFileConstructor ( kind , /*pos*/ 0 , /*end*/ 0 ) ,
689
- createBaseIdentifierNode : kind => new IdentifierConstructor ( kind , /*pos*/ 0 , /*end*/ 0 ) ,
690
- createBasePrivateIdentifierNode : kind => new PrivateIdentifierConstructor ( kind , /*pos*/ 0 , /*end*/ 0 ) ,
691
- createBaseTokenNode : kind => new TokenConstructor ( kind , /*pos*/ 0 , /*end*/ 0 ) ,
692
- createBaseNode : kind => new NodeConstructor ( kind , /*pos*/ 0 , /*end*/ 0 )
693
+ createBaseSourceFileNode : kind => countNode ( new SourceFileConstructor ( kind , /*pos*/ 0 , /*end*/ 0 ) ) ,
694
+ createBaseIdentifierNode : kind => countNode ( new IdentifierConstructor ( kind , /*pos*/ 0 , /*end*/ 0 ) ) ,
695
+ createBasePrivateIdentifierNode : kind => countNode ( new PrivateIdentifierConstructor ( kind , /*pos*/ 0 , /*end*/ 0 ) ) ,
696
+ createBaseTokenNode : kind => countNode ( new TokenConstructor ( kind , /*pos*/ 0 , /*end*/ 0 ) ) ,
697
+ createBaseNode : kind => countNode ( new NodeConstructor ( kind , /*pos*/ 0 , /*end*/ 0 ) )
693
698
} ;
694
699
695
700
const factory = createNodeFactory ( NodeFactoryFlags . NoParenthesizerRules | NodeFactoryFlags . NoNodeConverters , baseNodeFactory , {
@@ -704,14 +709,9 @@ namespace ts {
704
709
}
705
710
} ,
706
711
onFinishNode ( node ) {
707
- if ( setParentNodes ) {
708
- if ( hasJSDocNodes ( node ) ) {
709
- setEachParent ( node . jsDoc , node ) ;
710
- }
712
+ if ( setParentNodes && hasJSDocNodes ( node ) ) {
713
+ setEachParent ( node . jsDoc , node ) ;
711
714
}
712
- } ,
713
- onCreateNode ( _ ) {
714
- nodeCount ++ ;
715
715
}
716
716
} ) ;
717
717
0 commit comments