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