@@ -651,44 +651,26 @@ namespace ts {
651
651
return current ;
652
652
}
653
653
654
- if ( includeJsDocComment ) {
655
- const jsDocChildren = ts . filter ( current . getChildren ( ) , isJSDocNode ) ;
656
- for ( const jsDocChild of jsDocChildren ) {
657
- const start = allowPositionInLeadingTrivia ? jsDocChild . getFullStart ( ) : jsDocChild . getStart ( sourceFile , includeJsDocComment ) ;
658
- if ( start <= position ) {
659
- const end = jsDocChild . getEnd ( ) ;
660
- if ( position < end || ( position === end && jsDocChild . kind === SyntaxKind . EndOfFileToken ) ) {
661
- current = jsDocChild ;
662
- continue outer;
663
- }
664
- else if ( includeItemAtEndPosition && end === position ) {
665
- const previousToken = findPrecedingToken ( position , sourceFile , jsDocChild ) ;
666
- if ( previousToken && includeItemAtEndPosition ( previousToken ) ) {
667
- return previousToken ;
668
- }
669
- }
670
- }
671
- }
672
- }
673
-
674
654
// find the child that contains 'position'
675
655
for ( const child of current . getChildren ( ) ) {
676
- // all jsDocComment nodes were already visited
677
- if ( isJSDocNode ( child ) ) {
656
+ if ( isJSDocNode ( child ) && ! includeJsDocComment ) {
678
657
continue ;
679
658
}
659
+
680
660
const start = allowPositionInLeadingTrivia ? child . getFullStart ( ) : child . getStart ( sourceFile , includeJsDocComment ) ;
681
- if ( start <= position ) {
682
- const end = child . getEnd ( ) ;
683
- if ( position < end || ( position === end && child . kind === SyntaxKind . EndOfFileToken ) ) {
684
- current = child ;
685
- continue outer;
686
- }
687
- else if ( includeItemAtEndPosition && end === position ) {
688
- const previousToken = findPrecedingToken ( position , sourceFile , child ) ;
689
- if ( previousToken && includeItemAtEndPosition ( previousToken ) ) {
690
- return previousToken ;
691
- }
661
+ if ( start > position ) {
662
+ continue ;
663
+ }
664
+
665
+ const end = child . getEnd ( ) ;
666
+ if ( position < end || ( position === end && child . kind === SyntaxKind . EndOfFileToken ) ) {
667
+ current = child ;
668
+ continue outer;
669
+ }
670
+ else if ( includeItemAtEndPosition && end === position ) {
671
+ const previousToken = findPrecedingToken ( position , sourceFile , child ) ;
672
+ if ( previousToken && includeItemAtEndPosition ( previousToken ) ) {
673
+ return previousToken ;
692
674
}
693
675
}
694
676
}
0 commit comments