|
OpenASIP 2.2
|
#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. | |
| TPEFSymbolSectionReader & | operator= (TPEFSymbolSectionReader &) |
| Assignment not allowed. | |
| 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. | |
| static TPEFSymbolSectionReader | proto_ |
| Prototype instance of TPEFSymbolSectionReader to be registered to SectionReader. | |
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().