46using ReferenceManager::SafePointer;
47using ReferenceManager::SectionOffsetKey;
48using ReferenceManager::SectionIndexKey;
49using ReferenceManager::SectionKey;
98 assert(lineNumSection != NULL);
109 while (elementStart +
header().elementSize <=
112 Word elementOffset = stream.
readWord();
121 if (elementOffset != 0) {
123 CREATE_SAFEPOINTER(indexKey));
128 }
else if (procedure != NULL) {
140 bool sectionShouldNotHaveLineNumbersBeforeProcedure =
false;
141 assert(sectionShouldNotHaveLineNumbersBeforeProcedure);
170 CREATE_SAFEPOINTER(sKey));
#define assert(condition)
void setReadPosition(unsigned int position)
void setLineNumber(HalfWord lineNum)
void setInstruction(ReferenceManager::SafePointer *aRef)
void setProcedureSymbol(const ReferenceManager::SafePointer *aRef)
void addLine(const LineNumElement *elem)
static const SafePointer null
The default SafePointer that is used in null references.
static void registerSectionReader(const SectionReader *sReader)
virtual void addElement(SectionElement *element)
@ ST_LINENO
Line number section.
TPEFLineNumSectionReader()
static SectionId codeSectionId_
Identification code of text section which is referenced from currently read section.
virtual Section::SectionType type() const
virtual ~TPEFLineNumSectionReader()
virtual void readInfo(BinaryStream &stream, Section *sect) const
static TPEFLineNumSectionReader proto_
Prototype instance of TPEFLineNumSectionReader to be registered to SectionReader.
virtual void readData(BinaryStream &stream, Section *section) const
virtual void readData(BinaryStream &stream, Section *section) const
static const Header & header()
HalfWord SectionId
Type for storing binary file section ids.
Word SectionOffset
Type for storing offsets relative to a given base offset value.