Skip to content

Commit c88e1c9

Browse files
committed
[CodeCompletion] self for dot expressions
May dot expressions finally have a 'self' completion.
1 parent 9d3b6be commit c88e1c9

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

lib/IDE/CodeCompletion.cpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1318,7 +1318,7 @@ class CodeCompletionCallbacksImpl : public CodeCompletionCallbacks {
13181318
if (!DC)
13191319
return;
13201320
auto *CD = DC->getAsClassOrClassExtensionContext();
1321-
if (CD == nullptr)
1321+
if (!CD)
13221322
return;
13231323
Type ST = CD->getSuperclass();
13241324
if (ST.isNull() || ST->is<ErrorType>())
@@ -5318,6 +5318,13 @@ void CodeCompletionCallbacksImpl::doneParsing() {
53185318
if (isDynamicLookup(*ExprType))
53195319
Lookup.setIsDynamicLookup();
53205320

5321+
CodeCompletionResultBuilder Builder(CompletionContext.getResultSink(),
5322+
CodeCompletionResult::ResultKind::Keyword,
5323+
SemanticContextKind::CurrentNominal, {});
5324+
Builder.setKeywordKind(CodeCompletionKeywordKind::kw_self);
5325+
Builder.addTextChunk("self");
5326+
Builder.addTypeAnnotation(ExprType->getString());
5327+
53215328
if (isa<BindOptionalExpr>(ParsedExpr) || isa<ForceValueExpr>(ParsedExpr))
53225329
Lookup.setIsUnwrappedOptional(true);
53235330

0 commit comments

Comments
 (0)