//===- PDLLServer.h - PDL General Language Server ---------------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #ifndef LIB_MLIR_TOOLS_MLIRPDLLSPSERVER_SERVER_H_ #define LIB_MLIR_TOOLS_MLIRPDLLSPSERVER_SERVER_H_ #include "mlir/Support/LLVM.h" #include "llvm/ADT/StringRef.h" #include <memory> #include <optional> #include <string> #include <vector> namespace mlir { namespace lsp { struct Diagnostic; class CompilationDatabase; struct PDLLViewOutputResult; enum class PDLLViewOutputKind; struct CompletionList; struct DocumentLink; struct DocumentSymbol; struct Hover; struct InlayHint; struct Location; struct Position; struct Range; struct SignatureHelp; struct TextDocumentContentChangeEvent; class URIForFile; /// This class implements all of the PDLL related functionality necessary for a /// language server. This class allows for keeping the PDLL specific logic /// separate from the logic that involves LSP server/client communication. class PDLLServer { … }; } // namespace lsp } // namespace mlir #endif // LIB_MLIR_TOOLS_MLIRPDLLSPSERVER_SERVER_H_