1cedee4b38f4786845183be7f5916dd520a170ae0Shih-wei Liao//===- TargetFragment.h ---------------------------------------------------===//
2cedee4b38f4786845183be7f5916dd520a170ae0Shih-wei Liao//
3cedee4b38f4786845183be7f5916dd520a170ae0Shih-wei Liao//                     The MCLinker Project
4cedee4b38f4786845183be7f5916dd520a170ae0Shih-wei Liao//
5cedee4b38f4786845183be7f5916dd520a170ae0Shih-wei Liao// This file is distributed under the University of Illinois Open Source
6cedee4b38f4786845183be7f5916dd520a170ae0Shih-wei Liao// License. See LICENSE.TXT for details.
7cedee4b38f4786845183be7f5916dd520a170ae0Shih-wei Liao//
8cedee4b38f4786845183be7f5916dd520a170ae0Shih-wei Liao//===----------------------------------------------------------------------===//
987f34658dec9097d987d254a990ea7f311bfc95fStephen Hines#ifndef MCLD_FRAGMENT_TARGETFRAGMENT_H
1087f34658dec9097d987d254a990ea7f311bfc95fStephen Hines#define MCLD_FRAGMENT_TARGETFRAGMENT_H
11cedee4b38f4786845183be7f5916dd520a170ae0Shih-wei Liao
1222add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liao#include <mcld/Fragment/Fragment.h>
13cedee4b38f4786845183be7f5916dd520a170ae0Shih-wei Liao
1422add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liaonamespace mcld {
15cedee4b38f4786845183be7f5916dd520a170ae0Shih-wei Liao
16cedee4b38f4786845183be7f5916dd520a170ae0Shih-wei Liaoclass SectionData;
17cedee4b38f4786845183be7f5916dd520a170ae0Shih-wei Liao
18cedee4b38f4786845183be7f5916dd520a170ae0Shih-wei Liao/** \class TargetFragment
19cedee4b38f4786845183be7f5916dd520a170ae0Shih-wei Liao *  \brief TargetFragment is a kind of MCFragment inherited by
20cedee4b38f4786845183be7f5916dd520a170ae0Shih-wei Liao *  target-depedent Fragment.
21cedee4b38f4786845183be7f5916dd520a170ae0Shih-wei Liao */
22cedee4b38f4786845183be7f5916dd520a170ae0Shih-wei Liaoclass TargetFragment : public Fragment
23cedee4b38f4786845183be7f5916dd520a170ae0Shih-wei Liao{
24cedee4b38f4786845183be7f5916dd520a170ae0Shih-wei Liaoprotected:
25cedee4b38f4786845183be7f5916dd520a170ae0Shih-wei Liao  TargetFragment(Fragment::Type pKind, SectionData* pSD = NULL)
26cedee4b38f4786845183be7f5916dd520a170ae0Shih-wei Liao    : Fragment(pKind, pSD) {}
27cedee4b38f4786845183be7f5916dd520a170ae0Shih-wei Liao
28cedee4b38f4786845183be7f5916dd520a170ae0Shih-wei Liaopublic:
29cedee4b38f4786845183be7f5916dd520a170ae0Shih-wei Liao  virtual ~TargetFragment() {}
30cedee4b38f4786845183be7f5916dd520a170ae0Shih-wei Liao
31cedee4b38f4786845183be7f5916dd520a170ae0Shih-wei Liao  static bool classof(const Fragment *F)
32cedee4b38f4786845183be7f5916dd520a170ae0Shih-wei Liao  { return F->getKind() == Fragment::Target; }
33cedee4b38f4786845183be7f5916dd520a170ae0Shih-wei Liao
34cedee4b38f4786845183be7f5916dd520a170ae0Shih-wei Liao  static bool classof(const TargetFragment *)
35cedee4b38f4786845183be7f5916dd520a170ae0Shih-wei Liao  { return true; }
36cedee4b38f4786845183be7f5916dd520a170ae0Shih-wei Liao};
37cedee4b38f4786845183be7f5916dd520a170ae0Shih-wei Liao
38cedee4b38f4786845183be7f5916dd520a170ae0Shih-wei Liao} // namespace of mcld
39cedee4b38f4786845183be7f5916dd520a170ae0Shih-wei Liao
40cedee4b38f4786845183be7f5916dd520a170ae0Shih-wei Liao#endif
41cedee4b38f4786845183be7f5916dd520a170ae0Shih-wei Liao
42