Convert an ownership comment with std::uinque_ptr.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@215855 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Rafael Espindola 2014-08-17 22:20:33 +00:00
parent 822199b9e6
commit b5a6adc30a
3 changed files with 13 additions and 20 deletions

View File

@ -79,8 +79,7 @@ public:
/// \brief This keeps a reference to the string referenced by \p Input.
Stream(StringRef Input, SourceMgr &);
/// \brief This takes ownership of \p InputBuffer.
Stream(MemoryBuffer *InputBuffer, SourceMgr &);
Stream(std::unique_ptr<MemoryBuffer> InputBuffer, SourceMgr &);
~Stream();
document_iterator begin();

View File

@ -260,7 +260,7 @@ namespace yaml {
class Scanner {
public:
Scanner(const StringRef Input, SourceMgr &SM);
Scanner(MemoryBuffer *Buffer, SourceMgr &SM_);
Scanner(std::unique_ptr<MemoryBuffer> Buffer, SourceMgr &SM_);
/// @brief Parse the next token and return it without popping it.
Token &peekNext();
@ -714,19 +714,12 @@ Scanner::Scanner(StringRef Input, SourceMgr &sm)
End = InputBuffer->getBufferEnd();
}
Scanner::Scanner(MemoryBuffer *Buffer, SourceMgr &SM_)
: SM(SM_)
, InputBuffer(Buffer)
, Current(InputBuffer->getBufferStart())
, End(InputBuffer->getBufferEnd())
, Indent(-1)
, Column(0)
, Line(0)
, FlowLevel(0)
, IsStartOfStream(true)
, IsSimpleKeyAllowed(true)
, Failed(false) {
SM.AddNewSourceBuffer(InputBuffer, SMLoc());
Scanner::Scanner(std::unique_ptr<MemoryBuffer> Buffer, SourceMgr &SM_)
: SM(SM_), InputBuffer(Buffer.get()),
Current(InputBuffer->getBufferStart()), End(InputBuffer->getBufferEnd()),
Indent(-1), Column(0), Line(0), FlowLevel(0), IsStartOfStream(true),
IsSimpleKeyAllowed(true), Failed(false) {
SM.AddNewSourceBuffer(Buffer.release(), SMLoc());
}
Token &Scanner::peekNext() {
@ -1524,8 +1517,8 @@ bool Scanner::fetchMoreTokens() {
Stream::Stream(StringRef Input, SourceMgr &SM)
: scanner(new Scanner(Input, SM)), CurrentDoc() {}
Stream::Stream(MemoryBuffer *InputBuffer, SourceMgr &SM)
: scanner(new Scanner(InputBuffer, SM)), CurrentDoc() {}
Stream::Stream(std::unique_ptr<MemoryBuffer> InputBuffer, SourceMgr &SM)
: scanner(new Scanner(std::move(InputBuffer), SM)), CurrentDoc() {}
Stream::~Stream() {}

View File

@ -210,8 +210,9 @@ TEST(YAMLParser, DiagnosticFilenameFromBufferID) {
// When we construct a YAML stream over a named buffer,
// we get its ID as filename in diagnostics.
MemoryBuffer* Buffer = MemoryBuffer::getMemBuffer("[]", "buffername.yaml");
yaml::Stream Stream(Buffer, SM);
std::unique_ptr<MemoryBuffer> Buffer(
MemoryBuffer::getMemBuffer("[]", "buffername.yaml"));
yaml::Stream Stream(std::move(Buffer), SM);
Stream.printError(Stream.begin()->getRoot(), "Hello, World!");
EXPECT_EQ("buffername.yaml", GeneratedDiag.getFilename());
}