Skip to content

Commit 9b6a027

Browse files
Perform checks prior to calling addTypeProperties.
1 parent 30cca63 commit 9b6a027

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

src/services/completions.ts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)