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:
Chris Lattner
2010-11-23 09:19:42 +00:00
parent 7219a5db6e
commit 26b5c190f8
5 changed files with 23 additions and 21 deletions

View File

@@ -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) {