[JSON] Use LLVM's library for argdumper
authorJonas Devlieghere <jonas@devlieghere.com>
Tue, 1 Oct 2019 17:41:55 +0000 (17:41 +0000)
committerJonas Devlieghere <jonas@devlieghere.com>
Tue, 1 Oct 2019 17:41:55 +0000 (17:41 +0000)
This patch replaces the LLDB's JSON implementation with the one from
LLVM in argdumper.

Differential revision: https://reviews.llvm.org/D68279

llvm-svn: 373361

lldb/tools/argdumper/CMakeLists.txt
lldb/tools/argdumper/argdumper.cpp

index d076748..9249463 100644 (file)
@@ -1,6 +1,6 @@
 add_lldb_tool(lldb-argdumper ADD_TO_FRAMEWORK
   argdumper.cpp
 
-  LINK_LIBS
-    lldbUtility
+  LINK_COMPONENTS
+    Support
 )
index 7fd8999..1cf0d6d 100644 (file)
@@ -6,27 +6,15 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "lldb/Utility/JSON.h"
-#include "lldb/Utility/StreamString.h"
+#include "llvm/Support/JSON.h"
 
-#include <iostream>
-
-using namespace lldb_private;
+using namespace llvm;
 
 int main(int argc, char *argv[]) {
-  JSONArray::SP arguments(new JSONArray());
+  json::Array Arguments;
   for (int i = 1; i < argc; i++) {
-    arguments->AppendObject(JSONString::SP(new JSONString(argv[i])));
+    Arguments.push_back(argv[i]);
   }
-
-  JSONObject::SP object(new JSONObject());
-  object->SetObject("arguments", arguments);
-
-  StreamString ss;
-
-  object->Write(ss);
-
-  std::cout << ss.GetData() << std::endl;
-
+  llvm::outs() << json::Object({{"arguments", std::move(Arguments)}});
   return 0;
 }