brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.1 KiB · ed0db4e Raw
60 lines · c
1//===--- Protocol.h - Language Server Protocol Implementation ---*- C++ -*-===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8//9// This file contains structs for LSP commands that are specific to the MLIR10// server.11//12// Each struct has a toJSON and fromJSON function, that converts between13// the struct and a JSON representation. (See JSON.h)14//15// Some structs also have operator<< serialization. This is for debugging and16// tests, and is not generally machine-readable.17//18//===----------------------------------------------------------------------===//19 20#ifndef LIB_MLIR_TOOLS_MLIRLSPSERVER_PROTOCOL_H_21#define LIB_MLIR_TOOLS_MLIRLSPSERVER_PROTOCOL_H_22 23#include "llvm/Support/LSP/Protocol.h"24 25namespace llvm {26namespace lsp {27//===----------------------------------------------------------------------===//28// MLIRConvertBytecodeParams29//===----------------------------------------------------------------------===//30 31/// This class represents the parameters used when converting between MLIR's32/// bytecode and textual format.33struct MLIRConvertBytecodeParams {34  /// The input file containing the bytecode or textual format.35  URIForFile uri;36};37 38/// Add support for JSON serialization.39bool fromJSON(const llvm::json::Value &value, MLIRConvertBytecodeParams &result,40              llvm::json::Path path);41 42//===----------------------------------------------------------------------===//43// MLIRConvertBytecodeResult44//===----------------------------------------------------------------------===//45 46/// This class represents the result of converting between MLIR's bytecode and47/// textual format.48struct MLIRConvertBytecodeResult {49  /// The resultant output of the conversion.50  std::string output;51};52 53/// Add support for JSON serialization.54llvm::json::Value toJSON(const MLIRConvertBytecodeResult &value);55 56} // namespace lsp57} // namespace llvm58 59#endif60