@@ -470,33 +470,33 @@ Optional<unsigned> CompilerInstance::getRecordedBufferID(const InputFile &input,
470
470
}
471
471
auto buffers = getInputBuffersIfPresent (input);
472
472
473
- if (!buffers.ModuleBuffer ) {
473
+ if (!buffers.hasValue () ) {
474
474
failed = true ;
475
475
return None;
476
476
}
477
477
478
478
// FIXME: The fact that this test happens twice, for some cases,
479
479
// suggests that setupInputs could use another round of refactoring.
480
- if (serialization::isSerializedAST (buffers. ModuleBuffer ->getBuffer ())) {
480
+ if (serialization::isSerializedAST (buffers-> ModuleBuffer ->getBuffer ())) {
481
481
PartialModules.push_back (
482
- {std::move (buffers. ModuleBuffer ), std::move (buffers. ModuleDocBuffer ),
483
- std::move (buffers. ModuleSourceInfoBuffer )});
482
+ {std::move (buffers-> ModuleBuffer ), std::move (buffers-> ModuleDocBuffer ),
483
+ std::move (buffers-> ModuleSourceInfoBuffer )});
484
484
return None;
485
485
}
486
- assert (buffers. ModuleDocBuffer .get () == nullptr );
487
- assert (buffers. ModuleSourceInfoBuffer .get () == nullptr );
486
+ assert (buffers-> ModuleDocBuffer .get () == nullptr );
487
+ assert (buffers-> ModuleSourceInfoBuffer .get () == nullptr );
488
488
// Transfer ownership of the MemoryBuffer to the SourceMgr.
489
- unsigned bufferID = SourceMgr.addNewSourceBuffer (std::move (buffers. ModuleBuffer ));
489
+ unsigned bufferID = SourceMgr.addNewSourceBuffer (std::move (buffers-> ModuleBuffer ));
490
490
491
491
InputSourceCodeBufferIDs.push_back (bufferID);
492
492
return bufferID;
493
493
}
494
494
495
- CompilerInstance::ModuleBuffers CompilerInstance::getInputBuffersIfPresent (
495
+ Optional< CompilerInstance::ModuleBuffers> CompilerInstance::getInputBuffersIfPresent (
496
496
const InputFile &input) {
497
497
if (auto b = input.buffer ()) {
498
- return { llvm::MemoryBuffer::getMemBufferCopy (b->getBuffer (), b-> getBufferIdentifier () ),
499
- nullptr , nullptr } ;
498
+ return ModuleBuffers ( llvm::MemoryBuffer::getMemBufferCopy (b->getBuffer (),
499
+ b-> getBufferIdentifier ())) ;
500
500
}
501
501
// FIXME: Working with filenames is fragile, maybe use the real path
502
502
// or have some kind of FileManager.
@@ -506,19 +506,16 @@ CompilerInstance::ModuleBuffers CompilerInstance::getInputBuffersIfPresent(
506
506
if (!inputFileOrErr) {
507
507
Diagnostics.diagnose (SourceLoc (), diag::error_open_input_file, input.file (),
508
508
inputFileOrErr.getError ().message ());
509
- return { nullptr , nullptr , nullptr } ;
509
+ return None ;
510
510
}
511
511
if (!serialization::isSerializedAST ((*inputFileOrErr)->getBuffer ()))
512
- return {std::move (*inputFileOrErr), nullptr , nullptr };
513
-
514
- Optional<std::unique_ptr<llvm::MemoryBuffer>> moduleDocBuffer = openModuleDoc (input);
515
- Optional<std::unique_ptr<llvm::MemoryBuffer>> moduleSourceInfoBuffer = openModuleSourceInfo (input);
512
+ return ModuleBuffers (std::move (*inputFileOrErr));
516
513
517
- return {
514
+ return ModuleBuffers (
518
515
std::move (*inputFileOrErr),
519
- moduleDocBuffer. hasValue () ? std::move (*moduleDocBuffer): nullptr ,
520
- moduleSourceInfoBuffer. hasValue () ? std::move (*moduleSourceInfoBuffer): nullptr
521
- } ;
516
+ openModuleDoc (input). getValueOr ( nullptr ) ,
517
+ openModuleSourceInfo (input). getValueOr ( nullptr )
518
+ ) ;
522
519
}
523
520
524
521
Optional<std::unique_ptr<llvm::MemoryBuffer>>
0 commit comments