-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());