@@ -340,10 +340,6 @@ namespace ts.Completions {
340340 let replacementSpan : TextSpan | undefined ;
341341
342342 const insertQuestionDot = origin && originIsNullableMember ( origin ) ;
343- if ( insertQuestionDot && preferences . includeAutomaticOptionalChainCompletions === false ) {
344- return undefined ;
345- }
346-
347343 const useBraces = origin && originIsSymbolMember ( origin ) || needsConvertPropertyAccess ;
348344 if ( origin && originIsThisType ( origin ) ) {
349345 insertText = needsConvertPropertyAccess
@@ -785,7 +781,7 @@ namespace ts.Completions {
785781 sourceFile : SourceFile ,
786782 isUncheckedFile : boolean ,
787783 position : number ,
788- preferences : Pick < UserPreferences , "includeCompletionsForModuleExports" | "includeCompletionsWithInsertText" > ,
784+ preferences : Pick < UserPreferences , "includeCompletionsForModuleExports" | "includeCompletionsWithInsertText" | "includeAutomaticOptionalChainCompletions" > ,
789785 detailsEntryId : CompletionEntryIdentifier | undefined ,
790786 host : LanguageServiceHost ,
791787 ) : CompletionData | Request | undefined {
@@ -1124,6 +1120,9 @@ namespace ts.Completions {
11241120 insertQuestionDot = isRightOfDot && ! isRightOfQuestionDot ;
11251121 type = type . getNonNullableType ( ) ;
11261122 }
1123+ if ( insertQuestionDot && preferences . includeAutomaticOptionalChainCompletions === false ) {
1124+ return ;
1125+ }
11271126 addTypeProperties ( type , ! ! ( node . flags & NodeFlags . AwaitContext ) , insertQuestionDot ) ;
11281127 }
11291128
@@ -1145,6 +1144,9 @@ namespace ts.Completions {
11451144 insertQuestionDot = isRightOfDot && ! isRightOfQuestionDot ;
11461145 type = type . getNonNullableType ( ) ;
11471146 }
1147+ if ( insertQuestionDot && preferences . includeAutomaticOptionalChainCompletions === false ) {
1148+ return ;
1149+ }
11481150 addTypeProperties ( type , ! ! ( node . flags & NodeFlags . AwaitContext ) , insertQuestionDot ) ;
11491151 }
11501152 }
0 commit comments