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