Go to the documentation of this file.
56 using ReferenceManager::SafePointer;
57 using ReferenceManager::SectionKey;
58 using ReferenceManager::FileOffsetKey;
143 if (sect->
aSpace() != NULL) {
148 bool addressSpaceCantBeNull =
false;
149 assert(addressSpaceCantBeNull);
158 if (linkSect != NULL) {
HalfWord SectionId
Type for storing binary file section ids.
void writeHalfWord(HalfWord halfword)
virtual bool isChunkable() const
virtual const BinaryWriter & parent() const
virtual void createKeys(const Section *sect) const
virtual Chunk * chunk(SectionOffset offset) const
ASpaceElement * aSpace() const
void writeWord(Word word)
virtual SectionType type() const =0
Returns SectioType of actual section instance.
unsigned int writePosition()
static void addObjectReference(SectionIndexKey key, const SafePointable *obj)
virtual void actualWriteData(BinaryStream &stream, const Section *sect) const
void writeBodyStartOffset(BinaryStream &stream, const Section *sect) const
SectionElement * element(Word index) const
#define assert(condition)
virtual ~TPEFSectionWriter()
void setWritePosition(unsigned int position)
static const BinaryWriter & instance()
void writeByte(Byte byte)
virtual void writeInfo(BinaryStream &stream, const Section *sect) const
Word SectionOffset
Type for storing offsets relative to a given base offset value.
virtual SectionId getSectionId() const
bool isProgramSection() const
virtual void writeSize(BinaryStream &stream, const Section *sect) const
virtual void actualWriteHeader(BinaryStream &stream, const Section *sect) const
AddressImage startingAddress() const
static SectionId getUniqueSectionId()
virtual Word elementSize(const Section *section) const