~ubuntu-branches/ubuntu/maverick/aspectc++/maverick

« back to all changes in this revision

Viewing changes to AspectC++/MatchTypeInfos.h

  • Committer: Bazaar Package Importer
  • Author(s): Reinhard Tartler
  • Date: 2008-04-10 17:40:52 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20080410174052-xdnsm7oi8hauyyf1
Tags: 1.0pre4~svn.20080409+dfsg-3
Fix another missing include, this time in Ag++/StdSystem.cc

Show diffs side-by-side

added added

removed removed

Lines of Context:
38
38
  virtual MTUndefined *clone () const;
39
39
  virtual void print (ostream &, const char* = 0, bool = false) const;
40
40
  virtual bool matches (CTypeInfo *ctype) const;
 
41
  virtual bool matches (const MatchType &type) const;
41
42
};
42
43
 
43
44
// commonalities of all types made by declarators
78
79
  virtual MTPointer *clone () const;
79
80
  virtual void print (ostream &, const char* = 0, bool = false) const;
80
81
  virtual bool matches (CTypeInfo *ctype) const;
 
82
  virtual bool matches (const MatchType &type) const;
81
83
  virtual MTQual *qualified () { return this; }
 
84
  virtual const MTQual *qualified () const { return this; }
82
85
};
83
86
 
84
87
// member pointer types
96
99
  // print the string representation of this type
97
100
  virtual void print (ostream &, const char* = 0, bool = false) const;
98
101
  virtual bool matches (CTypeInfo *ctype) const;
 
102
  virtual bool matches (const MatchType &type) const;
99
103
};
100
104
 
101
105
 
112
116
  // print the string representation of this type
113
117
  virtual void print (ostream &, const char* = 0, bool = false) const;
114
118
  virtual bool matches (CTypeInfo *ctype) const;
 
119
  virtual bool matches (const MatchType &type) const;
 
120
  virtual bool is_reference () { return true; }
115
121
};
116
122
 
117
123
// function types
139
145
  const MatchTypeRef &arg (int index) const { return _arg_types[index]; }
140
146
  // perform a type match
141
147
  virtual bool matches (CTypeInfo *ctype) const;
 
148
  virtual bool matches (const MatchType &type) const;
142
149
  // adjust the argument types according to �8.3.5.2 and �8.3.5.3 of ISO C++
143
150
  virtual void adjust_args (bool &f, bool &a, bool &q, bool &v);
144
151
  virtual MTQual *qualified () { return this; }
 
152
  virtual const MTQual *qualified () const { return this; }
145
153
};
146
154
 
147
155
// array types
166
174
  void any_size () { _any_size = true; }
167
175
  bool any_size () const { return _any_size; }
168
176
  virtual bool matches (CTypeInfo *ctype) const;
 
177
  virtual bool matches (const MatchType &type) const;
169
178
  virtual bool is_array () const { return true; }
170
179
};
171
180
 
183
192
  const MatchName &name () const { return _name; }
184
193
  // perform a type match
185
194
  virtual bool matches (CTypeInfo *ctype) const;
 
195
  virtual bool matches (const MatchType &type) const;
186
196
  virtual MTQual *qualified () { return this; }
 
197
  virtual const MTQual *qualified () const { return this; }
187
198
};
188
199
 
189
 
// commonalities of all primitive types
 
200
//! commonalities of all primitive types
190
201
class MTPrim : public MatchType, public MTQual {
191
202
public:
192
 
  // print the string representation of this type
 
203
  //! print the string representation of this type
193
204
  virtual void print (ostream &, const char* = 0, bool = false) const;
194
205
  virtual MTQual *qualified () { return this; }
 
206
  virtual const MTQual *qualified () const { return this; }
 
207
  virtual bool is_primitive () const { return true; }
195
208
};  
196
209
 
197
210
// type <any> (used for matching types>
203
216
  virtual MTAny *clone () const;
204
217
  // perform a type match
205
218
  virtual bool matches (CTypeInfo *ctype) const;
 
219
  virtual bool matches (const MatchType &type) const;
206
220
};
207
221
 
208
222
// type bool
212
226
  virtual MTBool *clone () const;
213
227
  virtual TID type () const;
214
228
  virtual bool matches (CTypeInfo *ctype) const;
 
229
  virtual bool matches (const MatchType &type) const;
215
230
};
216
231
 
217
232
// type signed char
221
236
  virtual MTSignedChar *clone () const;
222
237
  virtual TID type () const;
223
238
  virtual bool matches (CTypeInfo *ctype) const;
 
239
  virtual bool matches (const MatchType &type) const;
224
240
};
225
241
 
226
242
// type ungined char
230
246
  virtual MTUnsignedChar *clone () const;
231
247
  virtual TID type () const;
232
248
  virtual bool matches (CTypeInfo *ctype) const;
 
249
  virtual bool matches (const MatchType &type) const;
233
250
};
234
251
 
235
252
// type char
239
256
  virtual MTChar *clone () const;
240
257
  virtual TID type () const;
241
258
  virtual bool matches (CTypeInfo *ctype) const;
 
259
  virtual bool matches (const MatchType &type) const;
242
260
};
243
261
 
244
262
// type unsigned short
248
266
  virtual MTUnsignedShort *clone () const;
249
267
  virtual TID type () const;
250
268
  virtual bool matches (CTypeInfo *ctype) const;
 
269
  virtual bool matches (const MatchType &type) const;
251
270
};
252
271
 
253
272
// type short
257
276
  virtual MTShort *clone () const;
258
277
  virtual TID type () const;
259
278
  virtual bool matches (CTypeInfo *ctype) const;
 
279
  virtual bool matches (const MatchType &type) const;
260
280
};
261
281
 
262
282
// type unsigned int
266
286
  virtual MTUnsignedInt *clone () const;
267
287
  virtual TID type () const;
268
288
  virtual bool matches (CTypeInfo *ctype) const;
 
289
  virtual bool matches (const MatchType &type) const;
269
290
};
270
291
 
271
292
// type int
275
296
  virtual MTInt *clone () const;
276
297
  virtual TID type () const;
277
298
  virtual bool matches (CTypeInfo *ctype) const;
 
299
  virtual bool matches (const MatchType &type) const;
278
300
};
279
301
 
280
302
// type wchar_t
284
306
  virtual MTWCharT *clone () const;
285
307
  virtual TID type () const;
286
308
  virtual bool matches (CTypeInfo *ctype) const;
 
309
  virtual bool matches (const MatchType &type) const;
287
310
};
288
311
 
289
312
// type unsigned long
293
316
  virtual MTUnsignedLong *clone () const;
294
317
  virtual TID type () const;
295
318
  virtual bool matches (CTypeInfo *ctype) const;
 
319
  virtual bool matches (const MatchType &type) const;
296
320
};
297
321
 
298
322
// type long
302
326
  virtual MTLong *clone () const;
303
327
  virtual TID type () const;
304
328
  virtual bool matches (CTypeInfo *ctype) const;
 
329
  virtual bool matches (const MatchType &type) const;
305
330
};
306
331
 
307
332
// type unsigned long long
311
336
  virtual MTUnsignedLongLong *clone () const;
312
337
  virtual TID type () const;
313
338
  virtual bool matches (CTypeInfo *ctype) const;
 
339
  virtual bool matches (const MatchType &type) const;
314
340
};
315
341
 
316
342
// type long long
320
346
  virtual MTLongLong *clone () const;
321
347
  virtual TID type () const;
322
348
  virtual bool matches (CTypeInfo *ctype) const;
 
349
  virtual bool matches (const MatchType &type) const;
323
350
};
324
351
 
325
352
// type float
329
356
  virtual MTFloat *clone () const;
330
357
  virtual TID type () const;
331
358
  virtual bool matches (CTypeInfo *ctype) const;
 
359
  virtual bool matches (const MatchType &type) const;
332
360
};
333
361
 
334
362
// type double
338
366
  virtual MTDouble *clone () const;
339
367
  virtual TID type () const;
340
368
  virtual bool matches (CTypeInfo *ctype) const;
 
369
  virtual bool matches (const MatchType &type) const;
341
370
};
342
371
 
343
372
// type long double
347
376
  virtual MTLongDouble *clone () const;
348
377
  virtual TID type () const;
349
378
  virtual bool matches (CTypeInfo *ctype) const;
 
379
  virtual bool matches (const MatchType &type) const;
350
380
};
351
381
 
352
382
// type void
356
386
  virtual MTVoid *clone () const;
357
387
  virtual TID type () const;
358
388
  virtual bool matches (CTypeInfo *ctype) const;
 
389
  virtual bool matches (const MatchType &type) const;
359
390
  virtual bool is_void () const { return true; }
360
391
};
361
392