Clang: Add clang query pane

We now support highlighting for an example text and for the query.

Change-Id: I88c415ff871cf3e4c2d4fc83d60a8555bf0ce08a
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
Marco Bubke
2017-07-03 12:35:58 +02:00
committed by Tim Jenssen
parent 8c4127ebac
commit a31eae4d0a
75 changed files with 2950 additions and 484 deletions

View File

@@ -27,7 +27,7 @@
#include "sourcerangefilter.h"
#include <sourcerangesanddiagnosticsforquerymessage.h>
#include <sourcerangesforquerymessage.h>
#include <filecontainerv2.h>
#include <stringcache.h>
@@ -38,7 +38,7 @@ namespace ClangBackEnd {
class ClangQueryGatherer
{
public:
using Future = std::future<SourceRangesAndDiagnosticsForQueryMessage>;
using Future = std::future<SourceRangesForQueryMessage>;
ClangQueryGatherer() = default;
ClangQueryGatherer(StringCache<Utils::PathString, std::mutex> *filePathCache,
@@ -46,22 +46,22 @@ public:
std::vector<V2::FileContainer> &&unsaved,
Utils::SmallString &&query);
static SourceRangesAndDiagnosticsForQueryMessage createSourceRangesAndDiagnosticsForSource(
static SourceRangesForQueryMessage createSourceRangesForSource(
StringCache<Utils::PathString, std::mutex> *filePathCache,
V2::FileContainer &&source,
const std::vector<V2::FileContainer> &unsaved,
Utils::SmallString &&query);
bool canCreateSourceRangesAndDiagnostics() const;
SourceRangesAndDiagnosticsForQueryMessage createNextSourceRangesAndDiagnostics();
Future startCreateNextSourceRangesAndDiagnosticsMessage();
void startCreateNextSourceRangesAndDiagnosticsMessages();
bool canCreateSourceRanges() const;
SourceRangesForQueryMessage createNextSourceRanges();
Future startCreateNextSourceRangesMessage();
void startCreateNextSourceRangesMessages();
void waitForFinished();
bool isFinished() const;
const std::vector<V2::FileContainer> &sources() const;
const std::vector<Future> &sourceFutures() const;
std::vector<SourceRangesAndDiagnosticsForQueryMessage> allCurrentProcessedMessages();
std::vector<SourceRangesAndDiagnosticsForQueryMessage> finishedMessages();
std::vector<SourceRangesForQueryMessage> allCurrentProcessedMessages();
std::vector<SourceRangesForQueryMessage> finishedMessages();
void setProcessingSlotCount(uint count);