forked from qt-creator/qt-creator
LSP: workaround msvc 2017 bug
Change-Id: I6a6fbfc1a582d83df3f3cf489236c7ca4c6626f7 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
@@ -31,7 +31,7 @@ constexpr const char RegisterCapabilityRequest::methodName[];
|
||||
constexpr const char UnregisterCapabilityRequest::methodName[];
|
||||
|
||||
RegisterCapabilityRequest::RegisterCapabilityRequest(const RegistrationParams ¶ms)
|
||||
: RegisterCapabilityRequest(methodName, params) { }
|
||||
: Request(methodName, params) { }
|
||||
|
||||
UnregisterCapabilityRequest::UnregisterCapabilityRequest(const UnregistrationParams ¶ms)
|
||||
: UnregisterCapabilityRequest(methodName, params) { }
|
||||
|
||||
@@ -73,7 +73,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT RegisterCapabilityRequest : public Request<
|
||||
std::nullptr_t, std::nullptr_t, RegistrationParams>
|
||||
{
|
||||
public:
|
||||
RegisterCapabilityRequest(const RegistrationParams ¶ms = RegistrationParams());
|
||||
RegisterCapabilityRequest(const RegistrationParams ¶ms);
|
||||
using Request::Request;
|
||||
constexpr static const char methodName[] = "client/registerCapability";
|
||||
};
|
||||
@@ -111,7 +111,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT UnregisterCapabilityRequest : public Request
|
||||
std::nullptr_t, std::nullptr_t, UnregistrationParams>
|
||||
{
|
||||
public:
|
||||
UnregisterCapabilityRequest(const UnregistrationParams ¶ms = UnregistrationParams());
|
||||
UnregisterCapabilityRequest(const UnregistrationParams ¶ms);
|
||||
using Request::Request;
|
||||
constexpr static const char methodName[] = "client/unregisterCapability";
|
||||
};
|
||||
|
||||
@@ -256,7 +256,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT CompletionRequest : public Request<
|
||||
CompletionResult, std::nullptr_t, CompletionParams>
|
||||
{
|
||||
public:
|
||||
CompletionRequest(const CompletionParams ¶ms = CompletionParams());
|
||||
CompletionRequest(const CompletionParams ¶ms);
|
||||
using Request::Request;
|
||||
constexpr static const char methodName[] = "textDocument/completion";
|
||||
};
|
||||
@@ -265,7 +265,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT CompletionItemResolveRequest : public Reques
|
||||
CompletionItem, std::nullptr_t, CompletionItem>
|
||||
{
|
||||
public:
|
||||
CompletionItemResolveRequest(const CompletionItem ¶ms = CompletionItem());
|
||||
CompletionItemResolveRequest(const CompletionItem ¶ms);
|
||||
using Request::Request;
|
||||
constexpr static const char methodName[] = "completionItem/resolve";
|
||||
};
|
||||
|
||||
@@ -49,8 +49,7 @@ public:
|
||||
class LANGUAGESERVERPROTOCOL_EXPORT PublishDiagnosticsNotification : public Notification<PublishDiagnosticsParams>
|
||||
{
|
||||
public:
|
||||
PublishDiagnosticsNotification(
|
||||
const PublishDiagnosticsParams ¶ms = PublishDiagnosticsParams());
|
||||
PublishDiagnosticsNotification(const PublishDiagnosticsParams ¶ms);
|
||||
using Notification::Notification;
|
||||
constexpr static const char methodName[] = "textDocument/publishDiagnostics";
|
||||
};
|
||||
|
||||
@@ -155,8 +155,8 @@ InitializeRequest::InitializeRequest(const InitializeParams ¶ms)
|
||||
: Request(methodName, params)
|
||||
{ }
|
||||
|
||||
InitializeNotification::InitializeNotification()
|
||||
: Notification(methodName)
|
||||
InitializeNotification::InitializeNotification(const InitializedParams ¶ms)
|
||||
: Notification(methodName, params)
|
||||
{ }
|
||||
|
||||
} // namespace LanguageServerProtocol
|
||||
|
||||
@@ -129,7 +129,7 @@ using InitializedParams = JsonObject;
|
||||
class LANGUAGESERVERPROTOCOL_EXPORT InitializeNotification : public Notification<InitializedParams>
|
||||
{
|
||||
public:
|
||||
InitializeNotification();
|
||||
InitializeNotification(const InitializedParams ¶ms);
|
||||
using Notification::Notification;
|
||||
constexpr static const char methodName[] = "initialized";
|
||||
|
||||
|
||||
@@ -88,13 +88,14 @@ template <typename Params>
|
||||
class Notification : public JsonRpcMessage
|
||||
{
|
||||
public:
|
||||
Notification() : Notification(QString()) {}
|
||||
Notification(const QString &methodName, const Params ¶ms = Params())
|
||||
Notification(const QString &methodName, const Params ¶ms)
|
||||
{
|
||||
setMethod(methodName);
|
||||
setParams(params);
|
||||
}
|
||||
using JsonRpcMessage::JsonRpcMessage;
|
||||
|
||||
Notification(const QJsonObject &jsonObject) : JsonRpcMessage(jsonObject) {}
|
||||
Notification(QJsonObject &&jsonObject) : JsonRpcMessage(std::move(jsonObject)) {}
|
||||
|
||||
QString method() const
|
||||
{ return fromJsonValue<QString>(m_jsonObject.value(methodKey)); }
|
||||
@@ -267,8 +268,7 @@ template <typename Result, typename ErrorDataType, typename Params>
|
||||
class Request : public Notification<Params>
|
||||
{
|
||||
public:
|
||||
Request() : Notification<Params>() { setId(QUuid::createUuid().toString()); }
|
||||
Request(const QString &methodName, const Params ¶ms = Params())
|
||||
Request(const QString &methodName, const Params ¶ms)
|
||||
: Notification<Params>(methodName, params)
|
||||
{ setId(QUuid::createUuid().toString()); }
|
||||
Request(const QJsonObject &jsonObject) : Notification<Params>(jsonObject) { }
|
||||
@@ -343,7 +343,7 @@ public:
|
||||
class LANGUAGESERVERPROTOCOL_EXPORT CancelRequest : public Notification<CancelParameter>
|
||||
{
|
||||
public:
|
||||
CancelRequest(const CancelParameter ¶ms = CancelParameter());
|
||||
CancelRequest(const CancelParameter ¶ms);
|
||||
using Notification::Notification;
|
||||
constexpr static const char methodName[] = "$/cancelRequest";
|
||||
};
|
||||
|
||||
@@ -898,8 +898,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT SemanticHighlightNotification
|
||||
: public Notification<SemanticHighlightingParams>
|
||||
{
|
||||
public:
|
||||
SemanticHighlightNotification(
|
||||
const SemanticHighlightingParams ¶ms = SemanticHighlightingParams());
|
||||
SemanticHighlightNotification(const SemanticHighlightingParams ¶ms);
|
||||
using Notification::Notification;
|
||||
constexpr static const char methodName[] = "textDocument/semanticHighlighting";
|
||||
};
|
||||
|
||||
@@ -42,12 +42,12 @@ ShowMessageRequest::ShowMessageRequest(const ShowMessageRequestParams ¶ms)
|
||||
: Request(methodName, params)
|
||||
{ }
|
||||
|
||||
LogMessageNotification::LogMessageNotification()
|
||||
: Notification(methodName)
|
||||
LogMessageNotification::LogMessageNotification(const LogMessageParams ¶ms)
|
||||
: Notification(methodName, params)
|
||||
{ }
|
||||
|
||||
TelemetryNotification::TelemetryNotification()
|
||||
: Notification(methodName)
|
||||
TelemetryNotification::TelemetryNotification(const JsonObject ¶ms)
|
||||
: Notification(methodName, params)
|
||||
{ }
|
||||
|
||||
bool ShowMessageRequestParams::isValid(ErrorHierarchy *error) const
|
||||
|
||||
@@ -56,7 +56,7 @@ public:
|
||||
class LANGUAGESERVERPROTOCOL_EXPORT ShowMessageNotification : public Notification<ShowMessageParams>
|
||||
{
|
||||
public:
|
||||
ShowMessageNotification(const ShowMessageParams ¶ms = ShowMessageParams());
|
||||
ShowMessageNotification(const ShowMessageParams ¶ms);
|
||||
using Notification::Notification;
|
||||
constexpr static const char methodName[] = "window/showMessage";
|
||||
};
|
||||
@@ -90,7 +90,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT ShowMessageRequest : public Request<
|
||||
LanguageClientValue<MessageActionItem>, std::nullptr_t, ShowMessageRequestParams>
|
||||
{
|
||||
public:
|
||||
ShowMessageRequest(const ShowMessageRequestParams ¶ms = ShowMessageRequestParams());
|
||||
ShowMessageRequest(const ShowMessageRequestParams ¶ms);
|
||||
using Request::Request;
|
||||
constexpr static const char methodName[] = "window/showMessageRequest";
|
||||
};
|
||||
@@ -100,7 +100,7 @@ using LogMessageParams = ShowMessageParams;
|
||||
class LANGUAGESERVERPROTOCOL_EXPORT LogMessageNotification : public Notification<LogMessageParams>
|
||||
{
|
||||
public:
|
||||
LogMessageNotification();
|
||||
LogMessageNotification(const LogMessageParams ¶ms);
|
||||
using Notification::Notification;
|
||||
constexpr static const char methodName[] = "window/logMessage";
|
||||
};
|
||||
@@ -108,7 +108,7 @@ public:
|
||||
class LANGUAGESERVERPROTOCOL_EXPORT TelemetryNotification : public Notification<JsonObject>
|
||||
{
|
||||
public:
|
||||
TelemetryNotification();
|
||||
TelemetryNotification(const JsonObject ¶ms);
|
||||
using Notification::Notification;
|
||||
constexpr static const char methodName[] = "telemetry/event";
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ namespace LanguageServerProtocol {
|
||||
|
||||
constexpr const char ShutdownRequest::methodName[];
|
||||
constexpr const char ExitNotification::methodName[];
|
||||
ShutdownRequest::ShutdownRequest() : Request(methodName) { }
|
||||
ShutdownRequest::ShutdownRequest() : Request(methodName, nullptr) { }
|
||||
ExitNotification::ExitNotification() : Notification(methodName) { }
|
||||
|
||||
} // namespace LanguageServerProtocol
|
||||
|
||||
@@ -49,8 +49,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT DidOpenTextDocumentNotification : public Not
|
||||
DidOpenTextDocumentParams>
|
||||
{
|
||||
public:
|
||||
DidOpenTextDocumentNotification(
|
||||
const DidOpenTextDocumentParams ¶ms = DidOpenTextDocumentParams());
|
||||
DidOpenTextDocumentNotification(const DidOpenTextDocumentParams ¶ms);
|
||||
using Notification::Notification;
|
||||
constexpr static const char methodName[] = "textDocument/didOpen";
|
||||
};
|
||||
@@ -123,7 +122,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT DidChangeTextDocumentNotification : public N
|
||||
DidChangeTextDocumentParams>
|
||||
{
|
||||
public:
|
||||
DidChangeTextDocumentNotification(const DidChangeTextDocumentParams ¶ms = DidChangeTextDocumentParams());
|
||||
DidChangeTextDocumentNotification(const DidChangeTextDocumentParams ¶ms);
|
||||
using Notification::Notification;
|
||||
constexpr static const char methodName[] = "textDocument/didChange";
|
||||
};
|
||||
@@ -158,8 +157,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT WillSaveTextDocumentNotification : public No
|
||||
WillSaveTextDocumentParams>
|
||||
{
|
||||
public:
|
||||
WillSaveTextDocumentNotification(
|
||||
const WillSaveTextDocumentParams ¶ms = WillSaveTextDocumentParams());
|
||||
WillSaveTextDocumentNotification(const WillSaveTextDocumentParams ¶ms);
|
||||
using Notification::Notification;
|
||||
constexpr static const char methodName[] = "textDocument/willSave";
|
||||
};
|
||||
@@ -168,8 +166,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT WillSaveWaitUntilTextDocumentRequest : publi
|
||||
LanguageClientArray<TextEdit>, std::nullptr_t, WillSaveTextDocumentParams>
|
||||
{
|
||||
public:
|
||||
WillSaveWaitUntilTextDocumentRequest(
|
||||
const WillSaveTextDocumentParams ¶ms = WillSaveTextDocumentParams());
|
||||
WillSaveWaitUntilTextDocumentRequest(const WillSaveTextDocumentParams ¶ms);
|
||||
using Request::Request;
|
||||
constexpr static const char methodName[] = "textDocument/willSaveWaitUntil";
|
||||
};
|
||||
@@ -210,8 +207,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT DidSaveTextDocumentNotification : public Not
|
||||
DidSaveTextDocumentParams>
|
||||
{
|
||||
public:
|
||||
DidSaveTextDocumentNotification(
|
||||
const DidSaveTextDocumentParams ¶ms = DidSaveTextDocumentParams());
|
||||
DidSaveTextDocumentNotification(const DidSaveTextDocumentParams ¶ms);
|
||||
using Notification::Notification;
|
||||
constexpr static const char methodName[] = "textDocument/didSave";
|
||||
};
|
||||
@@ -236,8 +232,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT DidCloseTextDocumentNotification : public No
|
||||
DidCloseTextDocumentParams>
|
||||
{
|
||||
public:
|
||||
DidCloseTextDocumentNotification(
|
||||
const DidCloseTextDocumentParams ¶ms = DidCloseTextDocumentParams());
|
||||
DidCloseTextDocumentNotification(const DidCloseTextDocumentParams ¶ms);
|
||||
using Notification::Notification;
|
||||
constexpr static const char methodName[] = "textDocument/didClose";
|
||||
};
|
||||
|
||||
@@ -37,7 +37,7 @@ constexpr const char ApplyWorkspaceEditRequest::methodName[];
|
||||
constexpr const char DidChangeWatchedFilesNotification::methodName[];
|
||||
|
||||
WorkSpaceFolderRequest::WorkSpaceFolderRequest()
|
||||
: Request(methodName)
|
||||
: Request(methodName, nullptr)
|
||||
{ }
|
||||
|
||||
DidChangeWorkspaceFoldersNotification::DidChangeWorkspaceFoldersNotification(
|
||||
|
||||
@@ -80,8 +80,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT DidChangeWorkspaceFoldersNotification : publ
|
||||
DidChangeWorkspaceFoldersParams>
|
||||
{
|
||||
public:
|
||||
DidChangeWorkspaceFoldersNotification(
|
||||
const DidChangeWorkspaceFoldersParams ¶ms = DidChangeWorkspaceFoldersParams());
|
||||
DidChangeWorkspaceFoldersNotification(const DidChangeWorkspaceFoldersParams ¶ms);
|
||||
constexpr static const char methodName[] = "workspace/didChangeWorkspaceFolders";
|
||||
using Notification::Notification;
|
||||
};
|
||||
@@ -101,8 +100,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT DidChangeConfigurationNotification : public
|
||||
DidChangeConfigurationParams>
|
||||
{
|
||||
public:
|
||||
DidChangeConfigurationNotification(
|
||||
const DidChangeConfigurationParams ¶ms = DidChangeConfigurationParams());
|
||||
DidChangeConfigurationNotification(const DidChangeConfigurationParams ¶ms);
|
||||
using Notification::Notification;
|
||||
constexpr static const char methodName[] = "workspace/didChangeConfiguration";
|
||||
};
|
||||
@@ -138,7 +136,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT ConfigurationRequest : public Request<
|
||||
LanguageClientArray<QJsonValue>, std::nullptr_t, ConfigurationParams>
|
||||
{
|
||||
public:
|
||||
ConfigurationRequest(const ConfigurationParams ¶ms = ConfigurationParams());
|
||||
ConfigurationRequest(const ConfigurationParams ¶ms);
|
||||
using Request::Request;
|
||||
constexpr static const char methodName[] = "workspace/configuration";
|
||||
};
|
||||
@@ -180,7 +178,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT DidChangeWatchedFilesNotification : public N
|
||||
DidChangeWatchedFilesParams>
|
||||
{
|
||||
public:
|
||||
DidChangeWatchedFilesNotification(const DidChangeWatchedFilesParams ¶ms = DidChangeWatchedFilesParams());
|
||||
DidChangeWatchedFilesNotification(const DidChangeWatchedFilesParams ¶ms);
|
||||
using Notification::Notification;
|
||||
constexpr static const char methodName[] = "workspace/didChangeWatchedFiles";
|
||||
};
|
||||
@@ -200,7 +198,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT WorkspaceSymbolRequest : public Request<
|
||||
LanguageClientArray<SymbolInformation>, std::nullptr_t, WorkspaceSymbolParams>
|
||||
{
|
||||
public:
|
||||
WorkspaceSymbolRequest(const WorkspaceSymbolParams ¶ms = WorkspaceSymbolParams());
|
||||
WorkspaceSymbolRequest(const WorkspaceSymbolParams ¶ms);
|
||||
using Request::Request;
|
||||
constexpr static const char methodName[] = "workspace/symbol";
|
||||
};
|
||||
@@ -231,7 +229,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT ExecuteCommandRequest : public Request<
|
||||
QJsonValue, std::nullptr_t, ExecuteCommandParams>
|
||||
{
|
||||
public:
|
||||
ExecuteCommandRequest(const ExecuteCommandParams ¶ms = ExecuteCommandParams());
|
||||
ExecuteCommandRequest(const ExecuteCommandParams ¶ms);
|
||||
using Request::Request;
|
||||
constexpr static const char methodName[] = "workspace/executeCommand";
|
||||
};
|
||||
|
||||
@@ -1367,7 +1367,7 @@ void Client::initializeCallback(const InitializeRequest::Response &initResponse)
|
||||
|
||||
qCDebug(LOGLSPCLIENT) << "language server " << m_displayName << " initialized";
|
||||
m_state = Initialized;
|
||||
sendContent(InitializeNotification());
|
||||
sendContent(InitializeNotification(InitializedParams()));
|
||||
if (m_dynamicCapabilities.isRegistered(DocumentSymbolsRequest::methodName)
|
||||
.value_or(capabilities().documentSymbolProvider().value_or(false))) {
|
||||
TextEditor::IOutlineWidgetFactory::updateOutline();
|
||||
|
||||
@@ -336,7 +336,6 @@ IAssistProposal *LanguageClientCompletionAssistProcessor::perform(const AssistIn
|
||||
}
|
||||
if (m_postponedUpdateConnection)
|
||||
QObject::disconnect(m_postponedUpdateConnection);
|
||||
CompletionRequest completionRequest;
|
||||
CompletionParams::CompletionContext context;
|
||||
if (interface->reason() == ActivationCharacter) {
|
||||
context.setTriggerKind(CompletionParams::TriggerCharacter);
|
||||
@@ -346,7 +345,7 @@ IAssistProposal *LanguageClientCompletionAssistProcessor::perform(const AssistIn
|
||||
} else {
|
||||
context.setTriggerKind(CompletionParams::Invoked);
|
||||
}
|
||||
auto params = completionRequest.params().value_or(CompletionParams());
|
||||
CompletionParams params;
|
||||
int line;
|
||||
int column;
|
||||
if (!Utils::Text::convertPosition(interface->textDocument(), m_pos, &line, &column))
|
||||
@@ -357,10 +356,10 @@ IAssistProposal *LanguageClientCompletionAssistProcessor::perform(const AssistIn
|
||||
params.setContext(context);
|
||||
params.setTextDocument(
|
||||
DocumentUri::fromFilePath(Utils::FilePath::fromString(interface->fileName())));
|
||||
CompletionRequest completionRequest(params);
|
||||
completionRequest.setResponseCallback([this](auto response) {
|
||||
this->handleCompletionResponse(response);
|
||||
});
|
||||
completionRequest.setParams(params);
|
||||
m_client->sendContent(completionRequest);
|
||||
m_client->addAssistProcessor(this);
|
||||
m_currentRequest = completionRequest.id();
|
||||
|
||||
Reference in New Issue
Block a user