forked from OSchip/llvm-project
tidy up. Split FileManager::getBufferForFile into
two copies, since they are fundamentally different operations and the StringRef one should go away (it shouldn't be part of FileManager at least). Remove some dead arguments. llvm-svn: 120013
This commit is contained in:
parent
7219a5db6e
commit
26b5c190f8
|
@ -171,7 +171,7 @@ class FileManager {
|
|||
// Caching.
|
||||
llvm::OwningPtr<StatSysCallCache> StatCache;
|
||||
|
||||
int stat_cached(const char* path, struct stat* buf);
|
||||
int stat_cached(const char *path, struct stat *buf);
|
||||
|
||||
public:
|
||||
FileManager(const FileSystemOptions &FileSystemOpts);
|
||||
|
@ -212,12 +212,9 @@ public:
|
|||
/// \brief Open the specified file as a MemoryBuffer, returning a new
|
||||
/// MemoryBuffer if successful, otherwise returning null.
|
||||
llvm::MemoryBuffer *getBufferForFile(const FileEntry *Entry,
|
||||
std::string *ErrorStr = 0) {
|
||||
return getBufferForFile(Entry->getName(), ErrorStr, Entry->getSize());
|
||||
}
|
||||
std::string *ErrorStr = 0);
|
||||
llvm::MemoryBuffer *getBufferForFile(llvm::StringRef Filename,
|
||||
std::string *ErrorStr = 0,
|
||||
int64_t FileSize = -1);
|
||||
std::string *ErrorStr = 0);
|
||||
|
||||
/// \brief If path is not absolute and FileSystemOptions set the working
|
||||
/// directory, the path is modified to be relative to the given
|
||||
|
|
|
@ -462,8 +462,7 @@ public:
|
|||
}
|
||||
|
||||
llvm::MemoryBuffer *getBufferForFile(llvm::StringRef Filename,
|
||||
std::string *ErrorStr = 0,
|
||||
int64_t FileSize = -1);
|
||||
std::string *ErrorStr = 0);
|
||||
|
||||
/// \brief Whether this AST represents a complete translation unit.
|
||||
///
|
||||
|
|
|
@ -307,7 +307,7 @@ const FileEntry *FileManager::getFile(llvm::StringRef Filename) {
|
|||
struct stat StatBuf;
|
||||
//llvm::errs() << "STATING: " << Filename;
|
||||
if (stat_cached(InterndFileName, &StatBuf) || // Error stat'ing.
|
||||
S_ISDIR(StatBuf.st_mode)) { // A directory?
|
||||
S_ISDIR(StatBuf.st_mode)) { // A directory?
|
||||
// If this file doesn't exist, we leave a null in FileEntries for this path.
|
||||
//llvm::errs() << ": Not existing\n";
|
||||
return 0;
|
||||
|
@ -389,17 +389,25 @@ void FileManager::FixupRelativePath(llvm::sys::Path &path,
|
|||
path = NewPath;
|
||||
}
|
||||
|
||||
|
||||
|
||||
llvm::MemoryBuffer *FileManager::
|
||||
getBufferForFile(llvm::StringRef Filename,
|
||||
std::string *ErrorStr, int64_t FileSize) {
|
||||
getBufferForFile(const FileEntry *Entry, std::string *ErrorStr) {
|
||||
llvm::StringRef Filename = Entry->getName();
|
||||
if (FileSystemOpts.WorkingDir.empty())
|
||||
return llvm::MemoryBuffer::getFile(Filename, ErrorStr, FileSize);
|
||||
return llvm::MemoryBuffer::getFile(Filename, ErrorStr);
|
||||
|
||||
llvm::sys::Path FilePath(Filename);
|
||||
FixupRelativePath(FilePath, FileSystemOpts);
|
||||
return llvm::MemoryBuffer::getFile(FilePath.c_str(), ErrorStr, FileSize);
|
||||
return llvm::MemoryBuffer::getFile(FilePath.c_str(), ErrorStr);
|
||||
}
|
||||
|
||||
llvm::MemoryBuffer *FileManager::
|
||||
getBufferForFile(llvm::StringRef Filename, std::string *ErrorStr) {
|
||||
if (FileSystemOpts.WorkingDir.empty())
|
||||
return llvm::MemoryBuffer::getFile(Filename, ErrorStr);
|
||||
|
||||
llvm::sys::Path FilePath(Filename);
|
||||
FixupRelativePath(FilePath, FileSystemOpts);
|
||||
return llvm::MemoryBuffer::getFile(FilePath.c_str(), ErrorStr);
|
||||
}
|
||||
|
||||
int FileManager::stat_cached(const char *path, struct stat *buf) {
|
||||
|
|
|
@ -456,10 +456,9 @@ const std::string &ASTUnit::getASTFileName() {
|
|||
}
|
||||
|
||||
llvm::MemoryBuffer *ASTUnit::getBufferForFile(llvm::StringRef Filename,
|
||||
std::string *ErrorStr,
|
||||
int64_t FileSize) {
|
||||
std::string *ErrorStr) {
|
||||
assert(FileMgr);
|
||||
return FileMgr->getBufferForFile(Filename, ErrorStr, FileSize);
|
||||
return FileMgr->getBufferForFile(Filename, ErrorStr);
|
||||
}
|
||||
|
||||
/// \brief Configure the diagnostics object for use with ASTUnit.
|
||||
|
|
|
@ -1262,9 +1262,8 @@ ASTReader::ASTReadResult ASTReader::ReadSLocEntryRecord(unsigned ID) {
|
|||
return Failure;
|
||||
}
|
||||
|
||||
FileID FID = SourceMgr.createFileID(File,
|
||||
ReadSourceLocation(*F, Record[1]),
|
||||
(SrcMgr::CharacteristicKind)Record[2],
|
||||
FileID FID = SourceMgr.createFileID(File, ReadSourceLocation(*F, Record[1]),
|
||||
(SrcMgr::CharacteristicKind)Record[2],
|
||||
ID, Record[0]);
|
||||
if (Record[3])
|
||||
const_cast<SrcMgr::FileInfo&>(SourceMgr.getSLocEntry(FID).getFile())
|
||||
|
|
Loading…
Reference in New Issue