ROSE  0.9.6a
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
report.h
Go to the documentation of this file.
1 
2 #ifndef BDWY_REPORT_H
3 #define BDWY_REPORT_H
4 
5 typedef std::list< reportAnn * > report_list;
6 typedef report_list::iterator report_list_p;
7 typedef report_list::const_iterator report_list_cp;
8 
13 class reportElementAnn : public Ann
14 {
15 public:
16 
18  : Ann(line)
19  {}
20 
21  virtual void lookup(enumPropertyAnn * default_property,
22  procedureAnn * procedure,
23  Annotations * annotations) =0;
24 
25 #ifdef NONEMPTY
26  virtual void report(std::ostream & out,
27  bool is_error,
28  Analyzer * analyzer,
29  procLocation * where) =0;
30 
31  // static callNode * callnode(stmtNode * stmt);
32 #endif
33 };
34 
40 {
41 private:
42 
43  std::string _literal;
44 
45 public:
46 
47 // DQ (8/12/2004): Added virtual destructor to avoid g++ compiler warnings
49 
51 
52  virtual void lookup(enumPropertyAnn * default_property,
53  procedureAnn * procedure,
54  Annotations * annotations);
55 
56 #ifdef NONEMPTY
57  virtual void report(std::ostream & out,
58  bool is_error,
59  Analyzer * analyzer,
60  procLocation * where);
61 #endif
62 };
63 
64 
71 {
72 private:
73 
77 
81 
82 public:
83 
85  exprAnn * expr, int line);
86 
87  virtual void lookup(enumPropertyAnn * default_property,
88  procedureAnn * procedure,
89  Annotations * annotations);
90 
91 #ifdef NONEMPTY
92  virtual void report(std::ostream & out,
93  bool is_error,
94  Analyzer * analyzer,
95  procLocation * where);
96 #endif
97 };
98 
99 
106 {
107 public:
108 
110 
111 private:
112 
113  std::string _kind_name;
114 
116 
117 public:
118 
119 // DQ (8/12/2004): Added virtual destructor to avoid g++ compiler warnings
121 
123 
124  virtual void lookup(enumPropertyAnn * default_property,
125  procedureAnn * procedure,
126  Annotations * annotations);
127 
128 #ifdef NONEMPTY
129  virtual void report(std::ostream & out,
130  bool is_error,
131  Analyzer * analyzer,
132  procLocation * where);
133 
134 #endif
135 };
136 
137 
145 {
146 private:
147 
150  std::string _variable_name;
151 
157 
161 
162 public:
163 
164 // DQ (8/12/2004): Added virtual destructor to avoid g++ compiler warnings
166 
167  bindingReportElementAnn(const parserID * varname, bool size_only);
168 
169  virtual void lookup(enumPropertyAnn * default_property,
170  procedureAnn * procedure,
171  Annotations * annotations);
172 
173 #ifdef NONEMPTY
174  virtual void report(std::ostream & out,
175  bool is_error,
176  Analyzer * analyzer,
177  procLocation * where);
178 #endif
179 };
180 
181 
182 typedef std::list< reportElementAnn * > report_element_list;
183 typedef report_element_list::iterator report_element_list_p;
184 
189 class reportAnn : public Ann
190 {
191 private:
192 
199 
205 
210  bool _is_error;
211 
212 public:
213 
214 // DQ (8/12/2004): Added virtual destructor to avoid g++ compiler warnings
215  virtual ~reportAnn() {};
216 
217  reportAnn(exprAnn * condition,
218  bool is_error,
219  report_element_list * elements, int line);
220 
221  virtual void lookup(procedureAnn * procedure,
222  Annotations * annotations);
223 
224 #ifdef NONEMPTY
225  virtual void report(std::ostream & out,
226  Analyzer * analyzer,
227  procLocation * where,
228  propertyAnalyzer * property_analyzer);
229 #endif
230 };
231 
232 #endif /* BDWY_REPORT_H */