OpenASIP
2.0
|
#include <TPEFSymbolSectionReader.hh>
Protected Member Functions | |
TPEFSymbolSectionReader () | |
virtual | ~TPEFSymbolSectionReader () |
virtual void | readData (BinaryStream &stream, Section *section) const |
virtual Section::SectionType | type () const |
Protected Member Functions inherited from TPEF::TPEFSectionReader | |
TPEFSectionReader () | |
virtual BinaryReader * | parent () const |
virtual void | readInfo (BinaryStream &stream, Section *sect) const |
Protected Member Functions inherited from TPEF::SectionReader | |
SectionReader () | |
virtual void | finalize (Section *section) const |
Private Member Functions | |
TPEFSymbolSectionReader (const TPEFSymbolSectionReader &) | |
Copying not allowed. More... | |
TPEFSymbolSectionReader & | operator= (TPEFSymbolSectionReader &) |
Assignment not allowed. More... | |
SymbolElement * | createSymbol (SymbolElement::SymbolType symType, Word aValue, Word aSize, SectionId sectToBelong) const |
Static Private Attributes | |
static const Byte | SYMBOL_TYPE_MASK = 0x0F |
Mask for getting type of symbol from st_info field of symbol element. More... | |
static TPEFSymbolSectionReader | proto_ |
Prototype instance of TPEFSymbolSectionReader to be registered to SectionReader. More... | |
Additional Inherited Members | |
Public Types inherited from TPEF::SectionReader | |
typedef BinaryReader::Length | Length |
Public Member Functions inherited from TPEF::TPEFSectionReader | |
virtual | ~TPEFSectionReader () |
Public Member Functions inherited from TPEF::SectionReader | |
virtual | ~SectionReader () |
Static Public Member Functions inherited from TPEF::SectionReader | |
static void | readSection (BinaryStream &stream, Section *section, BinaryReader *reader) |
static void | finalizeBinary (Binary *binaryToFinalize, BinaryReader *reader) |
Static Protected Member Functions inherited from TPEF::TPEFSectionReader | |
static const Header & | header () |
Static Protected Member Functions inherited from TPEF::SectionReader | |
static const SectionReader * | findSectionReader (const Section::SectionType type, const BinaryReader *bReader) |
static void | registerSectionReader (const SectionReader *sReader) |
Reads symbol section from TPEF binary file.
Definition at line 47 of file TPEFSymbolSectionReader.hh.
|
protected |
Constructor.
Registers itself to SectionReader.
Definition at line 70 of file TPEFSymbolSectionReader.cc.
References TPEF::SectionReader::registerSectionReader().
|
protectedvirtual |
|
private |
Copying not allowed.
|
private |
Creates symbol element.
symType | Type of symbol to create. |
aValue | Value of element. |
aSize | Size of element. |
sectToBelong | Identification code of the section that contains the element. |
Definition at line 203 of file TPEFSymbolSectionReader.cc.
References TPEF::SymbolElement::STT_CODE, TPEF::SymbolElement::STT_DATA, TPEF::SymbolElement::STT_FILE, TPEF::SymbolElement::STT_NOTYPE, TPEF::SymbolElement::STT_PROCEDURE, and TPEF::SymbolElement::STT_SECTION.
Referenced by readData().
|
private |
Assignment not allowed.
|
protectedvirtual |
Reads section data from TPEF binary file.
stream | Stream to be read from. |
section | Section where the information is to be stored. |
UnreachableStream | If reading of section fails. |
KeyAlreadyExists | Key was in use when trying to register object. |
EndOfFile | If end of file were reached while it shouldn't. |
OutOfRange | Some of read value were out of range. |
WrongSubclass | Some class couldn't do what it was asked for. |
UnexpectedValue | If there was unexpected value when reading. |
Reimplemented from TPEF::TPEFSectionReader.
Definition at line 103 of file TPEFSymbolSectionReader.cc.
References TPEF::SymbolElement::absolute(), TPEF::Section::addElement(), TPEF::ReferenceManager::SafePointer::addObjectReference(), assert, TPEF::SymbolElement::binding(), TPEF::TPEFSectionReader::Header::bodyOffset, BYTE_BITWIDTH, createSymbol(), TPEF::TPEFSectionReader::Header::elementSize, TPEF::TPEFSectionReader::header(), TPEF::Section::noBits(), TPEF::BinaryStream::readByte(), TPEF::TPEFSectionReader::readData(), TPEF::BinaryStream::readHalfWord(), TPEF::BinaryStream::readWord(), TPEF::SymbolElement::setAbsolute(), TPEF::SymbolElement::setBinding(), TPEF::SymbolElement::setName(), TPEF::BinaryStream::setReadPosition(), TPEF::SymbolElement::setSection(), TPEF::SymbolElement::STB_LOCAL, TPEF::TPEFHeaders::STO_ABS, TPEF::SymbolElement::STT_NOTYPE, SYMBOL_TYPE_MASK, and TPEF::SymbolElement::type().
|
protectedvirtual |
Returns the type of section it is meant to read.
Implements TPEF::SectionReader.
Definition at line 86 of file TPEFSymbolSectionReader.cc.
References TPEF::Section::ST_SYMTAB.
|
staticprivate |
Prototype instance of TPEFSymbolSectionReader to be registered to SectionReader.
Definition at line 72 of file TPEFSymbolSectionReader.hh.
|
staticprivate |
Mask for getting type of symbol from st_info field of symbol element.
Definition at line 69 of file TPEFSymbolSectionReader.hh.
Referenced by readData().