19 #ifndef __CPUI_COMMENT__ 20 #define __CPUI_COMMENT__ 55 const Address &ad,int4 uq,
const string &txt);
57 uint4
getType(
void)
const {
return type; }
61 const string &
getText(
void)
const {
return text; }
88 virtual void clear(
void)=0;
96 virtual void clearType(
const Address &fad,uint4 tp)=0;
104 virtual void addComment(uint4 tp,
const Address &fad,
105 const Address &ad,
const string &txt)=0;
116 virtual bool addCommentNoDuplicate(uint4 tp,
const Address &fad,
const Address &ad,
const string &txt)=0;
121 virtual void deleteComment(
Comment *com)=0;
127 virtual CommentSet::const_iterator beginComment(
const Address &fad)
const=0;
133 virtual CommentSet::const_iterator endComment(
const Address &fad)
const=0;
139 virtual void saveXml(ostream &s)
const=0;
159 virtual void clear(
void);
160 virtual void clearType(
const Address &fad,uint4 tp);
161 virtual void addComment(uint4 tp,
const Address &fad,
162 const Address &ad,
const string &txt);
163 virtual bool addCommentNoDuplicate(uint4 tp,
const Address &fad,
const Address &ad,
const string &txt);
164 virtual void deleteComment(
Comment *com);
165 virtual CommentSet::const_iterator beginComment(
const Address &fad)
const;
166 virtual CommentSet::const_iterator endComment(
const Address &fad)
const;
167 virtual void saveXml(ostream &s)
const;
205 bool operator<(
const Subsort &op2)
const {
206 if (index == op2.index) {
207 if (order == op2.order)
208 return (pos < op2.pos);
209 return (order < op2.order);
211 return (index < op2.index);
217 void setHeader(uint4 headerType) {
226 void setBlock(int4 i,uint4 ord) {
231 map<Subsort,Comment *> commmap;
232 mutable map<Subsort,Comment *>::const_iterator start;
233 map<Subsort,Comment *>::const_iterator stop;
234 map<Subsort,Comment *>::const_iterator opstop;
235 bool displayUnplacedComments;
240 void setupBlockList(
const FlowBlock *bl);
241 void setupOpList(
const PcodeOp *op);
242 void setupHeader(uint4 headerType);
243 bool hasNext(
void)
const {
return (start!=opstop); }
Description of a control-flow block containing PcodeOps.
Definition: block.hh:60
A manager for different address spaces.
Definition: translate.hh:218
Container for data structures associated with a single function.
Definition: funcdata.hh:45
Lowest level operation of the p-code language.
Definition: op.hh:58
A low-level machine address for labelling bytes and data.
Definition: address.hh:46
Classes for specifying addresses and other low-level constants.
An XML element. A node in the DOM tree.
Definition: xml.hh:150