Files
clang-p2996/lldb/tools/argdumper/argdumper.cpp
Zachary Turner c156427ded Don't allow direct access to StreamString's internal buffer.
This is a large API change that removes the two functions from
StreamString that return a std::string& and a const std::string&,
and instead provide one function which returns a StringRef.

Direct access to the underlying buffer violates the concept of
a "stream" which is intended to provide forward only access,
and makes porting to llvm::raw_ostream more difficult in the
future.

Differential Revision: https://reviews.llvm.org/D26698

llvm-svn: 287152
2016-11-16 21:15:24 +00:00

34 lines
839 B
C++

//===-- argdumper.cpp --------------------------------------------*- C++-*-===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#include "lldb/Core/StreamString.h"
#include "lldb/Utility/JSON.h"
#include <iostream>
using namespace lldb_private;
int main(int argc, char *argv[]) {
JSONArray::SP arguments(new JSONArray());
for (int i = 1; i < argc; i++) {
arguments->AppendObject(JSONString::SP(new JSONString(argv[i])));
}
JSONObject::SP object(new JSONObject());
object->SetObject("arguments", arguments);
StreamString ss;
object->Write(ss);
std::cout << ss.GetData() << std::endl;
return 0;
}