[lld] r234080 - Remove a parameter for file extension from canParse.
Rui Ueyama
ruiu at google.com
Fri Apr 3 19:44:37 PDT 2015
Author: ruiu
Date: Fri Apr 3 21:44:36 2015
New Revision: 234080
URL: http://llvm.org/viewvc/llvm-project?rev=234080&view=rev
Log:
Remove a parameter for file extension from canParse.
canParse took three parameters -- file magic, filename extension and
memory buffer. All but YAMLReader ignored the second parameter.
This patch removes the parameter.
Modified:
lld/trunk/include/lld/Core/Reader.h
lld/trunk/lib/Core/Reader.cpp
lld/trunk/lib/ReaderWriter/ELF/ELFReader.h
lld/trunk/lib/ReaderWriter/FileArchive.cpp
lld/trunk/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp
lld/trunk/lib/ReaderWriter/Native/ReaderNative.cpp
lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp
lld/trunk/lib/ReaderWriter/PECOFF/ReaderImportHeader.cpp
lld/trunk/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp
Modified: lld/trunk/include/lld/Core/Reader.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/include/lld/Core/Reader.h?rev=234080&r1=234079&r2=234080&view=diff
==============================================================================
--- lld/trunk/include/lld/Core/Reader.h (original)
+++ lld/trunk/include/lld/Core/Reader.h Fri Apr 3 21:44:36 2015
@@ -45,10 +45,8 @@ public:
/// Sniffs the file to determine if this Reader can parse it.
/// The method is called with:
/// 1) the file_magic enumeration returned by identify_magic()
- /// 2) the file extension (e.g. ".obj")
- /// 3) the whole file content buffer if the above is not enough.
- virtual bool canParse(file_magic magic, StringRef fileExtension,
- const MemoryBuffer &mb) const = 0;
+ /// 2) the whole file content buffer if the above is not enough.
+ virtual bool canParse(file_magic magic, const MemoryBuffer &mb) const = 0;
/// \brief Parse a supplied buffer (already filled with the contents of a
/// file) and create a File object.
Modified: lld/trunk/lib/Core/Reader.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/Core/Reader.cpp?rev=234080&r1=234079&r2=234080&view=diff
==============================================================================
--- lld/trunk/lib/Core/Reader.cpp (original)
+++ lld/trunk/lib/Core/Reader.cpp Fri Apr 3 21:44:36 2015
@@ -13,7 +13,6 @@
#include "llvm/Support/Errc.h"
#include "llvm/Support/FileUtilities.h"
#include "llvm/Support/MemoryBuffer.h"
-#include "llvm/Support/Path.h"
#include <memory>
#include <system_error>
@@ -32,15 +31,13 @@ void Registry::add(std::unique_ptr<YamlI
std::error_code
Registry::loadFile(std::unique_ptr<MemoryBuffer> mb,
std::vector<std::unique_ptr<File>> &result) const {
- // Get file type.
+ // Get file magic.
StringRef content(mb->getBufferStart(), mb->getBufferSize());
llvm::sys::fs::file_magic fileType = llvm::sys::fs::identify_magic(content);
- // Get file extension.
- StringRef extension = llvm::sys::path::extension(mb->getBufferIdentifier());
// Ask each registered reader if it can handle this file type or extension.
for (const std::unique_ptr<Reader> &reader : _readers) {
- if (!reader->canParse(fileType, extension, *mb))
+ if (!reader->canParse(fileType, *mb))
continue;
if (std::error_code ec = reader->loadFile(std::move(mb), *this, result))
return ec;
Modified: lld/trunk/lib/ReaderWriter/ELF/ELFReader.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/ELFReader.h?rev=234080&r1=234079&r2=234080&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/ELF/ELFReader.h (original)
+++ lld/trunk/lib/ReaderWriter/ELF/ELFReader.h Fri Apr 3 21:44:36 2015
@@ -25,10 +25,9 @@ public:
ELFReader(ContextT &ctx) : _ctx(ctx) {}
- bool canParse(file_magic magic, StringRef,
- const MemoryBuffer &buf) const override {
+ bool canParse(file_magic magic, const MemoryBuffer &mb) const override {
return (FileT<ELFT>::canParse(magic) &&
- elfHeader(buf)->e_machine == ContextT::machine);
+ elfHeader(mb)->e_machine == ContextT::machine);
}
std::error_code
Modified: lld/trunk/lib/ReaderWriter/FileArchive.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/FileArchive.cpp?rev=234080&r1=234079&r2=234080&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/FileArchive.cpp (original)
+++ lld/trunk/lib/ReaderWriter/FileArchive.cpp Fri Apr 3 21:44:36 2015
@@ -265,9 +265,8 @@ class ArchiveReader : public Reader {
public:
ArchiveReader(bool logLoading) : _logLoading(logLoading) {}
- bool canParse(file_magic magic, StringRef,
- const MemoryBuffer &) const override {
- return (magic == llvm::sys::fs::file_magic::archive);
+ bool canParse(file_magic magic, const MemoryBuffer &) const override {
+ return magic == llvm::sys::fs::file_magic::archive;
}
std::error_code
Modified: lld/trunk/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp?rev=234080&r1=234079&r2=234080&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp (original)
+++ lld/trunk/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp Fri Apr 3 21:44:36 2015
@@ -516,14 +516,9 @@ class MachOObjectReader : public Reader
public:
MachOObjectReader(MachOLinkingContext &ctx) : _ctx(ctx) {}
- bool canParse(file_magic magic, StringRef ext,
- const MemoryBuffer &mb) const override {
- switch (magic) {
- case llvm::sys::fs::file_magic::macho_object:
- return (mb.getBufferSize() > 32);
- default:
- return false;
- }
+ bool canParse(file_magic magic, const MemoryBuffer &mb) const override {
+ return (magic == llvm::sys::fs::file_magic::macho_object &&
+ mb.getBufferSize() > 32);
}
std::error_code
@@ -542,12 +537,11 @@ class MachODylibReader : public Reader {
public:
MachODylibReader(MachOLinkingContext &ctx) : _ctx(ctx) {}
- bool canParse(file_magic magic, StringRef ext,
- const MemoryBuffer &mb) const override {
+ bool canParse(file_magic magic, const MemoryBuffer &mb) const override {
switch (magic) {
case llvm::sys::fs::file_magic::macho_dynamically_linked_shared_lib:
case llvm::sys::fs::file_magic::macho_dynamically_linked_shared_lib_stub:
- return (mb.getBufferSize() > 32);
+ return mb.getBufferSize() > 32;
default:
return false;
}
Modified: lld/trunk/lib/ReaderWriter/Native/ReaderNative.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/Native/ReaderNative.cpp?rev=234080&r1=234079&r2=234080&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/Native/ReaderNative.cpp (original)
+++ lld/trunk/lib/ReaderWriter/Native/ReaderNative.cpp Fri Apr 3 21:44:36 2015
@@ -988,8 +988,7 @@ namespace {
class NativeReader : public Reader {
public:
- virtual bool canParse(file_magic magic, StringRef,
- const MemoryBuffer &mb) const override {
+ bool canParse(file_magic magic, const MemoryBuffer &mb) const override {
const NativeFileHeader *const header =
reinterpret_cast<const NativeFileHeader *>(mb.getBufferStart());
return (memcmp(header->magic, NATIVE_FILE_HEADER_MAGIC,
Modified: lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp?rev=234080&r1=234079&r2=234080&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp (original)
+++ lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp Fri Apr 3 21:44:36 2015
@@ -1049,8 +1049,7 @@ class COFFObjectReader : public Reader {
public:
COFFObjectReader(PECOFFLinkingContext &ctx) : _ctx(ctx) {}
- bool canParse(file_magic magic, StringRef ext,
- const MemoryBuffer &) const override {
+ bool canParse(file_magic magic, const MemoryBuffer &) const override {
return magic == llvm::sys::fs::file_magic::coff_object;
}
Modified: lld/trunk/lib/ReaderWriter/PECOFF/ReaderImportHeader.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/PECOFF/ReaderImportHeader.cpp?rev=234080&r1=234079&r2=234080&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/PECOFF/ReaderImportHeader.cpp (original)
+++ lld/trunk/lib/ReaderWriter/PECOFF/ReaderImportHeader.cpp Fri Apr 3 21:44:36 2015
@@ -361,11 +361,10 @@ class COFFImportLibraryReader : public R
public:
COFFImportLibraryReader(PECOFFLinkingContext &ctx) : _ctx(ctx) {}
- bool canParse(file_magic magic, StringRef,
- const MemoryBuffer &mb) const override {
+ bool canParse(file_magic magic, const MemoryBuffer &mb) const override {
if (mb.getBufferSize() < sizeof(COFF::ImportHeader))
return false;
- return (magic == llvm::sys::fs::file_magic::coff_import_library);
+ return magic == llvm::sys::fs::file_magic::coff_import_library;
}
std::error_code
Modified: lld/trunk/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp?rev=234080&r1=234079&r2=234080&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp (original)
+++ lld/trunk/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp Fri Apr 3 21:44:36 2015
@@ -25,6 +25,7 @@
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/Format.h"
#include "llvm/Support/MemoryBuffer.h"
+#include "llvm/Support/Path.h"
#include "llvm/Support/YAMLTraits.h"
#include "llvm/Support/raw_ostream.h"
#include <memory>
@@ -1304,8 +1305,9 @@ class YAMLReader : public Reader {
public:
YAMLReader(const Registry ®istry) : _registry(registry) {}
- bool canParse(file_magic, StringRef ext, const MemoryBuffer &) const override {
- return (ext.equals(".objtxt") || ext.equals(".yaml"));
+ bool canParse(file_magic magic, const MemoryBuffer &mb) const override {
+ StringRef ext = llvm::sys::path::extension(mb.getBufferIdentifier());
+ return ext.equals(".objtxt") || ext.equals(".yaml");
}
std::error_code
More information about the llvm-commits
mailing list