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 14 namespace mcld { 15 16 class Module; 17 class ScriptFile; 18 class Input; 19 class GroupReader; 20 class LinkerConfig; 21 class LinkerScript; 22 class TargetLDBackend; 23 24 class ScriptReader : public LDReader 25 { 26 public: 27 ScriptReader(GroupReader& pGroupReader); 28 29 ~ScriptReader(); 30 31 /// readScript 32 bool readScript(const LinkerConfig& pConfig, ScriptFile& pScriptFile); 33 34 /// isMyFormat 35 bool isMyFormat(Input& pInput, bool &pContinue) const; 36 getGroupReader()37 GroupReader& getGroupReader() { return m_GroupReader; } 38 39 private: 40 GroupReader& m_GroupReader; 41 }; 42 43 } // namespace of mcld 44 45 #endif 46 47