ScriptReader.h revision 87f34658dec9097d987d254a990ea7f311bfc95f
17b15cb33847e6282ea8352c98894683b796127f3Wei Jia//===- ScriptReader.h -----------------------------------------------------===// 27b15cb33847e6282ea8352c98894683b796127f3Wei Jia// 37b15cb33847e6282ea8352c98894683b796127f3Wei Jia// The MCLinker Project 47b15cb33847e6282ea8352c98894683b796127f3Wei Jia// 57b15cb33847e6282ea8352c98894683b796127f3Wei Jia// This file is distributed under the University of Illinois Open Source 67b15cb33847e6282ea8352c98894683b796127f3Wei Jia// License. See LICENSE.TXT for details. 77b15cb33847e6282ea8352c98894683b796127f3Wei Jia// 87b15cb33847e6282ea8352c98894683b796127f3Wei Jia//===----------------------------------------------------------------------===// 97b15cb33847e6282ea8352c98894683b796127f3Wei Jia#ifndef MCLD_SCRIPT_SCRIPTREADER_H 107b15cb33847e6282ea8352c98894683b796127f3Wei Jia#define MCLD_SCRIPT_SCRIPTREADER_H 117b15cb33847e6282ea8352c98894683b796127f3Wei Jia#ifdef ENABLE_UNITTEST 127b15cb33847e6282ea8352c98894683b796127f3Wei Jia#include <gtest.h> 137b15cb33847e6282ea8352c98894683b796127f3Wei Jia#endif 147b15cb33847e6282ea8352c98894683b796127f3Wei Jia 157b15cb33847e6282ea8352c98894683b796127f3Wei Jia#include <mcld/LD/LDReader.h> 167b15cb33847e6282ea8352c98894683b796127f3Wei Jia 177b15cb33847e6282ea8352c98894683b796127f3Wei Jianamespace mcld { 187b15cb33847e6282ea8352c98894683b796127f3Wei Jia 197b15cb33847e6282ea8352c98894683b796127f3Wei Jiaclass Module; 207b15cb33847e6282ea8352c98894683b796127f3Wei Jiaclass ScriptFile; 215833b6aad2c46ba516bdc8262f4fc4667e8018edWei Jiaclass Input; 227b15cb33847e6282ea8352c98894683b796127f3Wei Jiaclass GroupReader; 239816016afb2a13c6a866cd047d57020566a8b9a9Wei Jiaclass LinkerConfig; 247b15cb33847e6282ea8352c98894683b796127f3Wei Jiaclass LinkerScript; 257b15cb33847e6282ea8352c98894683b796127f3Wei Jiaclass TargetLDBackend; 267b15cb33847e6282ea8352c98894683b796127f3Wei Jia 277b15cb33847e6282ea8352c98894683b796127f3Wei Jiaclass ScriptReader : public LDReader 284ecbea3ae1fcefb082dc419cb663909536138ddbWei Jia{ 294ecbea3ae1fcefb082dc419cb663909536138ddbWei Jiapublic: 304ecbea3ae1fcefb082dc419cb663909536138ddbWei Jia ScriptReader(GroupReader& pGroupReader); 314ecbea3ae1fcefb082dc419cb663909536138ddbWei Jia 327b15cb33847e6282ea8352c98894683b796127f3Wei Jia ~ScriptReader(); 337b15cb33847e6282ea8352c98894683b796127f3Wei Jia 347b15cb33847e6282ea8352c98894683b796127f3Wei Jia /// readScript 357b15cb33847e6282ea8352c98894683b796127f3Wei Jia bool readScript(const LinkerConfig& pConfig, ScriptFile& pScriptFile); 367b15cb33847e6282ea8352c98894683b796127f3Wei Jia 379816016afb2a13c6a866cd047d57020566a8b9a9Wei Jia /// isMyFormat 387b15cb33847e6282ea8352c98894683b796127f3Wei Jia bool isMyFormat(Input& pInput, bool &pContinue) const; 397b15cb33847e6282ea8352c98894683b796127f3Wei Jia 407b15cb33847e6282ea8352c98894683b796127f3Wei Jia GroupReader& getGroupReader() { return m_GroupReader; } 417b15cb33847e6282ea8352c98894683b796127f3Wei Jia 427b15cb33847e6282ea8352c98894683b796127f3Wei Jiaprivate: 437b15cb33847e6282ea8352c98894683b796127f3Wei Jia GroupReader& m_GroupReader; 447b15cb33847e6282ea8352c98894683b796127f3Wei Jia}; 457b15cb33847e6282ea8352c98894683b796127f3Wei Jia 467b15cb33847e6282ea8352c98894683b796127f3Wei Jia} // namespace of mcld 477b15cb33847e6282ea8352c98894683b796127f3Wei Jia 487b15cb33847e6282ea8352c98894683b796127f3Wei Jia#endif 497b15cb33847e6282ea8352c98894683b796127f3Wei Jia 507b15cb33847e6282ea8352c98894683b796127f3Wei Jia