forked from qt-creator/qt-creator
Clang: Workaround completion for make_unique/shared
Change unsaved file to provide constructor overloads for std::make_unique, std::make_shared and QSharedPointer::create Example: // Provide Foo constructor signatures at <Cursor> std::make_unique<Foo>(<Cursor> Task-number: QTCREATORBUG-18615 Change-Id: I87dd17085adf99ee498db969a3cdda5ebd973476 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
This commit is contained in:
@@ -36,12 +36,15 @@ namespace ClangBackEnd {
|
||||
static CompleteCodeJob::AsyncResult runAsyncHelper(const TranslationUnit &translationUnit,
|
||||
UnsavedFiles unsavedFiles,
|
||||
quint32 line,
|
||||
quint32 column)
|
||||
quint32 column,
|
||||
qint32 funcNameStartLine,
|
||||
qint32 funcNameStartColumn)
|
||||
{
|
||||
TIME_SCOPE_DURATION("CompleteCodeJobRunner");
|
||||
|
||||
const TranslationUnit::CodeCompletionResult results
|
||||
= translationUnit.complete(unsavedFiles, line, column);
|
||||
= translationUnit.complete(unsavedFiles, line, column,
|
||||
funcNameStartLine, funcNameStartColumn);
|
||||
|
||||
CompleteCodeJob::AsyncResult asyncResult;
|
||||
asyncResult.completions = results.completions;
|
||||
@@ -63,8 +66,12 @@ IAsyncJob::AsyncPrepareResult CompleteCodeJob::prepareAsyncRun()
|
||||
const UnsavedFiles unsavedFiles = *context().unsavedFiles;
|
||||
const quint32 line = jobRequest.line;
|
||||
const quint32 column = jobRequest.column;
|
||||
setRunner([translationUnit, unsavedFiles, line, column]() {
|
||||
return runAsyncHelper(translationUnit, unsavedFiles, line, column);
|
||||
const qint32 funcNameStartLine = jobRequest.funcNameStartLine;
|
||||
const qint32 funcNameStartColumn = jobRequest.funcNameStartColumn;
|
||||
setRunner([translationUnit, unsavedFiles, line, column,
|
||||
funcNameStartLine, funcNameStartColumn]() {
|
||||
return runAsyncHelper(translationUnit, unsavedFiles, line, column,
|
||||
funcNameStartLine, funcNameStartColumn);
|
||||
});
|
||||
return AsyncPrepareResult{translationUnit.id()};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user