Clang: Improve function definition completion

Insert argument list together with completion.

Task-number: QTCREATORBUG-20826
Change-Id: I4aa9faaa04bcd3ca014306aad27843c2b4419d3c
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
This commit is contained in:
Ivan Donchevskii
2018-07-31 09:48:02 +02:00
parent 83024557d6
commit 810896936b
5 changed files with 35 additions and 16 deletions

View File

@@ -176,6 +176,9 @@ void CodeCompletionsExtractor::extractText()
void CodeCompletionsExtractor::extractMethodCompletionKind()
{
CXCompletionString cxCompletionString = cxCodeCompleteResults->Results[cxCodeCompleteResultIndex].CompletionString;
const unsigned long long contexts = clang_codeCompleteGetContexts(cxCodeCompleteResults);
const uint annotationCount = clang_getCompletionNumAnnotations(cxCompletionString);
for (uint annotationIndex = 0; annotationIndex < annotationCount; ++annotationIndex) {
@@ -192,7 +195,11 @@ void CodeCompletionsExtractor::extractMethodCompletionKind()
}
}
currentCodeCompletion_.completionKind = CodeCompletion::FunctionCompletionKind;
currentCodeCompletion_.completionKind = CodeCompletion::FunctionDefinitionCompletionKind;
if ((contexts & CXCompletionContext_DotMemberAccess)
|| (contexts & CXCompletionContext_ArrowMemberAccess)) {
currentCodeCompletion_.completionKind = CodeCompletion::FunctionCompletionKind;
}
}
void CodeCompletionsExtractor::extractMacroCompletionKind()