@@ -340,10 +340,6 @@ namespace ts.Completions {
340
340
let replacementSpan : TextSpan | undefined ;
341
341
342
342
const insertQuestionDot = origin && originIsNullableMember ( origin ) ;
343
- if ( insertQuestionDot && preferences . includeAutomaticOptionalChainCompletions === false ) {
344
- return undefined ;
345
- }
346
-
347
343
const useBraces = origin && originIsSymbolMember ( origin ) || needsConvertPropertyAccess ;
348
344
if ( origin && originIsThisType ( origin ) ) {
349
345
insertText = needsConvertPropertyAccess
@@ -785,7 +781,7 @@ namespace ts.Completions {
785
781
sourceFile : SourceFile ,
786
782
isUncheckedFile : boolean ,
787
783
position : number ,
788
- preferences : Pick < UserPreferences , "includeCompletionsForModuleExports" | "includeCompletionsWithInsertText" > ,
784
+ preferences : Pick < UserPreferences , "includeCompletionsForModuleExports" | "includeCompletionsWithInsertText" | "includeAutomaticOptionalChainCompletions" > ,
789
785
detailsEntryId : CompletionEntryIdentifier | undefined ,
790
786
host : LanguageServiceHost ,
791
787
) : CompletionData | Request | undefined {
@@ -1124,6 +1120,9 @@ namespace ts.Completions {
1124
1120
insertQuestionDot = isRightOfDot && ! isRightOfQuestionDot ;
1125
1121
type = type . getNonNullableType ( ) ;
1126
1122
}
1123
+ if ( insertQuestionDot && preferences . includeAutomaticOptionalChainCompletions === false ) {
1124
+ return ;
1125
+ }
1127
1126
addTypeProperties ( type , ! ! ( node . flags & NodeFlags . AwaitContext ) , insertQuestionDot ) ;
1128
1127
}
1129
1128
@@ -1145,6 +1144,9 @@ namespace ts.Completions {
1145
1144
insertQuestionDot = isRightOfDot && ! isRightOfQuestionDot ;
1146
1145
type = type . getNonNullableType ( ) ;
1147
1146
}
1147
+ if ( insertQuestionDot && preferences . includeAutomaticOptionalChainCompletions === false ) {
1148
+ return ;
1149
+ }
1148
1150
addTypeProperties ( type , ! ! ( node . flags & NodeFlags . AwaitContext ) , insertQuestionDot ) ;
1149
1151
}
1150
1152
}
0 commit comments