mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-02-22 11:15:44 +00:00
[JSON] Use LLVM's library for encoding JSON in GDBRemoteCommunicationServerPlatform
This patch replaces the LLDB's JSON implementation with the one from LLVM in GDBRemoteCommunicationServerPlatform. Differential revision: https://reviews.llvm.org/D68302 llvm-svn: 373499
This commit is contained in:
parent
2a5a906753
commit
7cb720dda0
@ -18,6 +18,7 @@
|
||||
#include <thread>
|
||||
|
||||
#include "llvm/Support/FileSystem.h"
|
||||
#include "llvm/Support/JSON.h"
|
||||
#include "llvm/Support/Threading.h"
|
||||
|
||||
#include "lldb/Host/Config.h"
|
||||
@ -28,7 +29,6 @@
|
||||
#include "lldb/Target/Platform.h"
|
||||
#include "lldb/Target/UnixSignals.h"
|
||||
#include "lldb/Utility/GDBRemote.h"
|
||||
#include "lldb/Utility/JSON.h"
|
||||
#include "lldb/Utility/Log.h"
|
||||
#include "lldb/Utility/StreamString.h"
|
||||
#include "lldb/Utility/StructuredData.h"
|
||||
@ -37,8 +37,8 @@
|
||||
#include "lldb/Utility/StringExtractorGDBRemote.h"
|
||||
|
||||
using namespace lldb;
|
||||
using namespace lldb_private;
|
||||
using namespace lldb_private::process_gdb_remote;
|
||||
using namespace lldb_private;
|
||||
|
||||
// GDBRemoteCommunicationServerPlatform constructor
|
||||
GDBRemoteCommunicationServerPlatform::GDBRemoteCommunicationServerPlatform(
|
||||
@ -215,22 +215,21 @@ GDBRemoteCommunicationServerPlatform::Handle_qLaunchGDBServer(
|
||||
GDBRemoteCommunication::PacketResult
|
||||
GDBRemoteCommunicationServerPlatform::Handle_qQueryGDBServer(
|
||||
StringExtractorGDBRemote &packet) {
|
||||
namespace json = llvm::json;
|
||||
|
||||
if (m_pending_gdb_server.pid == LLDB_INVALID_PROCESS_ID)
|
||||
return SendErrorResponse(4);
|
||||
|
||||
JSONObject::SP server_sp = std::make_shared<JSONObject>();
|
||||
server_sp->SetObject("port",
|
||||
std::make_shared<JSONNumber>(m_pending_gdb_server.port));
|
||||
if (!m_pending_gdb_server.socket_name.empty())
|
||||
server_sp->SetObject(
|
||||
"socket_name",
|
||||
std::make_shared<JSONString>(m_pending_gdb_server.socket_name.c_str()));
|
||||
json::Object server{{"port", m_pending_gdb_server.port}};
|
||||
|
||||
JSONArray server_list;
|
||||
server_list.AppendObject(server_sp);
|
||||
if (!m_pending_gdb_server.socket_name.empty())
|
||||
server.try_emplace("socket_name", m_pending_gdb_server.socket_name);
|
||||
|
||||
json::Array server_list;
|
||||
server_list.push_back(std::move(server));
|
||||
|
||||
StreamGDBRemote response;
|
||||
server_list.Write(response);
|
||||
response.AsRawOstream() << std::move(server_list);
|
||||
|
||||
StreamGDBRemote escaped_response;
|
||||
escaped_response.PutEscapedBytes(response.GetString().data(),
|
||||
|
Loading…
x
Reference in New Issue
Block a user