clang-tools  7.0.0
Classes | Namespaces | Enumerations | Functions
JSONRPCDispatcher.h File Reference
#include "Logger.h"
#include "Protocol.h"
#include "Trace.h"
#include "clang/Basic/LLVM.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/Support/JSON.h"
#include <iosfwd>
#include <mutex>
Include dependency graph for JSONRPCDispatcher.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  clang::clangd::JSONOutput
 Encapsulates output and logs streams and provides thread-safe access to them. More...
 
class  clang::clangd::JSONRPCDispatcher
 Main JSONRPC entry point. More...
 

Namespaces

 clang
 ===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//
 
 clang::clangd
 

Enumerations

enum  clang::clangd::JSONStreamStyle { clang::clangd::Standard, clang::clangd::Delimited }
 Controls the way JSON-RPC messages are encoded (both input and output). More...
 

Functions

void clang::clangd::reply (llvm::json::Value &&Result)
 Sends a successful reply. More...
 
void clang::clangd::replyError (ErrorCode Code, const llvm::StringRef &Message)
 Sends an error response to the client, and logs it. More...
 
void clang::clangd::call (llvm::StringRef Method, llvm::json::Value &&Params)
 Sends a request to the client. More...
 
void clang::clangd::runLanguageServerLoop (std::FILE *In, JSONOutput &Out, JSONStreamStyle InputStyle, JSONRPCDispatcher &Dispatcher, bool &IsDone)
 Parses input queries from LSP client (coming from In) and runs call method of Dispatcher for each query. More...