Exemplo n.º 1
0
CodeCompletions CodeCompleter::complete(uint line, uint column,
                                        int funcNameStartLine,
                                        int funcNameStartColumn)
{
    neededCorrection_ = CompletionCorrection::NoCorrection;

    // Check if we have a smart pointer completion and get proper constructor signatures in results.
    // Results are empty when it's not a smart pointer or this completion failed.
    ClangCodeCompleteResults results = completeSmartPointerCreation(line,
                                                                    column,
                                                                    funcNameStartLine,
                                                                    funcNameStartColumn);

    if (results.isNull() || results.isEmpty())
        results = completeHelper(line, column);

    filterUnknownContextResults(results, unsavedFile(), line, column);
    tryDotArrowCorrectionIfNoResults(results, line, column);

    return toCodeCompletions(results);
}