@@ -651,44 +651,26 @@ namespace ts {
651651 return current ;
652652 }
653653
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-
674654 // find the child that contains 'position'
675655 for ( const child of current . getChildren ( ) ) {
676- // all jsDocComment nodes were already visited
677- if ( isJSDocNode ( child ) ) {
656+ if ( isJSDocNode ( child ) && ! includeJsDocComment ) {
678657 continue ;
679658 }
659+
680660 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 ;
692674 }
693675 }
694676 }
0 commit comments