mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
Add a convenience API SourceManager::addMemBufferCopy() to simplify adding a
buffer in case the client does not need a pointer to the buffer. Swift SVN r14777
This commit is contained in:
@@ -23,11 +23,22 @@ SourceLoc SourceManager::getCodeCompletionLoc() const {
|
||||
}
|
||||
|
||||
size_t SourceManager::addNewSourceBuffer(llvm::MemoryBuffer *Buffer) {
|
||||
assert(Buffer);
|
||||
auto ID = LLVMSourceMgr.AddNewSourceBuffer(Buffer, llvm::SMLoc());
|
||||
BufIdentIDMap[Buffer->getBufferIdentifier()] = ID;
|
||||
return ID;
|
||||
}
|
||||
|
||||
size_t SourceManager::addMemBufferCopy(llvm::MemoryBuffer *Buffer) {
|
||||
return addMemBufferCopy(Buffer->getBuffer(), Buffer->getBufferIdentifier());
|
||||
}
|
||||
|
||||
size_t SourceManager::addMemBufferCopy(StringRef InputData,
|
||||
StringRef BufIdentifier) {
|
||||
auto Buffer = llvm::MemoryBuffer::getMemBufferCopy(InputData, BufIdentifier);
|
||||
return addNewSourceBuffer(Buffer);
|
||||
}
|
||||
|
||||
Optional<unsigned> SourceManager::getIDForBufferIdentifier(
|
||||
StringRef BufIdentifier) {
|
||||
auto It = BufIdentIDMap.find(BufIdentifier);
|
||||
|
||||
Reference in New Issue
Block a user