#ifndef LLD_WASM_INPUT_FILES_H
#define LLD_WASM_INPUT_FILES_H
#include "Symbols.h"
#include "lld/Common/LLVM.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/LTO/LTO.h"
#include "llvm/Object/Wasm.h"
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/TargetParser/Triple.h"
#include <optional>
#include <vector>
namespace llvm {
class TarWriter;
}
namespace lld {
namespace wasm {
class InputChunk;
class InputFunction;
class InputSegment;
class InputGlobal;
class InputTag;
class InputTable;
class InputSection;
extern std::unique_ptr<llvm::TarWriter> tar;
class InputFile { … };
class WasmFileBase : public InputFile { … };
class ObjFile : public WasmFileBase { … };
class SharedFile : public WasmFileBase { … };
class BitcodeFile : public InputFile { … };
class StubFile : public InputFile { … };
InputFile *createObjectFile(MemoryBufferRef mb, StringRef archiveName = "",
uint64_t offsetInArchive = 0, bool lazy = false);
std::optional<MemoryBufferRef> readFile(StringRef path);
}
std::string toString(const wasm::InputFile *file);
}
#endif