1//===- ScriptReader.h -----------------------------------------------------===// 2// 3// The MCLinker Project 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9#ifndef MCLD_SCRIPT_SCRIPTREADER_H_ 10#define MCLD_SCRIPT_SCRIPTREADER_H_ 11 12#include "mcld/LD/LDReader.h" 13 14namespace mcld { 15 16class ArchiveReader; 17class DynObjReader; 18class GroupReader; 19class Input; 20class LinkerConfig; 21class LinkerScript; 22class Module; 23class ObjectReader; 24class ScriptFile; 25class TargetLDBackend; 26 27class ScriptReader : public LDReader { 28 public: 29 ScriptReader(ObjectReader& pObjectReader, 30 ArchiveReader& pArchiveReader, 31 DynObjReader& pDynObjReader, 32 GroupReader& pGroupReader); 33 34 ~ScriptReader(); 35 36 /// readScript 37 bool readScript(const LinkerConfig& pConfig, ScriptFile& pScriptFile); 38 39 /// isMyFormat 40 bool isMyFormat(Input& pInput, bool& pContinue) const; 41 42 private: 43 ObjectReader& m_ObjectReader; 44 ArchiveReader& m_ArchiveReader; 45 DynObjReader& m_DynObjReader; 46 GroupReader& m_GroupReader; 47}; 48 49} // namespace mcld 50 51#endif // MCLD_SCRIPT_SCRIPTREADER_H_ 52