~ubuntu-branches/ubuntu/jaunty/aspectc++/jaunty

« back to all changes in this revision

Viewing changes to Puma/include/Puma/CTree.h

  • Committer: Bazaar Package Importer
  • Author(s): Reinhard Tartler
  • Date: 2008-07-07 14:41:02 UTC
  • mfrom: (1.1.3 upstream) (6.1.1 lenny)
  • Revision ID: james.westby@ubuntu.com-20080707144102-lzml7t07f3sl00r5
Tags: 1.0pre4~svn.20080711-1
* new upstream snapshot.
* include all upstream documentation. Clarifying emails regarding
  licensing has been included into debian/copyright.
* reformat description following recomendations of
  http://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Description
  (Closes: #480316)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#ifndef __ac_FIRST__var_tmp_aspectc4343_debian_Puma_gen45release_step1__
2
 
#define __ac_FIRST__var_tmp_aspectc4343_debian_Puma_gen45release_step1__
3
 
#define __ac_FIRST_FILE__var_tmp_aspectc4343_debian_Puma_gen45release_step1_inc_Puma_CTree_h__
 
1
#ifndef __ac_FIRST__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1__
 
2
#define __ac_FIRST__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1__
 
3
#define __ac_FIRST_FILE__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_inc_Puma_CTree_h__
4
4
 
5
5
#ifndef __ac_h_
6
6
#define __ac_h_
33
33
    typedef typename TL::type Type;
34
34
    typedef typename Referred<Type>::type ReferredType;
35
35
  };
 
36
  template <typename T> int ttest(...);
 
37
  template <typename T> char ttest(typename T::__AttrTypes const volatile *);
 
38
  template<typename T> struct HasTypeInfo {
 
39
    enum { RET=((sizeof(ttest<T>(0))==1)?1:0) };
 
40
  };
 
41
  template<typename T, int HAVE = HasTypeInfo<T>::RET> struct TypeInfo {
 
42
    enum { AVAILABLE = 0 };
 
43
  };
 
44
  template<typename T> struct TypeInfo<T, 1> {
 
45
    enum { AVAILABLE = 1 };
 
46
    enum { ELEMENTS = T::__AttrTypes::ARGS };
 
47
    template<int I>
 
48
    struct Member : public AC::Arg<typename T::__AttrTypes,I> {};
 
49
    template<int I>
 
50
    static typename Member<I>::ReferredType* member (T* obj) {
 
51
      return (typename Member<I>::ReferredType*)obj->__attr (I);
 
52
    }
 
53
    static const char *member_name (T &obj, int i) {
 
54
      return obj.__attr_name (i);
 
55
    }
 
56
         };
36
57
  template <class Aspect, int Index>
37
58
  struct CFlow {
38
59
    static int &instance () {
48
69
inline void operator delete (void *, AC::AnyResultBuffer *) { } // for VC++
49
70
#endif // __cplusplus
50
71
#endif // __ac_h_
51
 
#endif // __ac_FIRST__var_tmp_aspectc4343_debian_Puma_gen45release_step1__
52
 
 
53
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
54
 
 
55
 
#line 56 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
72
#endif // __ac_FIRST__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1__
 
73
 
 
74
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
 
75
 
 
76
#line 77 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
56
77
 
57
78
#ifndef __ac_fwd_ExtACTree__
58
79
#define __ac_fwd_ExtACTree__
65
86
}
66
87
#endif
67
88
 
68
 
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
69
 
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
89
#ifndef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
90
#define __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACTree_ah__
70
91
#endif
71
92
 
72
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
93
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
73
94
// This file is part of PUMA.
74
95
// Copyright (C) 1999-2003  The PUMA developer team.
75
96
//                                                                
91
112
#ifndef __CTree_h__
92
113
#define __CTree_h__
93
114
 
 
115
/** \file 
 
116
 *  C/C++ syntax tree classes. */
 
117
 
94
118
namespace Puma {
95
119
 
96
120
 
147
171
class     CT_MembDesignator;
148
172
class     CT_IndexDesignator;
149
173
class     CT_ImplicitCast;
 
174
class     CT_MembInit;
150
175
class   CT_DeclSpec;
151
176
class     CT_PrimDeclSpec;
152
177
class     CT_NamedType;
253
278
/*                                                                           */
254
279
/*****************************************************************************/
255
280
 
256
 
/** \file
257
 
 *  C/C++ syntax tree classes.
258
 
 *  \see Puma::CTree */
259
 
 
260
281
/** \class CTree CTree.h Puma/CTree.h
261
 
 *  Base class for all C/C++ syntax tree classes. */
 
282
 *  Base class for all C/C++ syntax tree classes. 
 
283
 *
 
284
 *  The syntax tree is the result of the syntactic analysis of the input source 
 
285
 *  code representing its syntactic structure according to the accepted grammar
 
286
 *  (see class Syntax). 
 
287
 *
 
288
 *  Objects of this class and classes derived from this class are created by 
 
289
 *  the tree builder component of %Puma during the parse process. A syntax tree 
 
290
 *  shall be destroyed using the tree builder that has created it by calling its 
 
291
 *  method Builder::destroy(CTree*) with the root node of the syntax tree as its 
 
292
 *  argument.
 
293
 *  
 
294
 *  The navigation in the syntax tree is done using the methods CTree::Parent(), 
 
295
 *  CTree::Sons(), and CTree::Son(int) const. In a syntax tree "sons" are 
 
296
 *  understood as the syntactic child nodes of a syntax tree node, whereas 
 
297
 *  "daughters" are understood are their semantic child nodes. 
 
298
 *
 
299
 *  Another way to traverse a syntax tree is to implement an own tree visitor 
 
300
 *  based on class Puma::CVisitor. This is recommended especially for larger 
 
301
 *  syntax trees.
 
302
 *
 
303
 *  A syntax tree node can be identified by comparing its node name with the node 
 
304
 *  identifier of the expected syntax tree node:
 
305
 *  \code if (node->NodeName() == Puma::CT_BinaryExpr::NodeId()) ... \endcode
 
306
 *  
 
307
 *  Based on the syntax tree further semantic analyses can be performed. Semantic 
 
308
 *  information, like scope, value, type, and object information, is linked into 
 
309
 *  the syntax tree. It can be accessed using the methods CTree::SemScope(), 
 
310
 *  CTree::SemValue(), and CTree::SemObject(). Some nodes provide short-cuts to
 
311
 *  the semantic type and value information by implementing the methods 
 
312
 *  CTree::Type() and CTree::Value().
 
313
 *
 
314
 *  The information of the syntax tree can be used to perform high-level 
 
315
 *  transformations of the source code (see class ManipCommander). */
262
316
 
263
 
#line 264 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
317
#line 318 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
264
318
} // closed Puma
265
319
class CCExprResolve;
266
320
class CExprResolve;
283
337
class CMatchSyntax;
284
338
namespace Puma {
285
339
 
286
 
#line 190 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
340
#line 223 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
287
341
 
288
 
#line 289 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
342
#line 343 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
289
343
} // closed Puma
290
344
 
291
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
292
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
345
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
346
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
293
347
#include "CCExprResolveH.ah"
294
348
#endif
295
349
namespace Puma {
296
350
 
297
 
#line 190 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
351
#line 223 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
298
352
 
299
 
#line 300 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
353
#line 354 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
300
354
} // closed Puma
301
355
 
302
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
303
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
356
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
357
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
304
358
#include "CExprResolveH.ah"
305
359
#endif
306
360
namespace Puma {
307
361
 
308
 
#line 190 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
362
#line 223 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
309
363
class CTree {
310
 
#line 311 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
364
#line 365 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
311
365
  friend class ::CCExprResolve;
312
366
  friend class ::CExprResolve;
313
367
  friend class ::WinIfExists;
328
382
  friend class ::PragmaOnce;
329
383
  friend class ::CMatchSyntax;
330
384
 
331
 
#line 190 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
385
#line 223 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
332
386
 
333
387
  CTree * _parent;
334
388
 
413
467
   *  \return The value object or NULL. */
414
468
  virtual CExprValue *Value () const { return (CExprValue*)0; }
415
469
  
416
 
  /** Get the semantic scope of the node.
 
470
  /** Get the scope opened by the node.
417
471
   *  \return The scope object or NULL. */
418
472
  virtual CSemScope *SemScope () const { return (CSemScope*)0; }
419
473
  /** Get the semantic value of the node.
420
474
   *  \return The value object or NULL. */
421
475
  virtual CSemValue *SemValue () const { return (CSemValue*)0; }
422
 
  /** Get the semantic object of the node.
 
476
  /** Get the semantic information of the node.
423
477
   *  \return The semantic object or NULL. */
424
478
  virtual CSemObject *SemObject () const { return (CSemObject*)0; }
425
479
  
448
502
   private:
449
503
  typedef CTree CCExprResolveCTree;
450
504
 
451
 
#line 32 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
505
#line 32 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
452
506
 public :
453
507
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
454
508
  typedef CTree CExprResolveCTree;
455
509
 
456
 
#line 32 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
510
#line 32 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
457
511
 public :
458
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
459
 
#line 306 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
512
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
513
  typedef AC::TL<Puma::CTree *,AC::TLE > __AttrTypes;
 
514
  const char *__attr_name (unsigned i) const {
 
515
    static const char *names[] = { "_parent" }; return names[i];
 
516
  }
 
517
  const void *__attr (unsigned __i) const {
 
518
    switch (__i) { case 0: return &_parent; default: return 0; }
 
519
  }
 
520
#line 339 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
460
521
};
461
522
 
462
523
/** \class CT_Error CTree.h Puma/CTree.h
463
524
 *  Error tree node that is inserted into the tree for syntactic constructs
464
525
 *  that could not be parsed. */
465
526
 
466
 
#line 467 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
527
#line 528 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
467
528
} // closed Puma
468
529
class CCExprResolve;
469
530
class CExprResolve;
486
547
class CMatchSyntax;
487
548
namespace Puma {
488
549
 
489
 
#line 311 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
550
#line 344 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
490
551
class CT_Error : public CTree {
491
 
#line 492 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
552
#line 553 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
492
553
  friend class ::CCExprResolve;
493
554
  friend class ::CExprResolve;
494
555
  friend class ::WinIfExists;
509
570
  friend class ::PragmaOnce;
510
571
  friend class ::CMatchSyntax;
511
572
 
512
 
#line 311 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
573
#line 344 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
513
574
 
514
575
public:
515
576
  /** Get the identifier for this node type. Can be compared with NodeName(). */
518
579
  const char *NodeName () const { return NodeId (); }
519
580
  /** Get the number of sons. */
520
581
  int Sons () const { return 0; }
 
582
public:
 
583
  typedef AC::TLE __AttrTypes;
 
584
  const char *__attr_name (unsigned i) const { return 0; }
 
585
  const void *__attr (unsigned __i) const { return 0; }
 
586
#line 352 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
521
587
};
522
588
 
523
589
/** \class CT_Token CTree.h Puma/CTree.h
524
590
 *  Tree node representing a single token in the source code. */
525
591
 
526
 
#line 527 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
592
#line 593 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
527
593
} // closed Puma
528
594
class CCExprResolve;
529
595
class CExprResolve;
546
612
class CMatchSyntax;
547
613
namespace Puma {
548
614
 
549
 
#line 323 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
615
#line 356 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
550
616
class CT_Token : public CTree {
551
 
#line 552 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
617
#line 618 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
552
618
  friend class ::CCExprResolve;
553
619
  friend class ::CExprResolve;
554
620
  friend class ::WinIfExists;
569
635
  friend class ::PragmaOnce;
570
636
  friend class ::CMatchSyntax;
571
637
 
572
 
#line 323 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
638
#line 356 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
573
639
 
574
640
  Token *_token;
575
641
  unsigned long int _number;
605
671
  void *operator new (size_t);
606
672
  /** Own delete operator. */
607
673
  void operator delete (void *);
 
674
public:
 
675
  typedef AC::TL<Puma::Token *,AC::TL<unsigned long int,AC::TLE > > __AttrTypes;
 
676
  const char *__attr_name (unsigned i) const {
 
677
    static const char *names[] = { "_token", "_number" }; return names[i];
 
678
  }
 
679
  const void *__attr (unsigned __i) const {
 
680
    switch (__i) { case 0: return &_token; case 1: return &_number; default: return 0; }
 
681
  }
 
682
#line 391 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
608
683
};
609
684
 
610
685
/*****************************************************************************/
616
691
/** \class CT_List CTree.h Puma/CTree.h
617
692
 *  Base class for tree nodes representing lists. */
618
693
 
619
 
#line 620 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
694
#line 695 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
620
695
} // closed Puma
621
696
class CCExprResolve;
622
697
class CExprResolve;
639
714
class CMatchSyntax;
640
715
namespace Puma {
641
716
 
642
 
#line 368 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
717
#line 401 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
643
718
class CT_List : public CTree {
644
 
#line 645 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
719
#line 720 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
645
720
  friend class ::CCExprResolve;
646
721
  friend class ::CExprResolve;
647
722
  friend class ::WinIfExists;
662
737
  friend class ::PragmaOnce;
663
738
  friend class ::CMatchSyntax;
664
739
 
665
 
#line 368 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
740
#line 401 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
666
741
 
667
742
  Array<CTree*> _sons;
668
743
  int _properties;
676
751
    _sons (size, incr), _properties (props) {}
677
752
 
678
753
public:
679
 
  /** List properties. */
 
754
  /** %List properties. */
680
755
  enum {
681
 
    OPEN = 1,         /** List has a start token, like ':' in ":a(1),b(2)" */
682
 
    CLOSE = 2,        /** List has an end token */
683
 
    OPEN_CLOSE = 3,   /** List has opening and closing delimiters, like '(' and ')' */
684
 
    SEPARATORS = 4,   /** List has separators, like ',' */
685
 
    FORCE_EMPTY = 8,  /** List pretend to be empty, e.g. for "(void)" */
686
 
    END_SEP = 16,     /** List has trailing separator, e.g. "a,b,c," */
687
 
    NO_LAST_SEP = 32, /** List has no separator before last element, e.g. "(a,b...)" */
688
 
    INTRO = 64        /** List has an introduction chararacter, e.g. "=" in "={a,b}" */
 
756
    /** %List has a start token, like ':' in ":a(1),b(2)" */
 
757
    OPEN = 1,         
 
758
    /** %List has an end token */
 
759
    CLOSE = 2,        
 
760
    /** %List has opening and closing delimiters, like '(' and ')' */
 
761
    OPEN_CLOSE = 3,   
 
762
    /** %List has separators, like ',' */
 
763
    SEPARATORS = 4,   
 
764
    /** %List pretend to be empty, like for "(void)" */
 
765
    FORCE_EMPTY = 8,  
 
766
    /** %List has trailing separator, like "a,b,c," */
 
767
    END_SEP = 16,     
 
768
    /** %List has no separator before last element, like "(a,b...)" */
 
769
    NO_LAST_SEP = 32, 
 
770
    /** %List has an introduction chararacter, like "=" in "={a,b}" */
 
771
    INTRO = 64        
689
772
  };
690
773
 
691
774
  /** Get the number of list entries. */
736
819
   *  \param idx The index of the son to remove. */
737
820
  void RemoveSon (int idx) 
738
821
   { if (idx < Sons ()) { SetParent (_sons[idx], 0); _sons.remove (idx); } }
 
822
public:
 
823
  typedef AC::TL<Puma::Array< Puma::CTree * >,AC::TL<int,AC::TLE > > __AttrTypes;
 
824
  const char *__attr_name (unsigned i) const {
 
825
    static const char *names[] = { "_sons", "_properties" }; return names[i];
 
826
  }
 
827
  const void *__attr (unsigned __i) const {
 
828
    switch (__i) { case 1: return &_sons; case 2: return &_properties; default: return 0; }
 
829
  }
 
830
#line 482 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
739
831
};
740
832
 
741
833
/** \class CT_ExprList CTree.h Puma/CTree.h
742
834
 *  Tree node representing an expression list. */
743
835
 
744
 
#line 745 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
836
#line 837 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
745
837
} // closed Puma
746
838
class CCExprResolve;
747
839
class CExprResolve;
764
856
class CMatchSyntax;
765
857
namespace Puma {
766
858
 
767
 
#line 445 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
859
#line 486 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
768
860
class CT_ExprList : public CT_List, public CSemValue, public CSemObject {
769
 
#line 770 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
861
#line 862 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
770
862
  friend class ::CCExprResolve;
771
863
  friend class ::CExprResolve;
772
864
  friend class ::WinIfExists;
787
879
  friend class ::PragmaOnce;
788
880
  friend class ::CMatchSyntax;
789
881
 
790
 
#line 445 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
882
#line 486 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
791
883
 
792
884
public:
793
885
  /** Constructor. */
805
897
  CExprValue *Value () const { return value; }
806
898
  /** Get the semantic value of the node. */
807
899
  CSemValue *SemValue () const { return (CSemValue*)this; }
808
 
  /** Get the semantic object of the node. */
 
900
  /** Get the semantic information about the node. */
809
901
  CSemObject *SemObject () const { return (CSemObject*)this; }
 
902
public:
 
903
  typedef AC::TLE __AttrTypes;
 
904
  const char *__attr_name (unsigned i) const { return 0; }
 
905
  const void *__attr (unsigned __i) const { return 0; }
 
906
#line 505 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
810
907
};
811
908
 
812
909
/** \class CT_DeclaratorList CTree.h Puma/CTree.h
813
910
 *  Tree node representing a list of declarators. */
814
911
 
815
 
#line 816 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
912
#line 913 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
816
913
} // closed Puma
817
914
class CCExprResolve;
818
915
class CExprResolve;
835
932
class CMatchSyntax;
836
933
namespace Puma {
837
934
 
838
 
#line 468 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
935
#line 509 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
839
936
class CT_DeclaratorList : public CT_List {
840
 
#line 841 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
937
#line 938 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
841
938
  friend class ::CCExprResolve;
842
939
  friend class ::CExprResolve;
843
940
  friend class ::WinIfExists;
858
955
  friend class ::PragmaOnce;
859
956
  friend class ::CMatchSyntax;
860
957
 
861
 
#line 468 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
958
#line 509 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
862
959
 
863
960
public:
864
961
  /** Get the identifier for this node type. Can be compared with NodeName(). */
865
962
  static const char *NodeId ();
866
963
  /** Get the name of the node. Can be compared with NodeId(). */
867
964
  const char *NodeName () const { return NodeId (); }
 
965
public:
 
966
  typedef AC::TLE __AttrTypes;
 
967
  const char *__attr_name (unsigned i) const { return 0; }
 
968
  const void *__attr (unsigned __i) const { return 0; }
 
969
#line 515 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
868
970
};
869
971
 
870
 
/** \class CT_DeclaratorList CTree.h Puma/CTree.h
 
972
/** \class CT_EnumeratorList CTree.h Puma/CTree.h
871
973
 *  Tree node representing a list of enumerator constants. */
872
974
 
873
 
#line 874 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
975
#line 976 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
874
976
} // closed Puma
875
977
class CCExprResolve;
876
978
class CExprResolve;
893
995
class CMatchSyntax;
894
996
namespace Puma {
895
997
 
896
 
#line 478 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
998
#line 519 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
897
999
class CT_EnumeratorList : public CT_List {
898
 
#line 899 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
1000
#line 1001 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
899
1001
  friend class ::CCExprResolve;
900
1002
  friend class ::CExprResolve;
901
1003
  friend class ::WinIfExists;
916
1018
  friend class ::PragmaOnce;
917
1019
  friend class ::CMatchSyntax;
918
1020
 
919
 
#line 478 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
1021
#line 519 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
920
1022
 
921
1023
public:
922
1024
  /** Constructor. */
925
1027
  static const char *NodeId ();
926
1028
  /** Get the name of the node. Can be compared with NodeId(). */
927
1029
  const char *NodeName () const { return NodeId (); }
 
1030
public:
 
1031
  typedef AC::TLE __AttrTypes;
 
1032
  const char *__attr_name (unsigned i) const { return 0; }
 
1033
  const void *__attr (unsigned __i) const { return 0; }
 
1034
#line 527 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
928
1035
};
929
1036
   
930
1037
/** \class CT_DeclList CTree.h Puma/CTree.h
931
1038
 *  Tree node representing a list of declarations. */
932
1039
 
933
 
#line 934 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
1040
#line 1041 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
934
1041
} // closed Puma
935
1042
class CCExprResolve;
936
1043
class CExprResolve;
953
1060
class CMatchSyntax;
954
1061
namespace Puma {
955
1062
 
956
 
#line 490 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
1063
#line 531 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
957
1064
class CT_DeclList : public CT_List {
958
 
#line 959 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
1065
#line 1066 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
959
1066
  friend class ::CCExprResolve;
960
1067
  friend class ::CExprResolve;
961
1068
  friend class ::WinIfExists;
976
1083
  friend class ::PragmaOnce;
977
1084
  friend class ::CMatchSyntax;
978
1085
 
979
 
#line 490 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
1086
#line 531 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
980
1087
 
981
1088
public:
982
1089
  /** Constructor. 
990
1097
  /** Set the linkage specifiers to each declaration in the list.
991
1098
   *  \param l The linkage specifiers node. */
992
1099
  void Linkage (CT_LinkageSpec *l);
 
1100
public:
 
1101
  typedef AC::TLE __AttrTypes;
 
1102
  const char *__attr_name (unsigned i) const { return 0; }
 
1103
  const void *__attr (unsigned __i) const { return 0; }
 
1104
#line 544 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
993
1105
};
994
1106
 
995
1107
/** \class CT_DeclSpecSeq CTree.h Puma/CTree.h
996
1108
 *  Tree node representing a sequence of declaration specifiers. */
997
1109
 
998
 
#line 999 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
1110
#line 1111 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
999
1111
} // closed Puma
1000
1112
class CCExprResolve;
1001
1113
class CExprResolve;
1018
1130
class CMatchSyntax;
1019
1131
namespace Puma {
1020
1132
 
1021
 
#line 507 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
1133
#line 548 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1022
1134
class CT_DeclSpecSeq : public CT_List {
1023
 
#line 1024 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
1135
#line 1136 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
1024
1136
  friend class ::CCExprResolve;
1025
1137
  friend class ::CExprResolve;
1026
1138
  friend class ::WinIfExists;
1041
1153
  friend class ::PragmaOnce;
1042
1154
  friend class ::CMatchSyntax;
1043
1155
 
1044
 
#line 507 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
1156
#line 548 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1045
1157
 
1046
1158
public:
1047
1159
  /** Get the identifier for this node type. Can be compared with NodeName(). */
1048
1160
  static const char *NodeId ();
1049
1161
  /** Get the name of the node. Can be compared with NodeId(). */
1050
1162
  const char *NodeName () const { return NodeId (); }
 
1163
public:
 
1164
  typedef AC::TLE __AttrTypes;
 
1165
  const char *__attr_name (unsigned i) const { return 0; }
 
1166
  const void *__attr (unsigned __i) const { return 0; }
 
1167
#line 554 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1051
1168
};
1052
1169
 
1053
1170
/** \class CT_CmpdStmt CTree.h Puma/CTree.h
1054
1171
 *  Tree node representing a compound statement. */
1055
1172
 
1056
 
#line 1057 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
1173
#line 1174 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
1057
1174
} // closed Puma
1058
1175
class CCExprResolve;
1059
1176
class CExprResolve;
1076
1193
class CMatchSyntax;
1077
1194
namespace Puma {
1078
1195
 
1079
 
#line 517 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
1196
#line 558 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1080
1197
class CT_CmpdStmt : public CT_List, public CSemScope {
1081
 
#line 1082 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
1198
#line 1199 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
1082
1199
  friend class ::CCExprResolve;
1083
1200
  friend class ::CExprResolve;
1084
1201
  friend class ::WinIfExists;
1099
1216
  friend class ::PragmaOnce;
1100
1217
  friend class ::CMatchSyntax;
1101
1218
 
1102
 
#line 517 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
1219
#line 558 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1103
1220
 
1104
1221
public:
1105
1222
  /* Constructor. */
1108
1225
  static const char *NodeId ();
1109
1226
  /** Get the name of the node. Can be compared with NodeId(). */
1110
1227
  const char *NodeName () const { return NodeId (); }
1111
 
  /** Get the local scope of the compound statement. */
 
1228
  /** Get the scope opened by the compound statement. */
1112
1229
  CSemScope *SemScope () const { return (CSemScope*)this; }
 
1230
public:
 
1231
  typedef AC::TLE __AttrTypes;
 
1232
  const char *__attr_name (unsigned i) const { return 0; }
 
1233
  const void *__attr (unsigned __i) const { return 0; }
 
1234
#line 568 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1113
1235
};
1114
1236
 
1115
1237
/** \class CT_HandlerSeq CTree.h Puma/CTree.h
1116
1238
 *  Tree node representing an exception handler sequence. */
1117
1239
 
1118
 
#line 1119 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
1240
#line 1241 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
1119
1241
} // closed Puma
1120
1242
class CCExprResolve;
1121
1243
class CExprResolve;
1138
1260
class CMatchSyntax;
1139
1261
namespace Puma {
1140
1262
 
1141
 
#line 531 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
1263
#line 572 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1142
1264
class CT_HandlerSeq : public CT_List {
1143
 
#line 1144 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
1265
#line 1266 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
1144
1266
  friend class ::CCExprResolve;
1145
1267
  friend class ::CExprResolve;
1146
1268
  friend class ::WinIfExists;
1161
1283
  friend class ::PragmaOnce;
1162
1284
  friend class ::CMatchSyntax;
1163
1285
 
1164
 
#line 531 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
1286
#line 572 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1165
1287
 
1166
1288
public:
1167
1289
  /** Get the identifier for this node type. Can be compared with NodeName(). */
1168
1290
  static const char *NodeId ();
1169
1291
  /** Get the name of the node. Can be compared with NodeId(). */
1170
1292
  const char *NodeName () const { return NodeId (); }
 
1293
public:
 
1294
  typedef AC::TLE __AttrTypes;
 
1295
  const char *__attr_name (unsigned i) const { return 0; }
 
1296
  const void *__attr (unsigned __i) const { return 0; }
 
1297
#line 578 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1171
1298
};
1172
1299
 
1173
1300
/** \class CT_TemplateParamList CTree.h Puma/CTree.h
1174
1301
 *  Tree node representing a template parameter list. */
1175
1302
 
1176
 
#line 1177 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
1303
#line 1304 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
1177
1304
} // closed Puma
1178
1305
class CCExprResolve;
1179
1306
class CExprResolve;
1196
1323
class CMatchSyntax;
1197
1324
namespace Puma {
1198
1325
 
1199
 
#line 541 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
1326
#line 582 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1200
1327
class CT_TemplateParamList : public CT_List, public CSemScope {
1201
 
#line 1202 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
1328
#line 1329 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
1202
1329
  friend class ::CCExprResolve;
1203
1330
  friend class ::CExprResolve;
1204
1331
  friend class ::WinIfExists;
1219
1346
  friend class ::PragmaOnce;
1220
1347
  friend class ::CMatchSyntax;
1221
1348
 
1222
 
#line 541 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
1349
#line 582 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1223
1350
 
1224
1351
public:
1225
1352
  CT_TemplateParamList () { AddProperties (INTRO | SEPARATORS | OPEN_CLOSE); }
1227
1354
  static const char *NodeId ();
1228
1355
  /** Get the name of the node. Can be compared with NodeId(). */
1229
1356
  const char *NodeName () const { return NodeId (); }
1230
 
  /** Get the scope of the template parameter list. */
 
1357
  /** Get the scope opened by the template parameter list. */
1231
1358
  CSemScope *SemScope () const { return (CSemScope*)this; }
 
1359
public:
 
1360
  typedef AC::TLE __AttrTypes;
 
1361
  const char *__attr_name (unsigned i) const { return 0; }
 
1362
  const void *__attr (unsigned __i) const { return 0; }
 
1363
#line 591 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1232
1364
};
1233
1365
 
1234
1366
/** \class CT_TemplateArgList CTree.h Puma/CTree.h
1235
1367
 *  Tree node representing a template argument list. */
1236
1368
 
1237
 
#line 1238 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
1369
#line 1370 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
1238
1370
} // closed Puma
1239
1371
class CCExprResolve;
1240
1372
class CExprResolve;
1257
1389
class CMatchSyntax;
1258
1390
namespace Puma {
1259
1391
 
1260
 
#line 554 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
1392
#line 595 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1261
1393
class CT_TemplateArgList : public CT_List {
1262
 
#line 1263 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
1394
#line 1395 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
1263
1395
  friend class ::CCExprResolve;
1264
1396
  friend class ::CExprResolve;
1265
1397
  friend class ::WinIfExists;
1280
1412
  friend class ::PragmaOnce;
1281
1413
  friend class ::CMatchSyntax;
1282
1414
 
1283
 
#line 554 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
1415
#line 595 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1284
1416
 
1285
1417
public:
1286
1418
  /** Constructor. */
1289
1421
  static const char *NodeId ();
1290
1422
  /** Get the name of the node. Can be compared with NodeId(). */
1291
1423
  const char *NodeName () const { return NodeId (); }
 
1424
public:
 
1425
  typedef AC::TLE __AttrTypes;
 
1426
  const char *__attr_name (unsigned i) const { return 0; }
 
1427
  const void *__attr (unsigned __i) const { return 0; }
 
1428
#line 603 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1292
1429
};
1293
1430
 
1294
1431
/*****************************************************************************/
1300
1437
/** \class CT_Expression CTree.h Puma/CTree.h
1301
1438
 *  Base class for all expression tree nodes. */
1302
1439
 
1303
 
#line 1304 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
1440
#line 1441 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
1304
1441
} // closed Puma
1305
1442
class CCExprResolve;
1306
1443
class CExprResolve;
1323
1460
class CMatchSyntax;
1324
1461
namespace Puma {
1325
1462
 
1326
 
#line 572 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
1463
#line 613 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1327
1464
 
1328
 
#line 1329 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
1465
#line 1466 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
1329
1466
} // closed Puma
1330
1467
 
1331
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
1332
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
1468
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
1469
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
1333
1470
#include "CCExprResolveH.ah"
1334
1471
#endif
1335
1472
namespace Puma {
1336
1473
 
1337
 
#line 572 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
1474
#line 613 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1338
1475
 
1339
 
#line 1340 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
1476
#line 1477 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
1340
1477
} // closed Puma
1341
1478
 
1342
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
1343
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
1479
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
1480
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
1344
1481
#include "CExprResolveH.ah"
1345
1482
#endif
1346
1483
namespace Puma {
1347
1484
 
1348
 
#line 572 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
1485
#line 613 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1349
1486
class CT_Expression : public CTree, public CSemValue {
1350
 
#line 1351 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
1487
#line 1488 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
1351
1488
  friend class ::CCExprResolve;
1352
1489
  friend class ::CExprResolve;
1353
1490
  friend class ::WinIfExists;
1368
1505
  friend class ::PragmaOnce;
1369
1506
  friend class ::CMatchSyntax;
1370
1507
 
1371
 
#line 572 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
1508
#line 613 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1372
1509
 
1373
1510
protected:
1374
1511
  /** Constructor. */
1393
1530
   private:
1394
1531
  typedef CT_Expression CCExprResolveExpr;
1395
1532
 
1396
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
1533
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
1397
1534
 public :
1398
1535
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
1399
1536
  typedef CT_Expression CExprResolveExpr;
1400
1537
 
1401
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
1538
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
1402
1539
 public :
1403
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
1404
 
#line 593 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
1540
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
1541
  typedef AC::TLE __AttrTypes;
 
1542
  const char *__attr_name (unsigned i) const { return 0; }
 
1543
  const void *__attr (unsigned __i) const { return 0; }
 
1544
#line 634 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1405
1545
};
1406
1546
 
1407
1547
/** \class CT_Call CTree.h Puma/CTree.h
1409
1549
 *  including built-in or user-defined functions and overloaded
1410
1550
 *  operators. */
1411
1551
 
1412
 
#line 1413 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
1552
#line 1553 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
1413
1553
} // closed Puma
1414
1554
class CCExprResolve;
1415
1555
class CExprResolve;
1432
1572
class CMatchSyntax;
1433
1573
namespace Puma {
1434
1574
 
1435
 
#line 599 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
1575
#line 640 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1436
1576
 
1437
 
#line 1438 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
1577
#line 1578 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
1438
1578
} // closed Puma
1439
1579
 
1440
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
1441
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
1580
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
1581
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
1442
1582
#include "CCExprResolveH.ah"
1443
1583
#endif
1444
1584
namespace Puma {
1445
1585
 
1446
 
#line 599 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
1586
#line 640 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1447
1587
 
1448
 
#line 1449 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
1588
#line 1589 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
1449
1589
} // closed Puma
1450
1590
 
1451
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
1452
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
1591
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
1592
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
1453
1593
#include "CExprResolveH.ah"
1454
1594
#endif
1455
1595
namespace Puma {
1456
1596
 
1457
 
#line 599 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
1597
#line 640 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1458
1598
class CT_Call : public CT_Expression, public CSemObject {
1459
 
#line 1460 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
1599
#line 1600 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
1460
1600
  friend class ::CCExprResolve;
1461
1601
  friend class ::CExprResolve;
1462
1602
  friend class ::WinIfExists;
1477
1617
  friend class ::PragmaOnce;
1478
1618
  friend class ::CMatchSyntax;
1479
1619
 
1480
 
#line 599 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
1620
#line 640 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1481
1621
 
1482
1622
protected:
1483
1623
  /** Constructor. */
1488
1628
  static const char *NodeId ();
1489
1629
  /** Get the name of the node. Can be compared with NodeId(). */
1490
1630
  const char *NodeName () const { return NodeId (); }
1491
 
  /** Get the semantic information of the call.
1492
 
   *  \return The semantic information or NULL. */
 
1631
  /** Get the semantic information of the call. */
1493
1632
  CSemObject *SemObject () const { return (CSemObject*)this; }
1494
1633
  /** Get this. */
1495
1634
  CT_Call *IsCall () { return this; }
1496
1635
   private:
1497
1636
  typedef CT_Call CCExprResolveExpr;
1498
1637
 
1499
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
1638
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
1500
1639
 public :
1501
1640
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
1502
1641
  typedef CT_Call CExprResolveExpr;
1503
1642
 
1504
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
1643
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
1505
1644
 public :
1506
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
1507
 
#line 614 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
1645
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
1646
  typedef AC::TLE __AttrTypes;
 
1647
  const char *__attr_name (unsigned i) const { return 0; }
 
1648
  const void *__attr (unsigned __i) const { return 0; }
 
1649
#line 654 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1508
1650
};
1509
1651
 
1510
1652
/** \class CT_ImplicitCall CTree.h Puma/CTree.h
1511
1653
 *  Tree node representing implicit function calls detected by
1512
 
 *  the semantic analysis. */
 
1654
 *  the semantic analysis. 
 
1655
 *  Example:
 
1656
 *  \code
 
1657
 * class Number {
 
1658
 *   int _n;
 
1659
 * public:
 
1660
 *   Number(int n) : _n(n) {}
 
1661
 *   int operator+(const Number& n) { return n._n + _n; }
 
1662
 * };
 
1663
 *     
 
1664
 * Number one(1), two(2);
 
1665
 * one + two;  // implicitely calls one.operator+(two)
 
1666
 *  \endcode */
1513
1667
 
1514
 
#line 1515 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
1668
#line 1669 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
1515
1669
} // closed Puma
1516
1670
class CCExprResolve;
1517
1671
class CExprResolve;
1534
1688
class CMatchSyntax;
1535
1689
namespace Puma {
1536
1690
 
1537
 
#line 619 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
1691
#line 671 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1538
1692
 
1539
 
#line 1540 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
1693
#line 1694 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
1540
1694
} // closed Puma
1541
1695
 
1542
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
1543
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
1696
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
1697
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
1544
1698
#include "CCExprResolveH.ah"
1545
1699
#endif
1546
1700
namespace Puma {
1547
1701
 
1548
 
#line 619 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
1702
#line 671 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1549
1703
 
1550
 
#line 1551 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
1704
#line 1705 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
1551
1705
} // closed Puma
1552
1706
 
1553
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
1554
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
1707
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
1708
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
1555
1709
#include "CExprResolveH.ah"
1556
1710
#endif
1557
1711
namespace Puma {
1558
1712
 
1559
 
#line 619 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
1713
#line 671 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1560
1714
class CT_ImplicitCall : public CT_Call {
1561
 
#line 1562 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
1715
#line 1716 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
1562
1716
  friend class ::CCExprResolve;
1563
1717
  friend class ::CExprResolve;
1564
1718
  friend class ::WinIfExists;
1579
1733
  friend class ::PragmaOnce;
1580
1734
  friend class ::CMatchSyntax;
1581
1735
 
1582
 
#line 619 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
1736
#line 671 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1583
1737
 
1584
1738
  CTree *_arg;
1585
1739
 
1605
1759
   private:
1606
1760
  typedef CT_ImplicitCall CCExprResolveExpr;
1607
1761
 
1608
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
1762
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
1609
1763
 public :
1610
1764
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
1611
1765
  typedef CT_ImplicitCall CExprResolveExpr;
1612
1766
 
1613
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
1767
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
1614
1768
 public :
1615
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
1616
 
#line 641 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
1769
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
1770
  typedef AC::TL<Puma::CTree *,AC::TLE > __AttrTypes;
 
1771
  const char *__attr_name (unsigned i) const {
 
1772
    static const char *names[] = { "_arg" }; return names[i];
 
1773
  }
 
1774
  const void *__attr (unsigned __i) const {
 
1775
    switch (__i) { case 0: return &_arg; default: return 0; }
 
1776
  }
 
1777
#line 693 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1617
1778
};
1618
1779
 
1619
1780
/** \class CT_String CTree.h Puma/CTree.h
1620
 
 *  Tree node representing a string literal. */
 
1781
 *  Tree node representing a string literal. 
 
1782
 *  Example: \code "abc" \endcode */
1621
1783
 
1622
 
#line 1623 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
1784
#line 1785 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
1623
1785
} // closed Puma
1624
1786
class CCExprResolve;
1625
1787
class CExprResolve;
1642
1804
class CMatchSyntax;
1643
1805
namespace Puma {
1644
1806
 
1645
 
#line 645 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
1807
#line 698 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1646
1808
 
1647
 
#line 1648 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
1809
#line 1810 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
1648
1810
} // closed Puma
1649
1811
 
1650
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
1651
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
1812
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
1813
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
1652
1814
#include "CCExprResolveH.ah"
1653
1815
#endif
1654
1816
namespace Puma {
1655
1817
 
1656
 
#line 645 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
1818
#line 698 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1657
1819
 
1658
 
#line 1659 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
1820
#line 1821 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
1659
1821
} // closed Puma
1660
1822
 
1661
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
1662
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
1823
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
1824
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
1663
1825
#include "CExprResolveH.ah"
1664
1826
#endif
1665
1827
namespace Puma {
1666
1828
 
1667
 
#line 645 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
1829
#line 698 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1668
1830
class CT_String : public CT_List, public CSemValue {
1669
 
#line 1670 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
1831
#line 1832 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
1670
1832
  friend class ::CCExprResolve;
1671
1833
  friend class ::CExprResolve;
1672
1834
  friend class ::WinIfExists;
1687
1849
  friend class ::PragmaOnce;
1688
1850
  friend class ::CMatchSyntax;
1689
1851
 
1690
 
#line 645 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
1852
#line 698 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1691
1853
 
1692
1854
public:
1693
1855
  /** Constructor. 
1712
1874
   private:
1713
1875
  typedef CT_String CCExprResolveExpr;
1714
1876
 
1715
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
1877
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
1716
1878
 public :
1717
1879
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
1718
1880
  typedef CT_String CExprResolveExpr;
1719
1881
 
1720
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
1882
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
1721
1883
 public :
1722
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
1723
 
#line 666 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
1884
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
1885
  typedef AC::TLE __AttrTypes;
 
1886
  const char *__attr_name (unsigned i) const { return 0; }
 
1887
  const void *__attr (unsigned __i) const { return 0; }
 
1888
#line 719 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1724
1889
};
1725
1890
 
1726
1891
/** \class CT_WideString CTree.h Puma/CTree.h
1727
 
 *  Tree node representing a wide string literal. */
 
1892
 *  Tree node representing a wide string literal. 
 
1893
 *  Example: \code L"abc" \endcode */
1728
1894
 
1729
 
#line 1730 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
1895
#line 1896 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
1730
1896
} // closed Puma
1731
1897
class CCExprResolve;
1732
1898
class CExprResolve;
1749
1915
class CMatchSyntax;
1750
1916
namespace Puma {
1751
1917
 
1752
 
#line 670 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
1918
#line 724 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1753
1919
 
1754
 
#line 1755 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
1920
#line 1921 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
1755
1921
} // closed Puma
1756
1922
 
1757
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
1758
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
1923
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
1924
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
1759
1925
#include "CCExprResolveH.ah"
1760
1926
#endif
1761
1927
namespace Puma {
1762
1928
 
1763
 
#line 670 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
1929
#line 724 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1764
1930
 
1765
 
#line 1766 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
1931
#line 1932 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
1766
1932
} // closed Puma
1767
1933
 
1768
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
1769
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
1934
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
1935
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
1770
1936
#include "CExprResolveH.ah"
1771
1937
#endif
1772
1938
namespace Puma {
1773
1939
 
1774
 
#line 670 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
1940
#line 724 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1775
1941
class CT_WideString : public CT_String {
1776
 
#line 1777 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
1942
#line 1943 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
1777
1943
  friend class ::CCExprResolve;
1778
1944
  friend class ::CExprResolve;
1779
1945
  friend class ::WinIfExists;
1794
1960
  friend class ::PragmaOnce;
1795
1961
  friend class ::CMatchSyntax;
1796
1962
 
1797
 
#line 670 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
1963
#line 724 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1798
1964
 
1799
1965
public:
1800
1966
  /** Constructor.
1807
1973
   private:
1808
1974
  typedef CT_WideString CCExprResolveExpr;
1809
1975
 
1810
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
1976
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
1811
1977
 public :
1812
1978
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
1813
1979
  typedef CT_WideString CExprResolveExpr;
1814
1980
 
1815
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
1981
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
1816
1982
 public :
1817
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
1818
 
#line 679 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
1983
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
1984
  typedef AC::TLE __AttrTypes;
 
1985
  const char *__attr_name (unsigned i) const { return 0; }
 
1986
  const void *__attr (unsigned __i) const { return 0; }
 
1987
#line 733 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1819
1988
};
1820
1989
 
1821
1990
/** \class CT_Integer CTree.h Puma/CTree.h
1822
 
 *  Tree node representing an integer constant. */
 
1991
 *  Tree node representing an integer constant. 
 
1992
 *  Example: \code 1234 \endcode */
1823
1993
 
1824
 
#line 1825 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
1994
#line 1995 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
1825
1995
} // closed Puma
1826
1996
class CCExprResolve;
1827
1997
class CExprResolve;
1844
2014
class CMatchSyntax;
1845
2015
namespace Puma {
1846
2016
 
1847
 
#line 683 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
2017
#line 738 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1848
2018
 
1849
 
#line 1850 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
2019
#line 2020 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
1850
2020
} // closed Puma
1851
2021
 
1852
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
1853
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
2022
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
2023
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
1854
2024
#include "CCExprResolveH.ah"
1855
2025
#endif
1856
2026
namespace Puma {
1857
2027
 
1858
 
#line 683 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
2028
#line 738 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1859
2029
 
1860
 
#line 1861 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
2030
#line 2031 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
1861
2031
} // closed Puma
1862
2032
 
1863
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
1864
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
2033
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
2034
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
1865
2035
#include "CExprResolveH.ah"
1866
2036
#endif
1867
2037
namespace Puma {
1868
2038
 
1869
 
#line 683 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
2039
#line 738 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1870
2040
class CT_Integer : public CT_Expression {
1871
 
#line 1872 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
2041
#line 2042 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
1872
2042
  friend class ::CCExprResolve;
1873
2043
  friend class ::CExprResolve;
1874
2044
  friend class ::WinIfExists;
1889
2059
  friend class ::PragmaOnce;
1890
2060
  friend class ::CMatchSyntax;
1891
2061
 
1892
 
#line 683 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
2062
#line 738 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1893
2063
 
1894
2064
  CTree *_value;  // CT_Token
1895
2065
 
1915
2085
   private:
1916
2086
  typedef CT_Integer CCExprResolveExpr;
1917
2087
 
1918
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
2088
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
1919
2089
 public :
1920
2090
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
1921
2091
  typedef CT_Integer CExprResolveExpr;
1922
2092
 
1923
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
2093
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
1924
2094
 public :
1925
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
1926
 
#line 705 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
2095
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
2096
  typedef AC::TL<Puma::CTree *,AC::TLE > __AttrTypes;
 
2097
  const char *__attr_name (unsigned i) const {
 
2098
    static const char *names[] = { "_value" }; return names[i];
 
2099
  }
 
2100
  const void *__attr (unsigned __i) const {
 
2101
    switch (__i) { case 0: return &_value; default: return 0; }
 
2102
  }
 
2103
#line 760 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1927
2104
};
1928
2105
 
1929
2106
/** \class CT_Character CTree.h Puma/CTree.h
1930
 
 *  Tree node representing a single character constant. */
 
2107
 *  Tree node representing a single character constant. 
 
2108
 *  Example: \code 'a' \endcode */
1931
2109
 
1932
 
#line 1933 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
2110
#line 2111 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
1933
2111
} // closed Puma
1934
2112
class CCExprResolve;
1935
2113
class CExprResolve;
1952
2130
class CMatchSyntax;
1953
2131
namespace Puma {
1954
2132
 
1955
 
#line 709 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
2133
#line 765 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1956
2134
 
1957
 
#line 1958 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
2135
#line 2136 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
1958
2136
} // closed Puma
1959
2137
 
1960
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
1961
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
2138
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
2139
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
1962
2140
#include "CCExprResolveH.ah"
1963
2141
#endif
1964
2142
namespace Puma {
1965
2143
 
1966
 
#line 709 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
2144
#line 765 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1967
2145
 
1968
 
#line 1969 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
2146
#line 2147 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
1969
2147
} // closed Puma
1970
2148
 
1971
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
1972
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
2149
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
2150
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
1973
2151
#include "CExprResolveH.ah"
1974
2152
#endif
1975
2153
namespace Puma {
1976
2154
 
1977
 
#line 709 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
2155
#line 765 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
1978
2156
class CT_Character : public CT_Expression {
1979
 
#line 1980 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
2157
#line 2158 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
1980
2158
  friend class ::CCExprResolve;
1981
2159
  friend class ::CExprResolve;
1982
2160
  friend class ::WinIfExists;
1997
2175
  friend class ::PragmaOnce;
1998
2176
  friend class ::CMatchSyntax;
1999
2177
 
2000
 
#line 709 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
2178
#line 765 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2001
2179
 
2002
2180
  CTree *_value;  // CT_Token
2003
2181
 
2023
2201
   private:
2024
2202
  typedef CT_Character CCExprResolveExpr;
2025
2203
 
2026
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
2204
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
2027
2205
 public :
2028
2206
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
2029
2207
  typedef CT_Character CExprResolveExpr;
2030
2208
 
2031
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
2209
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
2032
2210
 public :
2033
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
2034
 
#line 731 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
2211
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
2212
  typedef AC::TL<Puma::CTree *,AC::TLE > __AttrTypes;
 
2213
  const char *__attr_name (unsigned i) const {
 
2214
    static const char *names[] = { "_value" }; return names[i];
 
2215
  }
 
2216
  const void *__attr (unsigned __i) const {
 
2217
    switch (__i) { case 0: return &_value; default: return 0; }
 
2218
  }
 
2219
#line 787 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2035
2220
};
2036
2221
 
2037
2222
/** \class CT_WideCharacter CTree.h Puma/CTree.h
2038
 
 *  Tree node representing a wide character constant. */
 
2223
 *  Tree node representing a wide character constant. 
 
2224
 *  Example: \code L'a' \endcode */
2039
2225
 
2040
 
#line 2041 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
2226
#line 2227 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
2041
2227
} // closed Puma
2042
2228
class CCExprResolve;
2043
2229
class CExprResolve;
2060
2246
class CMatchSyntax;
2061
2247
namespace Puma {
2062
2248
 
2063
 
#line 735 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
2249
#line 792 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2064
2250
 
2065
 
#line 2066 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
2251
#line 2252 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
2066
2252
} // closed Puma
2067
2253
 
2068
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
2069
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
2254
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
2255
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
2070
2256
#include "CCExprResolveH.ah"
2071
2257
#endif
2072
2258
namespace Puma {
2073
2259
 
2074
 
#line 735 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
2260
#line 792 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2075
2261
 
2076
 
#line 2077 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
2262
#line 2263 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
2077
2263
} // closed Puma
2078
2264
 
2079
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
2080
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
2265
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
2266
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
2081
2267
#include "CExprResolveH.ah"
2082
2268
#endif
2083
2269
namespace Puma {
2084
2270
 
2085
 
#line 735 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
2271
#line 792 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2086
2272
class CT_WideCharacter : public CT_Character {
2087
 
#line 2088 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
2273
#line 2274 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
2088
2274
  friend class ::CCExprResolve;
2089
2275
  friend class ::CExprResolve;
2090
2276
  friend class ::WinIfExists;
2105
2291
  friend class ::PragmaOnce;
2106
2292
  friend class ::CMatchSyntax;
2107
2293
 
2108
 
#line 735 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
2294
#line 792 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2109
2295
 
2110
2296
public:
2111
2297
  /** Constructor.
2118
2304
   private:
2119
2305
  typedef CT_WideCharacter CCExprResolveExpr;
2120
2306
 
2121
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
2307
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
2122
2308
 public :
2123
2309
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
2124
2310
  typedef CT_WideCharacter CExprResolveExpr;
2125
2311
 
2126
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
2312
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
2127
2313
 public :
2128
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
2129
 
#line 744 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
2314
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
2315
  typedef AC::TLE __AttrTypes;
 
2316
  const char *__attr_name (unsigned i) const { return 0; }
 
2317
  const void *__attr (unsigned __i) const { return 0; }
 
2318
#line 801 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2130
2319
};
2131
2320
 
2132
2321
/** \class CT_Float CTree.h Puma/CTree.h
2133
 
 *  Tree node representing a floating point constant. */
 
2322
 *  Tree node representing a floating point constant. 
 
2323
 *  Example: \code 12.34 \endcode */
2134
2324
 
2135
 
#line 2136 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
2325
#line 2326 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
2136
2326
} // closed Puma
2137
2327
class CCExprResolve;
2138
2328
class CExprResolve;
2155
2345
class CMatchSyntax;
2156
2346
namespace Puma {
2157
2347
 
2158
 
#line 748 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
2348
#line 806 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2159
2349
 
2160
 
#line 2161 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
2350
#line 2351 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
2161
2351
} // closed Puma
2162
2352
 
2163
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
2164
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
2353
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
2354
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
2165
2355
#include "CCExprResolveH.ah"
2166
2356
#endif
2167
2357
namespace Puma {
2168
2358
 
2169
 
#line 748 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
2359
#line 806 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2170
2360
 
2171
 
#line 2172 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
2361
#line 2362 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
2172
2362
} // closed Puma
2173
2363
 
2174
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
2175
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
2364
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
2365
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
2176
2366
#include "CExprResolveH.ah"
2177
2367
#endif
2178
2368
namespace Puma {
2179
2369
 
2180
 
#line 748 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
2370
#line 806 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2181
2371
class CT_Float : public CT_Expression {
2182
 
#line 2183 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
2372
#line 2373 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
2183
2373
  friend class ::CCExprResolve;
2184
2374
  friend class ::CExprResolve;
2185
2375
  friend class ::WinIfExists;
2200
2390
  friend class ::PragmaOnce;
2201
2391
  friend class ::CMatchSyntax;
2202
2392
 
2203
 
#line 748 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
2393
#line 806 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2204
2394
 
2205
2395
  CTree *_value;  // CT_Token
2206
2396
 
2226
2416
   private:
2227
2417
  typedef CT_Float CCExprResolveExpr;
2228
2418
 
2229
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
2419
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
2230
2420
 public :
2231
2421
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
2232
2422
  typedef CT_Float CExprResolveExpr;
2233
2423
 
2234
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
2424
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
2235
2425
 public :
2236
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
2237
 
#line 770 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
2426
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
2427
  typedef AC::TL<Puma::CTree *,AC::TLE > __AttrTypes;
 
2428
  const char *__attr_name (unsigned i) const {
 
2429
    static const char *names[] = { "_value" }; return names[i];
 
2430
  }
 
2431
  const void *__attr (unsigned __i) const {
 
2432
    switch (__i) { case 0: return &_value; default: return 0; }
 
2433
  }
 
2434
#line 828 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2238
2435
};
2239
2436
 
2240
2437
/** \class CT_Bool CTree.h Puma/CTree.h
2241
 
 *  Tree node representing a boolean literal, i.e. 'true' or 'false'. */
 
2438
 *  Tree node representing a boolean literal. 
 
2439
 *  Examples: 
 
2440
 *  \code 
 
2441
 * true
 
2442
 * false
 
2443
 *  \endcode */
2242
2444
 
2243
 
#line 2244 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
2445
#line 2446 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
2244
2446
} // closed Puma
2245
2447
class CCExprResolve;
2246
2448
class CExprResolve;
2263
2465
class CMatchSyntax;
2264
2466
namespace Puma {
2265
2467
 
2266
 
#line 774 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
2468
#line 837 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2267
2469
 
2268
 
#line 2269 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
2470
#line 2471 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
2269
2471
} // closed Puma
2270
2472
 
2271
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
2272
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
2473
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
2474
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
2273
2475
#include "CCExprResolveH.ah"
2274
2476
#endif
2275
2477
namespace Puma {
2276
2478
 
2277
 
#line 774 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
2479
#line 837 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2278
2480
 
2279
 
#line 2280 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
2481
#line 2482 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
2280
2482
} // closed Puma
2281
2483
 
2282
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
2283
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
2484
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
2485
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
2284
2486
#include "CExprResolveH.ah"
2285
2487
#endif
2286
2488
namespace Puma {
2287
2489
 
2288
 
#line 774 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
2490
#line 837 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2289
2491
class CT_Bool : public CT_Expression {
2290
 
#line 2291 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
2492
#line 2493 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
2291
2493
  friend class ::CCExprResolve;
2292
2494
  friend class ::CExprResolve;
2293
2495
  friend class ::WinIfExists;
2308
2510
  friend class ::PragmaOnce;
2309
2511
  friend class ::CMatchSyntax;
2310
2512
 
2311
 
#line 774 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
2513
#line 837 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2312
2514
 
2313
2515
  CTree *_value;  // CT_Token
2314
2516
 
2334
2536
   private:
2335
2537
  typedef CT_Bool CCExprResolveExpr;
2336
2538
 
2337
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
2539
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
2338
2540
 public :
2339
2541
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
2340
2542
  typedef CT_Bool CExprResolveExpr;
2341
2543
 
2342
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
2544
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
2343
2545
 public :
2344
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
2345
 
#line 796 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
2546
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
2547
  typedef AC::TL<Puma::CTree *,AC::TLE > __AttrTypes;
 
2548
  const char *__attr_name (unsigned i) const {
 
2549
    static const char *names[] = { "_value" }; return names[i];
 
2550
  }
 
2551
  const void *__attr (unsigned __i) const {
 
2552
    switch (__i) { case 0: return &_value; default: return 0; }
 
2553
  }
 
2554
#line 859 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2346
2555
};
2347
2556
 
2348
2557
/** \class CT_BracedExpr CTree.h Puma/CTree.h
2349
 
 *  Tree node representing a braced expression, e.g. (a+b). */
 
2558
 *  Tree node representing a braced expression.
 
2559
 *  Example: \code (a+b) \endcode */
2350
2560
 
2351
 
#line 2352 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
2561
#line 2562 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
2352
2562
} // closed Puma
2353
2563
class CCExprResolve;
2354
2564
class CExprResolve;
2371
2581
class CMatchSyntax;
2372
2582
namespace Puma {
2373
2583
 
2374
 
#line 800 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
2584
#line 864 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2375
2585
 
2376
 
#line 2377 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
2586
#line 2587 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
2377
2587
} // closed Puma
2378
2588
 
2379
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
2380
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
2589
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
2590
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
2381
2591
#include "CCExprResolveH.ah"
2382
2592
#endif
2383
2593
namespace Puma {
2384
2594
 
2385
 
#line 800 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
2595
#line 864 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2386
2596
 
2387
 
#line 2388 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
2597
#line 2598 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
2388
2598
} // closed Puma
2389
2599
 
2390
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
2391
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
2600
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
2601
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
2392
2602
#include "CExprResolveH.ah"
2393
2603
#endif
2394
2604
namespace Puma {
2395
2605
 
2396
 
#line 800 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
2606
#line 864 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2397
2607
class CT_BracedExpr : public CT_Expression {
2398
 
#line 2399 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
2608
#line 2609 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
2399
2609
  friend class ::CCExprResolve;
2400
2610
  friend class ::CExprResolve;
2401
2611
  friend class ::WinIfExists;
2416
2626
  friend class ::PragmaOnce;
2417
2627
  friend class ::CMatchSyntax;
2418
2628
 
2419
 
#line 800 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
2629
#line 864 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2420
2630
 
2421
2631
  CTree *sons[3]; // open, expr, close
2422
2632
 
2444
2654
  CTypeInfo *Type () const { return Expr ()->Type (); }
2445
2655
  /** Get the value of the enclosed expression. */
2446
2656
  CExprValue *Value () const { return Expr ()->Value (); }
2447
 
  /** Get the semantic value object. */
 
2657
  /** Get the semantic value of the expression. */
2448
2658
  CSemValue *SemValue () const { return (CSemValue*)this; }
2449
2659
  /** Replace a son.
2450
2660
   *  \param old_son The son to replace.
2455
2665
   private:
2456
2666
  typedef CT_BracedExpr CCExprResolveExpr;
2457
2667
 
2458
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
2668
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
2459
2669
 public :
2460
2670
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
2461
2671
  typedef CT_BracedExpr CExprResolveExpr;
2462
2672
 
2463
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
2673
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
2464
2674
 public :
2465
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
2466
 
#line 835 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
2675
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
2676
  typedef AC::TL<Puma::CTree * [3],AC::TLE > __AttrTypes;
 
2677
  const char *__attr_name (unsigned i) const {
 
2678
    static const char *names[] = { "sons" }; return names[i];
 
2679
  }
 
2680
  const void *__attr (unsigned __i) const {
 
2681
    switch (__i) { case 0: return &sons; default: return 0; }
 
2682
  }
 
2683
#line 899 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2467
2684
};
2468
2685
 
2469
2686
/** \class CT_SimpleName CTree.h Puma/CTree.h
2470
 
 *  Base class for all tree nodes representing a name. */
 
2687
 *  Base class for all tree nodes representing a name. 
 
2688
 *  Example: \code a \endcode */
2471
2689
 
2472
 
#line 2473 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
2690
#line 2691 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
2473
2691
} // closed Puma
2474
2692
class CCExprResolve;
2475
2693
class CExprResolve;
2492
2710
class CMatchSyntax;
2493
2711
namespace Puma {
2494
2712
 
2495
 
#line 839 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
2713
#line 904 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2496
2714
 
2497
 
#line 2498 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
2715
#line 2716 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
2498
2716
} // closed Puma
2499
2717
 
2500
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
2501
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
2718
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
2719
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
2502
2720
#include "CCExprResolveH.ah"
2503
2721
#endif
2504
2722
namespace Puma {
2505
2723
 
2506
 
#line 839 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
2724
#line 904 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2507
2725
 
2508
 
#line 2509 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
2726
#line 2727 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
2509
2727
} // closed Puma
2510
2728
 
2511
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
2512
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
2729
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
2730
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
2513
2731
#include "CExprResolveH.ah"
2514
2732
#endif
2515
2733
namespace Puma {
2516
2734
 
2517
 
#line 839 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
2735
#line 904 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2518
2736
class CT_SimpleName : public CT_List, public Printable, 
2519
2737
                      public CSemValue, public CSemObject {
2520
 
#line 2521 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
2738
#line 2739 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
2521
2739
  friend class ::CCExprResolve;
2522
2740
  friend class ::CExprResolve;
2523
2741
  friend class ::WinIfExists;
2538
2756
  friend class ::PragmaOnce;
2539
2757
  friend class ::CMatchSyntax;
2540
2758
 
2541
 
#line 840 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
2759
#line 905 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2542
2760
 
2543
2761
protected:
2544
2762
  /** Constructor.
2570
2788
  CTypeInfo *Type () const { return type; }
2571
2789
  /** Get the value of the entity represented by the name. */ 
2572
2790
  CExprValue *Value () const { return value; }
2573
 
  /** Get the sematic value information object. */
 
2791
  /** Get the sematic value information of the name. */
2574
2792
  CSemValue *SemValue () const { return (CSemValue*)this; }
2575
 
  /** Get the sematic information object. */
 
2793
  /** Get the sematic information about the name. */
2576
2794
  CSemObject *SemObject () const { return (CSemObject*)this; }
2577
2795
  /** Get this. */
2578
2796
  virtual CT_SimpleName *IsSimpleName () { return this; }  
2585
2803
   private:
2586
2804
  typedef CT_SimpleName CCExprResolveExpr;
2587
2805
 
2588
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
2806
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
2589
2807
 public :
2590
2808
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
2591
2809
  typedef CT_SimpleName CExprResolveExpr;
2592
2810
 
2593
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
2811
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
2594
2812
 public :
2595
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
2596
 
#line 883 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
2813
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
2814
  typedef AC::TLE __AttrTypes;
 
2815
  const char *__attr_name (unsigned i) const { return 0; }
 
2816
  const void *__attr (unsigned __i) const { return 0; }
 
2817
#line 948 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2597
2818
};
2598
2819
 
2599
2820
/** \class CT_SpecialName CTree.h Puma/CTree.h
2600
2821
 *  Base class for tree nodes representing a special name, like destructor names. */
2601
2822
 
2602
 
#line 2603 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
2823
#line 2824 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
2603
2824
} // closed Puma
2604
2825
class CCExprResolve;
2605
2826
class CExprResolve;
2622
2843
class CMatchSyntax;
2623
2844
namespace Puma {
2624
2845
 
2625
 
#line 887 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
2846
#line 952 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2626
2847
 
2627
 
#line 2628 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
2848
#line 2849 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
2628
2849
} // closed Puma
2629
2850
 
2630
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
2631
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
2851
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
2852
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
2632
2853
#include "CCExprResolveH.ah"
2633
2854
#endif
2634
2855
namespace Puma {
2635
2856
 
2636
 
#line 887 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
2857
#line 952 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2637
2858
 
2638
 
#line 2639 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
2859
#line 2860 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
2639
2860
} // closed Puma
2640
2861
 
2641
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
2642
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
2862
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
2863
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
2643
2864
#include "CExprResolveH.ah"
2644
2865
#endif
2645
2866
namespace Puma {
2646
2867
 
2647
 
#line 887 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
2868
#line 952 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2648
2869
class CT_SpecialName : public CT_SimpleName {
2649
 
#line 2650 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
2870
#line 2871 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
2650
2871
  friend class ::CCExprResolve;
2651
2872
  friend class ::CExprResolve;
2652
2873
  friend class ::WinIfExists;
2667
2888
  friend class ::PragmaOnce;
2668
2889
  friend class ::CMatchSyntax;
2669
2890
 
2670
 
#line 887 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
2891
#line 952 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2671
2892
 
2672
2893
  char *_name;
2673
2894
  
2698
2919
   private:
2699
2920
  typedef CT_SpecialName CCExprResolveExpr;
2700
2921
 
2701
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
2922
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
2702
2923
 public :
2703
2924
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
2704
2925
  typedef CT_SpecialName CExprResolveExpr;
2705
2926
 
2706
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
2927
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
2707
2928
 public :
2708
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
2709
 
#line 914 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
2929
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
2930
  typedef AC::TL<char *,AC::TLE > __AttrTypes;
 
2931
  const char *__attr_name (unsigned i) const {
 
2932
    static const char *names[] = { "_name" }; return names[i];
 
2933
  }
 
2934
  const void *__attr (unsigned __i) const {
 
2935
    switch (__i) { case 0: return &_name; default: return 0; }
 
2936
  }
 
2937
#line 979 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2710
2938
};
2711
2939
 
2712
2940
/** \class CT_PrivateName CTree.h Puma/CTree.h
2713
2941
 *  Tree node representing a private name. Private names 
2714
 
 *  are generated names for abstract declarators etc. */
 
2942
 *  are generated names for instance for abstract declarators.
 
2943
 *  Example: 
 
2944
 *  \code 
 
2945
 * void foo(int*);  // first parameter of foo has private name
 
2946
 *  \endcode */
2715
2947
 
2716
 
#line 2717 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
2948
#line 2949 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
2717
2949
} // closed Puma
2718
2950
class CCExprResolve;
2719
2951
class CExprResolve;
2736
2968
class CMatchSyntax;
2737
2969
namespace Puma {
2738
2970
 
2739
 
#line 919 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
2971
#line 988 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2740
2972
 
2741
 
#line 2742 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
2973
#line 2974 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
2742
2974
} // closed Puma
2743
2975
 
2744
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
2745
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
2976
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
2977
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
2746
2978
#include "CCExprResolveH.ah"
2747
2979
#endif
2748
2980
namespace Puma {
2749
2981
 
2750
 
#line 919 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
2982
#line 988 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2751
2983
 
2752
 
#line 2753 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
2984
#line 2985 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
2753
2985
} // closed Puma
2754
2986
 
2755
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
2756
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
2987
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
2988
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
2757
2989
#include "CExprResolveH.ah"
2758
2990
#endif
2759
2991
namespace Puma {
2760
2992
 
2761
 
#line 919 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
2993
#line 988 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2762
2994
class CT_PrivateName : public CT_SpecialName {
2763
 
#line 2764 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
2995
#line 2996 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
2764
2996
  friend class ::CCExprResolve;
2765
2997
  friend class ::CExprResolve;
2766
2998
  friend class ::WinIfExists;
2781
3013
  friend class ::PragmaOnce;
2782
3014
  friend class ::CMatchSyntax;
2783
3015
 
2784
 
#line 919 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
3016
#line 988 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2785
3017
 
2786
3018
public:
2787
3019
  /** Constructor.
2806
3038
   private:
2807
3039
  typedef CT_PrivateName CCExprResolveExpr;
2808
3040
 
2809
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
3041
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
2810
3042
 public :
2811
3043
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
2812
3044
  typedef CT_PrivateName CExprResolveExpr;
2813
3045
 
2814
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
3046
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
2815
3047
 public :
2816
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
2817
 
#line 940 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
3048
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
3049
  typedef AC::TLE __AttrTypes;
 
3050
  const char *__attr_name (unsigned i) const { return 0; }
 
3051
  const void *__attr (unsigned __i) const { return 0; }
 
3052
#line 1009 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2818
3053
};
2819
3054
 
2820
3055
/** \class CT_DestructorName CTree.h Puma/CTree.h
2821
 
 *  Tree node representing a destructor name. */
 
3056
 *  Tree node representing a destructor name.
 
3057
 *  Example: \code ~X \endcode */
2822
3058
 
2823
 
#line 2824 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
3059
#line 3060 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
2824
3060
} // closed Puma
2825
3061
class CCExprResolve;
2826
3062
class CExprResolve;
2843
3079
class CMatchSyntax;
2844
3080
namespace Puma {
2845
3081
 
2846
 
#line 944 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
3082
#line 1014 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2847
3083
 
2848
 
#line 2849 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
3084
#line 3085 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
2849
3085
} // closed Puma
2850
3086
 
2851
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
2852
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
3087
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
3088
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
2853
3089
#include "CCExprResolveH.ah"
2854
3090
#endif
2855
3091
namespace Puma {
2856
3092
 
2857
 
#line 944 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
3093
#line 1014 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2858
3094
 
2859
 
#line 2860 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
3095
#line 3096 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
2860
3096
} // closed Puma
2861
3097
 
2862
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
2863
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
3098
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
3099
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
2864
3100
#include "CExprResolveH.ah"
2865
3101
#endif
2866
3102
namespace Puma {
2867
3103
 
2868
 
#line 944 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
3104
#line 1014 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2869
3105
class CT_DestructorName : public CT_SpecialName {
2870
 
#line 2871 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
3106
#line 3107 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
2871
3107
  friend class ::CCExprResolve;
2872
3108
  friend class ::CExprResolve;
2873
3109
  friend class ::WinIfExists;
2888
3124
  friend class ::PragmaOnce;
2889
3125
  friend class ::CMatchSyntax;
2890
3126
 
2891
 
#line 944 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
3127
#line 1014 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2892
3128
 
2893
3129
public:
2894
3130
  /** Constructor.
2908
3144
   private:
2909
3145
  typedef CT_DestructorName CCExprResolveExpr;
2910
3146
 
2911
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
3147
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
2912
3148
 public :
2913
3149
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
2914
3150
  typedef CT_DestructorName CExprResolveExpr;
2915
3151
 
2916
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
3152
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
2917
3153
 public :
2918
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
2919
 
#line 960 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
3154
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
3155
  typedef AC::TLE __AttrTypes;
 
3156
  const char *__attr_name (unsigned i) const { return 0; }
 
3157
  const void *__attr (unsigned __i) const { return 0; }
 
3158
#line 1030 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2920
3159
};
2921
3160
 
2922
3161
/** \class CT_TemplateName CTree.h Puma/CTree.h
2923
 
 *  Tree node representing a template name. */
 
3162
 *  Tree node representing a template name.
 
3163
 *  Example: \code X<T> \endcode */
2924
3164
 
2925
 
#line 2926 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
3165
#line 3166 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
2926
3166
} // closed Puma
2927
3167
class CCExprResolve;
2928
3168
class CExprResolve;
2945
3185
class CMatchSyntax;
2946
3186
namespace Puma {
2947
3187
 
2948
 
#line 964 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
3188
#line 1035 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2949
3189
 
2950
 
#line 2951 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
3190
#line 3191 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
2951
3191
} // closed Puma
2952
3192
 
2953
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
2954
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
3193
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
3194
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
2955
3195
#include "CCExprResolveH.ah"
2956
3196
#endif
2957
3197
namespace Puma {
2958
3198
 
2959
 
#line 964 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
3199
#line 1035 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2960
3200
 
2961
 
#line 2962 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
3201
#line 3202 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
2962
3202
} // closed Puma
2963
3203
 
2964
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
2965
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
3204
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
3205
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
2966
3206
#include "CExprResolveH.ah"
2967
3207
#endif
2968
3208
namespace Puma {
2969
3209
 
2970
 
#line 964 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
3210
#line 1035 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2971
3211
class CT_TemplateName : public CT_SpecialName {
2972
 
#line 2973 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
3212
#line 3213 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
2973
3213
  friend class ::CCExprResolve;
2974
3214
  friend class ::CExprResolve;
2975
3215
  friend class ::WinIfExists;
2990
3230
  friend class ::PragmaOnce;
2991
3231
  friend class ::CMatchSyntax;
2992
3232
 
2993
 
#line 964 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
3233
#line 1035 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
2994
3234
 
2995
3235
public:
2996
3236
  /** Constructor.
3019
3259
   private:
3020
3260
  typedef CT_TemplateName CCExprResolveExpr;
3021
3261
 
3022
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
3262
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
3023
3263
 public :
3024
3264
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
3025
3265
  typedef CT_TemplateName CExprResolveExpr;
3026
3266
 
3027
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
3267
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
3028
3268
 public :
3029
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
3030
 
#line 989 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
3269
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
3270
  typedef AC::TLE __AttrTypes;
 
3271
  const char *__attr_name (unsigned i) const { return 0; }
 
3272
  const void *__attr (unsigned __i) const { return 0; }
 
3273
#line 1060 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3031
3274
};
3032
3275
 
3033
3276
/** \class CT_OperatorName CTree.h Puma/CTree.h
3034
 
 *  Tree node representing the name of an overloaded operator. */
 
3277
 *  Tree node representing the name of an overloaded operator. 
 
3278
 *  Example: \code operator== \endcode */
3035
3279
 
3036
 
#line 3037 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
3280
#line 3281 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
3037
3281
} // closed Puma
3038
3282
class CCExprResolve;
3039
3283
class CExprResolve;
3056
3300
class CMatchSyntax;
3057
3301
namespace Puma {
3058
3302
 
3059
 
#line 993 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
3303
#line 1065 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3060
3304
 
3061
 
#line 3062 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
3305
#line 3306 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
3062
3306
} // closed Puma
3063
3307
 
3064
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
3065
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
3308
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
3309
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
3066
3310
#include "CCExprResolveH.ah"
3067
3311
#endif
3068
3312
namespace Puma {
3069
3313
 
3070
 
#line 993 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
3314
#line 1065 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3071
3315
 
3072
 
#line 3073 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
3316
#line 3317 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
3073
3317
} // closed Puma
3074
3318
 
3075
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
3076
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
3319
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
3320
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
3077
3321
#include "CExprResolveH.ah"
3078
3322
#endif
3079
3323
namespace Puma {
3080
3324
 
3081
 
#line 993 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
3325
#line 1065 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3082
3326
class CT_OperatorName : public CT_SpecialName {
3083
 
#line 3084 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
3327
#line 3328 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
3084
3328
  friend class ::CCExprResolve;
3085
3329
  friend class ::CExprResolve;
3086
3330
  friend class ::WinIfExists;
3101
3345
  friend class ::PragmaOnce;
3102
3346
  friend class ::CMatchSyntax;
3103
3347
 
3104
 
#line 993 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
3348
#line 1065 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3105
3349
 
3106
3350
  int _oper;
3107
3351
 
3140
3384
   private:
3141
3385
  typedef CT_OperatorName CCExprResolveExpr;
3142
3386
 
3143
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
3387
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
3144
3388
 public :
3145
3389
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
3146
3390
  typedef CT_OperatorName CExprResolveExpr;
3147
3391
 
3148
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
3392
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
3149
3393
 public :
3150
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
3151
 
#line 1028 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
3394
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
3395
  typedef AC::TL<int,AC::TLE > __AttrTypes;
 
3396
  const char *__attr_name (unsigned i) const {
 
3397
    static const char *names[] = { "_oper" }; return names[i];
 
3398
  }
 
3399
  const void *__attr (unsigned __i) const {
 
3400
    switch (__i) { case 0: return &_oper; default: return 0; }
 
3401
  }
 
3402
#line 1100 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3152
3403
};
3153
3404
 
3154
3405
/** \class CT_ConversionName CTree.h Puma/CTree.h
3155
 
 *  Tree node representing the name of a conversion function. */
 
3406
 *  Tree node representing the name of a conversion function.
 
3407
 *  Example: \code operator int* \endcode */
3156
3408
 
3157
 
#line 3158 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
3409
#line 3410 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
3158
3410
} // closed Puma
3159
3411
class CCExprResolve;
3160
3412
class CExprResolve;
3177
3429
class CMatchSyntax;
3178
3430
namespace Puma {
3179
3431
 
3180
 
#line 1032 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
3432
#line 1105 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3181
3433
 
3182
 
#line 3183 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
3434
#line 3435 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
3183
3435
} // closed Puma
3184
3436
 
3185
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
3186
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
3437
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
3438
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
3187
3439
#include "CCExprResolveH.ah"
3188
3440
#endif
3189
3441
namespace Puma {
3190
3442
 
3191
 
#line 1032 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
3443
#line 1105 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3192
3444
 
3193
 
#line 3194 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
3445
#line 3446 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
3194
3446
} // closed Puma
3195
3447
 
3196
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
3197
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
3448
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
3449
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
3198
3450
#include "CExprResolveH.ah"
3199
3451
#endif
3200
3452
namespace Puma {
3201
3453
 
3202
 
#line 1032 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
3454
#line 1105 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3203
3455
class CT_ConversionName : public CT_SpecialName {
3204
 
#line 3205 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
3456
#line 3457 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
3205
3457
  friend class ::CCExprResolve;
3206
3458
  friend class ::CExprResolve;
3207
3459
  friend class ::WinIfExists;
3222
3474
  friend class ::PragmaOnce;
3223
3475
  friend class ::CMatchSyntax;
3224
3476
 
3225
 
#line 1032 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
3477
#line 1105 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3226
3478
 
3227
3479
public:
3228
3480
  /** Constructor.
3244
3496
   private:
3245
3497
  typedef CT_ConversionName CCExprResolveExpr;
3246
3498
 
3247
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
3499
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
3248
3500
 public :
3249
3501
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
3250
3502
  typedef CT_ConversionName CExprResolveExpr;
3251
3503
 
3252
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
3504
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
3253
3505
 public :
3254
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
3255
 
#line 1050 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
3506
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
3507
  typedef AC::TLE __AttrTypes;
 
3508
  const char *__attr_name (unsigned i) const { return 0; }
 
3509
  const void *__attr (unsigned __i) const { return 0; }
 
3510
#line 1123 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3256
3511
};
3257
3512
 
3258
3513
/** \class CT_QualName CTree.h Puma/CTree.h
3259
 
 *  Tree node representing a qualified name, e.g. X::Y::Z. */
 
3514
 *  Tree node representing a qualified name.
 
3515
 *  Example: \code X::Y::Z \endcode */
3260
3516
 
3261
 
#line 3262 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
3517
#line 3518 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
3262
3518
} // closed Puma
3263
3519
class CCExprResolve;
3264
3520
class CExprResolve;
3281
3537
class CMatchSyntax;
3282
3538
namespace Puma {
3283
3539
 
3284
 
#line 1054 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
3540
#line 1128 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3285
3541
 
3286
 
#line 3287 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
3542
#line 3543 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
3287
3543
} // closed Puma
3288
3544
 
3289
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
3290
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
3545
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
3546
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
3291
3547
#include "CCExprResolveH.ah"
3292
3548
#endif
3293
3549
namespace Puma {
3294
3550
 
3295
 
#line 1054 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
3551
#line 1128 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3296
3552
 
3297
 
#line 3298 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
3553
#line 3554 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
3298
3554
} // closed Puma
3299
3555
 
3300
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
3301
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
3556
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
3557
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
3302
3558
#include "CExprResolveH.ah"
3303
3559
#endif
3304
3560
namespace Puma {
3305
3561
 
3306
 
#line 1054 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
3562
#line 1128 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3307
3563
class CT_QualName : public CT_SimpleName {
3308
 
#line 3309 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
3564
#line 3565 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
3309
3565
  friend class ::CCExprResolve;
3310
3566
  friend class ::CExprResolve;
3311
3567
  friend class ::WinIfExists;
3326
3582
  friend class ::PragmaOnce;
3327
3583
  friend class ::CMatchSyntax;
3328
3584
 
3329
 
#line 1054 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
3585
#line 1128 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3330
3586
 
3331
3587
public:
3332
3588
  /** Constructor.
3350
3606
  CExprValue *Value () const { return Name ()->Value (); }
3351
3607
  /** Get the semantic value object of the last name. */
3352
3608
  CSemValue *SemValue () const { return Name ()->SemValue (); }
3353
 
  /** Get the semantic information object of the last name. */
 
3609
  /** Get the semantic information of the last name. */
3354
3610
  CSemObject *SemObject () const { return Name ()->SemObject (); }
3355
3611
 
3356
3612
public:
3361
3617
   private:
3362
3618
  typedef CT_QualName CCExprResolveExpr;
3363
3619
 
3364
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
3620
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
3365
3621
 public :
3366
3622
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
3367
3623
  typedef CT_QualName CExprResolveExpr;
3368
3624
 
3369
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
3625
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
3370
3626
 public :
3371
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
3372
 
#line 1085 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
3627
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
3628
  typedef AC::TLE __AttrTypes;
 
3629
  const char *__attr_name (unsigned i) const { return 0; }
 
3630
  const void *__attr (unsigned __i) const { return 0; }
 
3631
#line 1159 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3373
3632
};
3374
3633
 
3375
3634
/** \class CT_RootQualName CTree.h Puma/CTree.h
3376
 
 *  Tree node representing a qualified name with introducing name separator,
3377
 
 *  e.g. ::X::Y::Z. */
 
3635
 *  Tree node representing a qualified name with introducing name separator.
 
3636
 *  Example: \code ::X::Y::Z \endcode */
3378
3637
 
3379
 
#line 3380 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
3638
#line 3639 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
3380
3639
} // closed Puma
3381
3640
class CCExprResolve;
3382
3641
class CExprResolve;
3399
3658
class CMatchSyntax;
3400
3659
namespace Puma {
3401
3660
 
3402
 
#line 1090 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
3661
#line 1164 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3403
3662
 
3404
 
#line 3405 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
3663
#line 3664 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
3405
3664
} // closed Puma
3406
3665
 
3407
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
3408
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
3666
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
3667
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
3409
3668
#include "CCExprResolveH.ah"
3410
3669
#endif
3411
3670
namespace Puma {
3412
3671
 
3413
 
#line 1090 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
3672
#line 1164 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3414
3673
 
3415
 
#line 3416 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
3674
#line 3675 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
3416
3675
} // closed Puma
3417
3676
 
3418
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
3419
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
3677
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
3678
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
3420
3679
#include "CExprResolveH.ah"
3421
3680
#endif
3422
3681
namespace Puma {
3423
3682
 
3424
 
#line 1090 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
3683
#line 1164 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3425
3684
class CT_RootQualName : public CT_QualName {
3426
 
#line 3427 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
3685
#line 3686 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
3427
3686
  friend class ::CCExprResolve;
3428
3687
  friend class ::CExprResolve;
3429
3688
  friend class ::WinIfExists;
3444
3703
  friend class ::PragmaOnce;
3445
3704
  friend class ::CMatchSyntax;
3446
3705
 
3447
 
#line 1090 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
3706
#line 1164 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3448
3707
 
3449
3708
public:
3450
3709
  /** Constructor.
3464
3723
   private:
3465
3724
  typedef CT_RootQualName CCExprResolveExpr;
3466
3725
 
3467
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
3726
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
3468
3727
 public :
3469
3728
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
3470
3729
  typedef CT_RootQualName CExprResolveExpr;
3471
3730
 
3472
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
3731
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
3473
3732
 public :
3474
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
3475
 
#line 1106 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
3733
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
3734
  typedef AC::TLE __AttrTypes;
 
3735
  const char *__attr_name (unsigned i) const { return 0; }
 
3736
  const void *__attr (unsigned __i) const { return 0; }
 
3737
#line 1180 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3476
3738
};
3477
3739
 
3478
3740
/** \class CT_BinaryExpr CTree.h Puma/CTree.h
3479
 
 *  Tree node representing a binary expression, e.g. a+b. */
 
3741
 *  Tree node representing a binary expression.
 
3742
 *  Example: \code a+b \endcode */
3480
3743
 
3481
 
#line 3482 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
3744
#line 3745 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
3482
3745
} // closed Puma
3483
3746
class CCExprResolve;
3484
3747
class CExprResolve;
3501
3764
class CMatchSyntax;
3502
3765
namespace Puma {
3503
3766
 
3504
 
#line 1110 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
3767
#line 1185 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3505
3768
 
3506
 
#line 3507 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
3769
#line 3770 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
3507
3770
} // closed Puma
3508
3771
 
3509
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
3510
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
3772
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
3773
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
3511
3774
#include "CCExprResolveH.ah"
3512
3775
#endif
3513
3776
namespace Puma {
3514
3777
 
3515
 
#line 1110 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
3778
#line 1185 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3516
3779
 
3517
 
#line 3518 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
3780
#line 3781 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
3518
3781
} // closed Puma
3519
3782
 
3520
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
3521
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
3783
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
3784
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
3522
3785
#include "CExprResolveH.ah"
3523
3786
#endif
3524
3787
namespace Puma {
3525
3788
 
3526
 
#line 1110 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
3789
#line 1185 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3527
3790
class CT_BinaryExpr : public CT_Call {
3528
 
#line 3529 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
3791
#line 3792 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
3529
3792
  friend class ::CCExprResolve;
3530
3793
  friend class ::CExprResolve;
3531
3794
  friend class ::WinIfExists;
3546
3809
  friend class ::PragmaOnce;
3547
3810
  friend class ::CMatchSyntax;
3548
3811
 
3549
 
#line 1110 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
3812
#line 1185 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3550
3813
 
3551
3814
  CTree *sons[3]; // expr, oper, expr
3552
3815
 
3577
3840
   private:
3578
3841
  typedef CT_BinaryExpr CCExprResolveExpr;
3579
3842
 
3580
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
3843
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
3581
3844
 public :
3582
3845
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
3583
3846
  typedef CT_BinaryExpr CExprResolveExpr;
3584
3847
 
3585
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
3848
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
3586
3849
 public :
3587
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
3588
 
#line 1137 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
3850
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
3851
  typedef AC::TL<Puma::CTree * [3],AC::TLE > __AttrTypes;
 
3852
  const char *__attr_name (unsigned i) const {
 
3853
    static const char *names[] = { "sons" }; return names[i];
 
3854
  }
 
3855
  const void *__attr (unsigned __i) const {
 
3856
    switch (__i) { case 0: return &sons; default: return 0; }
 
3857
  }
 
3858
#line 1212 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3589
3859
};
3590
3860
 
3591
3861
/** \class CT_MembPtrExpr CTree.h Puma/CTree.h
3592
 
 *  Tree node representing a member pointer expression, e.g. a->b. */
 
3862
 *  Tree node representing a member pointer expression.
 
3863
 *  Example: \code a->b \endcode */
3593
3864
 
3594
 
#line 3595 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
3865
#line 3866 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
3595
3866
} // closed Puma
3596
3867
class CCExprResolve;
3597
3868
class CExprResolve;
3614
3885
class CMatchSyntax;
3615
3886
namespace Puma {
3616
3887
 
3617
 
#line 1141 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
3888
#line 1217 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3618
3889
 
3619
 
#line 3620 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
3890
#line 3891 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
3620
3891
} // closed Puma
3621
3892
 
3622
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
3623
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
3893
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
3894
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
3624
3895
#include "CCExprResolveH.ah"
3625
3896
#endif
3626
3897
namespace Puma {
3627
3898
 
3628
 
#line 1141 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
3899
#line 1217 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3629
3900
 
3630
 
#line 3631 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
3901
#line 3902 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
3631
3902
} // closed Puma
3632
3903
 
3633
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
3634
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
3904
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
3905
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
3635
3906
#include "CExprResolveH.ah"
3636
3907
#endif
3637
3908
namespace Puma {
3638
3909
 
3639
 
#line 1141 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
3910
#line 1217 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3640
3911
class CT_MembPtrExpr : public CT_Expression, public CSemObject {
3641
 
#line 3642 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
3912
#line 3913 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
3642
3913
  friend class ::CCExprResolve;
3643
3914
  friend class ::CExprResolve;
3644
3915
  friend class ::WinIfExists;
3659
3930
  friend class ::PragmaOnce;
3660
3931
  friend class ::CMatchSyntax;
3661
3932
 
3662
 
#line 1141 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
3933
#line 1217 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3663
3934
 
3664
3935
  CTree *sons[3]; // expr, oper, expr
3665
3936
  
3690
3961
   private:
3691
3962
  typedef CT_MembPtrExpr CCExprResolveExpr;
3692
3963
 
3693
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
3964
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
3694
3965
 public :
3695
3966
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
3696
3967
  typedef CT_MembPtrExpr CExprResolveExpr;
3697
3968
 
3698
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
3969
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
3699
3970
 public :
3700
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
3701
 
#line 1168 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
3971
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
3972
  typedef AC::TL<Puma::CTree * [3],AC::TLE > __AttrTypes;
 
3973
  const char *__attr_name (unsigned i) const {
 
3974
    static const char *names[] = { "sons" }; return names[i];
 
3975
  }
 
3976
  const void *__attr (unsigned __i) const {
 
3977
    switch (__i) { case 0: return &sons; default: return 0; }
 
3978
  }
 
3979
#line 1244 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3702
3980
};
3703
3981
 
3704
3982
/** \class CT_MembRefExpr CTree.h Puma/CTree.h
3705
 
 *  Tree node representing a member reference expression, e.g. a.b. */
 
3983
 *  Tree node representing a member reference expression.
 
3984
 *  Example: \code a.b \endcode */
3706
3985
 
3707
 
#line 3708 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
3986
#line 3987 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
3708
3987
} // closed Puma
3709
3988
class CCExprResolve;
3710
3989
class CExprResolve;
3727
4006
class CMatchSyntax;
3728
4007
namespace Puma {
3729
4008
 
3730
 
#line 1172 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
4009
#line 1249 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3731
4010
 
3732
 
#line 3733 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
4011
#line 4012 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
3733
4012
} // closed Puma
3734
4013
 
3735
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
3736
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
4014
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
4015
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
3737
4016
#include "CCExprResolveH.ah"
3738
4017
#endif
3739
4018
namespace Puma {
3740
4019
 
3741
 
#line 1172 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
4020
#line 1249 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3742
4021
 
3743
 
#line 3744 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
4022
#line 4023 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
3744
4023
} // closed Puma
3745
4024
 
3746
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
3747
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
4025
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
4026
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
3748
4027
#include "CExprResolveH.ah"
3749
4028
#endif
3750
4029
namespace Puma {
3751
4030
 
3752
 
#line 1172 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
4031
#line 1249 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3753
4032
class CT_MembRefExpr : public CT_MembPtrExpr {
3754
 
#line 3755 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
4033
#line 4034 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
3755
4034
  friend class ::CCExprResolve;
3756
4035
  friend class ::CExprResolve;
3757
4036
  friend class ::WinIfExists;
3772
4051
  friend class ::PragmaOnce;
3773
4052
  friend class ::CMatchSyntax;
3774
4053
 
3775
 
#line 1172 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
4054
#line 1249 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3776
4055
 
3777
4056
public:
3778
4057
  /** Constructor.
3788
4067
   private:
3789
4068
  typedef CT_MembRefExpr CCExprResolveExpr;
3790
4069
 
3791
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
4070
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
3792
4071
 public :
3793
4072
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
3794
4073
  typedef CT_MembRefExpr CExprResolveExpr;
3795
4074
 
3796
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
4075
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
3797
4076
 public :
3798
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
3799
 
#line 1184 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
4077
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
4078
  typedef AC::TLE __AttrTypes;
 
4079
  const char *__attr_name (unsigned i) const { return 0; }
 
4080
  const void *__attr (unsigned __i) const { return 0; }
 
4081
#line 1261 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3800
4082
};
3801
4083
 
3802
4084
/** \class CT_UnaryExpr CTree.h Puma/CTree.h
3803
 
 *  Base class for tree nodes representing unary expressions. */
 
4085
 *  Base class for tree nodes representing unary expressions. 
 
4086
 *  Example: \code !a \endcode */
3804
4087
 
3805
 
#line 3806 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
4088
#line 4089 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
3806
4089
} // closed Puma
3807
4090
class CCExprResolve;
3808
4091
class CExprResolve;
3825
4108
class CMatchSyntax;
3826
4109
namespace Puma {
3827
4110
 
3828
 
#line 1188 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
4111
#line 1266 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3829
4112
 
3830
 
#line 3831 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
4113
#line 4114 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
3831
4114
} // closed Puma
3832
4115
 
3833
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
3834
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
4116
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
4117
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
3835
4118
#include "CCExprResolveH.ah"
3836
4119
#endif
3837
4120
namespace Puma {
3838
4121
 
3839
 
#line 1188 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
4122
#line 1266 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3840
4123
 
3841
 
#line 3842 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
4124
#line 4125 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
3842
4125
} // closed Puma
3843
4126
 
3844
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
3845
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
4127
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
4128
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
3846
4129
#include "CExprResolveH.ah"
3847
4130
#endif
3848
4131
namespace Puma {
3849
4132
 
3850
 
#line 1188 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
4133
#line 1266 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3851
4134
class CT_UnaryExpr : public CT_Call {
3852
 
#line 3853 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
4135
#line 4136 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
3853
4136
  friend class ::CCExprResolve;
3854
4137
  friend class ::CExprResolve;
3855
4138
  friend class ::WinIfExists;
3870
4153
  friend class ::PragmaOnce;
3871
4154
  friend class ::CMatchSyntax;
3872
4155
 
3873
 
#line 1188 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
4156
#line 1266 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3874
4157
 
3875
4158
  CTree *sons[2]; // oper, expr
3876
4159
 
3900
4183
   private:
3901
4184
  typedef CT_UnaryExpr CCExprResolveExpr;
3902
4185
 
3903
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
4186
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
3904
4187
 public :
3905
4188
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
3906
4189
  typedef CT_UnaryExpr CExprResolveExpr;
3907
4190
 
3908
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
4191
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
3909
4192
 public :
3910
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
3911
 
#line 1214 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
4193
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
4194
  typedef AC::TL<Puma::CTree * [2],AC::TLE > __AttrTypes;
 
4195
  const char *__attr_name (unsigned i) const {
 
4196
    static const char *names[] = { "sons" }; return names[i];
 
4197
  }
 
4198
  const void *__attr (unsigned __i) const {
 
4199
    switch (__i) { case 0: return &sons; default: return 0; }
 
4200
  }
 
4201
#line 1292 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3912
4202
};
3913
4203
 
3914
4204
/** \class CT_PostfixExpr CTree.h Puma/CTree.h
3915
 
 *  Tree node representing a postfix expression, e.g. a++. */
 
4205
 *  Tree node representing a postfix expression.
 
4206
 *  Example: \code a++ \endcode */
3916
4207
 
3917
 
#line 3918 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
4208
#line 4209 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
3918
4209
} // closed Puma
3919
4210
class CCExprResolve;
3920
4211
class CExprResolve;
3937
4228
class CMatchSyntax;
3938
4229
namespace Puma {
3939
4230
 
3940
 
#line 1218 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
4231
#line 1297 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3941
4232
 
3942
 
#line 3943 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
4233
#line 4234 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
3943
4234
} // closed Puma
3944
4235
 
3945
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
3946
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
4236
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
4237
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
3947
4238
#include "CCExprResolveH.ah"
3948
4239
#endif
3949
4240
namespace Puma {
3950
4241
 
3951
 
#line 1218 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
4242
#line 1297 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3952
4243
 
3953
 
#line 3954 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
4244
#line 4245 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
3954
4245
} // closed Puma
3955
4246
 
3956
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
3957
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
4247
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
4248
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
3958
4249
#include "CExprResolveH.ah"
3959
4250
#endif
3960
4251
namespace Puma {
3961
4252
 
3962
 
#line 1218 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
4253
#line 1297 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3963
4254
class CT_PostfixExpr : public CT_UnaryExpr {
3964
 
#line 3965 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
4255
#line 4256 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
3965
4256
  friend class ::CCExprResolve;
3966
4257
  friend class ::CExprResolve;
3967
4258
  friend class ::WinIfExists;
3982
4273
  friend class ::PragmaOnce;
3983
4274
  friend class ::CMatchSyntax;
3984
4275
 
3985
 
#line 1218 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
4276
#line 1297 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
3986
4277
 
3987
4278
public:
3988
4279
  /** Constructor.
3997
4288
   private:
3998
4289
  typedef CT_PostfixExpr CCExprResolveExpr;
3999
4290
 
4000
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
4291
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
4001
4292
 public :
4002
4293
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
4003
4294
  typedef CT_PostfixExpr CExprResolveExpr;
4004
4295
 
4005
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
4296
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
4006
4297
 public :
4007
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
4008
 
#line 1229 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
4298
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
4299
  typedef AC::TLE __AttrTypes;
 
4300
  const char *__attr_name (unsigned i) const { return 0; }
 
4301
  const void *__attr (unsigned __i) const { return 0; }
 
4302
#line 1308 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
4009
4303
};
4010
4304
 
4011
4305
/** \class CT_AddrExpr CTree.h Puma/CTree.h
4012
 
 *  Tree node representing an address expression, e.g. &a. */
 
4306
 *  Tree node representing an address expression.
 
4307
 *  Example: \code &a \endcode */
4013
4308
 
4014
 
#line 4015 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
4309
#line 4310 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
4015
4310
} // closed Puma
4016
4311
class CCExprResolve;
4017
4312
class CExprResolve;
4034
4329
class CMatchSyntax;
4035
4330
namespace Puma {
4036
4331
 
4037
 
#line 1233 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
4332
#line 1313 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
4038
4333
 
4039
 
#line 4040 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
4334
#line 4335 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
4040
4335
} // closed Puma
4041
4336
 
4042
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
4043
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
4337
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
4338
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
4044
4339
#include "CCExprResolveH.ah"
4045
4340
#endif
4046
4341
namespace Puma {
4047
4342
 
4048
 
#line 1233 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
4343
#line 1313 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
4049
4344
 
4050
 
#line 4051 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
4345
#line 4346 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
4051
4346
} // closed Puma
4052
4347
 
4053
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
4054
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
4348
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
4349
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
4055
4350
#include "CExprResolveH.ah"
4056
4351
#endif
4057
4352
namespace Puma {
4058
4353
 
4059
 
#line 1233 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
4354
#line 1313 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
4060
4355
class CT_AddrExpr : public CT_UnaryExpr {
4061
 
#line 4062 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
4356
#line 4357 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
4062
4357
  friend class ::CCExprResolve;
4063
4358
  friend class ::CExprResolve;
4064
4359
  friend class ::WinIfExists;
4079
4374
  friend class ::PragmaOnce;
4080
4375
  friend class ::CMatchSyntax;
4081
4376
 
4082
 
#line 1233 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
4377
#line 1313 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
4083
4378
 
4084
4379
public:
4085
4380
  /** Constructor.
4094
4389
   private:
4095
4390
  typedef CT_AddrExpr CCExprResolveExpr;
4096
4391
 
4097
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
4392
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
4098
4393
 public :
4099
4394
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
4100
4395
  typedef CT_AddrExpr CExprResolveExpr;
4101
4396
 
4102
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
4397
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
4103
4398
 public :
4104
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
4105
 
#line 1244 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
4399
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
4400
  typedef AC::TLE __AttrTypes;
 
4401
  const char *__attr_name (unsigned i) const { return 0; }
 
4402
  const void *__attr (unsigned __i) const { return 0; }
 
4403
#line 1324 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
4106
4404
};
4107
4405
 
4108
4406
/** \class CT_DerefExpr CTree.h Puma/CTree.h
4109
 
 *  Tree node representing a pointer dereferencing expression, e.g. *a. */
 
4407
 *  Tree node representing a pointer dereferencing expression.
 
4408
 *  Example: \code *a \endcode */
4110
4409
 
4111
 
#line 4112 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
4410
#line 4411 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
4112
4411
} // closed Puma
4113
4412
class CCExprResolve;
4114
4413
class CExprResolve;
4131
4430
class CMatchSyntax;
4132
4431
namespace Puma {
4133
4432
 
4134
 
#line 1248 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
4433
#line 1329 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
4135
4434
 
4136
 
#line 4137 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
4435
#line 4436 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
4137
4436
} // closed Puma
4138
4437
 
4139
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
4140
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
4438
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
4439
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
4141
4440
#include "CCExprResolveH.ah"
4142
4441
#endif
4143
4442
namespace Puma {
4144
4443
 
4145
 
#line 1248 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
4444
#line 1329 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
4146
4445
 
4147
 
#line 4148 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
4446
#line 4447 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
4148
4447
} // closed Puma
4149
4448
 
4150
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
4151
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
4449
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
4450
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
4152
4451
#include "CExprResolveH.ah"
4153
4452
#endif
4154
4453
namespace Puma {
4155
4454
 
4156
 
#line 1248 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
4455
#line 1329 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
4157
4456
class CT_DerefExpr : public CT_UnaryExpr {
4158
 
#line 4159 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
4457
#line 4458 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
4159
4458
  friend class ::CCExprResolve;
4160
4459
  friend class ::CExprResolve;
4161
4460
  friend class ::WinIfExists;
4176
4475
  friend class ::PragmaOnce;
4177
4476
  friend class ::CMatchSyntax;
4178
4477
 
4179
 
#line 1248 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
4478
#line 1329 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
4180
4479
 
4181
4480
public:
4182
4481
  /** Constructor.
4191
4490
   private:
4192
4491
  typedef CT_DerefExpr CCExprResolveExpr;
4193
4492
 
4194
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
4493
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
4195
4494
 public :
4196
4495
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
4197
4496
  typedef CT_DerefExpr CExprResolveExpr;
4198
4497
 
4199
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
4498
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
4200
4499
 public :
4201
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
4202
 
#line 1259 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
4500
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
4501
  typedef AC::TLE __AttrTypes;
 
4502
  const char *__attr_name (unsigned i) const { return 0; }
 
4503
  const void *__attr (unsigned __i) const { return 0; }
 
4504
#line 1340 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
4203
4505
};
4204
4506
 
4205
4507
/** \class CT_DeleteExpr CTree.h Puma/CTree.h
4206
 
 *  Tree node representing a delete expression, e.g. delete a. */
 
4508
 *  Tree node representing a delete expression.
 
4509
 *  Example: \code delete a \endcode */
4207
4510
 
4208
 
#line 4209 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
4511
#line 4512 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
4209
4512
} // closed Puma
4210
4513
class CCExprResolve;
4211
4514
class CExprResolve;
4228
4531
class CMatchSyntax;
4229
4532
namespace Puma {
4230
4533
 
4231
 
#line 1263 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
4534
#line 1345 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
4232
4535
 
4233
 
#line 4234 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
4536
#line 4537 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
4234
4537
} // closed Puma
4235
4538
 
4236
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
4237
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
4539
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
4540
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
4238
4541
#include "CCExprResolveH.ah"
4239
4542
#endif
4240
4543
namespace Puma {
4241
4544
 
4242
 
#line 1263 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
4545
#line 1345 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
4243
4546
 
4244
 
#line 4245 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
4547
#line 4548 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
4245
4548
} // closed Puma
4246
4549
 
4247
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
4248
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
4550
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
4551
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
4249
4552
#include "CExprResolveH.ah"
4250
4553
#endif
4251
4554
namespace Puma {
4252
4555
 
4253
 
#line 1263 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
4556
#line 1345 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
4254
4557
class CT_DeleteExpr : public CT_Expression, public CSemObject {
4255
 
#line 4256 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
4558
#line 4559 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
4256
4559
  friend class ::CCExprResolve;
4257
4560
  friend class ::CExprResolve;
4258
4561
  friend class ::WinIfExists;
4273
4576
  friend class ::PragmaOnce;
4274
4577
  friend class ::CMatchSyntax;
4275
4578
 
4276
 
#line 1263 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
4579
#line 1345 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
4277
4580
 
4278
4581
  CTree *sons[2]; // oper, expr
4279
4582
 
4302
4605
  CTree *Expr () const { return sons[1]; }
4303
4606
  /** Get the operator name, i.e. 'delete' or 'delete[]'. */
4304
4607
  CT_SimpleName *OperName () const { return (CT_SimpleName*)sons[0]; }
4305
 
  /** Get the semantic information object. */
 
4608
  /** Get the semantic information. */
4306
4609
  CSemObject *SemObject () const { return (CSemObject*)this; }
4307
4610
   private:
4308
4611
  typedef CT_DeleteExpr CCExprResolveExpr;
4309
4612
 
4310
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
4613
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
4311
4614
 public :
4312
4615
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
4313
4616
  typedef CT_DeleteExpr CExprResolveExpr;
4314
4617
 
4315
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
4618
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
4316
4619
 public :
4317
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
4318
 
#line 1293 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
4620
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
4621
  typedef AC::TL<Puma::CTree * [2],AC::TLE > __AttrTypes;
 
4622
  const char *__attr_name (unsigned i) const {
 
4623
    static const char *names[] = { "sons" }; return names[i];
 
4624
  }
 
4625
  const void *__attr (unsigned __i) const {
 
4626
    switch (__i) { case 0: return &sons; default: return 0; }
 
4627
  }
 
4628
#line 1375 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
4319
4629
};
4320
4630
 
4321
4631
/** \class CT_NewExpr CTree.h Puma/CTree.h
4322
 
 *  Tree node representing a new expression, e.g. new A(). */
 
4632
 *  Tree node representing a new expression.
 
4633
 *  Example: \code new A() \endcode */
4323
4634
 
4324
 
#line 4325 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
4635
#line 4636 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
4325
4636
} // closed Puma
4326
4637
class CCExprResolve;
4327
4638
class CExprResolve;
4344
4655
class CMatchSyntax;
4345
4656
namespace Puma {
4346
4657
 
4347
 
#line 1297 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
4658
#line 1380 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
4348
4659
 
4349
 
#line 4350 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
4660
#line 4661 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
4350
4661
} // closed Puma
4351
4662
 
4352
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
4353
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
4663
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
4664
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
4354
4665
#include "CCExprResolveH.ah"
4355
4666
#endif
4356
4667
namespace Puma {
4357
4668
 
4358
 
#line 1297 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
4669
#line 1380 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
4359
4670
 
4360
 
#line 4361 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
4671
#line 4672 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
4361
4672
} // closed Puma
4362
4673
 
4363
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
4364
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
4674
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
4675
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
4365
4676
#include "CExprResolveH.ah"
4366
4677
#endif
4367
4678
namespace Puma {
4368
4679
 
4369
 
#line 1297 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
4680
#line 1380 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
4370
4681
class CT_NewExpr : public CT_Expression, public CSemObject {
4371
 
#line 4372 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
4682
#line 4683 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
4372
4683
  friend class ::CCExprResolve;
4373
4684
  friend class ::CExprResolve;
4374
4685
  friend class ::WinIfExists;
4389
4700
  friend class ::PragmaOnce;
4390
4701
  friend class ::CMatchSyntax;
4391
4702
 
4392
 
#line 1297 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
4703
#line 1380 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
4393
4704
 
4394
4705
  CTree *sons[6]; // oper, placement, open, type, close, init
4395
4706
 
4429
4740
  CT_ExprList *Initializer () const { return (CT_ExprList*)sons[5]; }
4430
4741
  /** Get the type of the object to create. */
4431
4742
  CT_NamedType *TypeName () const { return (CT_NamedType*)sons[3]; }
4432
 
  /** Get the semantic information object. */
 
4743
  /** Get the semantic information. */
4433
4744
  CSemObject *SemObject () const { return (CSemObject*)this; }
4434
4745
   private:
4435
4746
  typedef CT_NewExpr CCExprResolveExpr;
4436
4747
 
4437
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
4748
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
4438
4749
 public :
4439
4750
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
4440
4751
  typedef CT_NewExpr CExprResolveExpr;
4441
4752
 
4442
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
4753
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
4443
4754
 public :
4444
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
4445
 
#line 1338 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
4755
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
4756
  typedef AC::TL<Puma::CTree * [6],AC::TLE > __AttrTypes;
 
4757
  const char *__attr_name (unsigned i) const {
 
4758
    static const char *names[] = { "sons" }; return names[i];
 
4759
  }
 
4760
  const void *__attr (unsigned __i) const {
 
4761
    switch (__i) { case 0: return &sons; default: return 0; }
 
4762
  }
 
4763
#line 1421 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
4446
4764
};
4447
4765
 
4448
4766
/** \class CT_IfThenExpr CTree.h Puma/CTree.h
4449
 
 *  Tree node representing an if-then expression, 
4450
 
 *  e.g. a>0?a:b or a?:b. */
 
4767
 *  Tree node representing an if-then expression.
 
4768
 *  Example: \code a>0?a:b \endcode or \code a?:b \endcode */
4451
4769
 
4452
 
#line 4453 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
4770
#line 4771 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
4453
4771
} // closed Puma
4454
4772
class CCExprResolve;
4455
4773
class CExprResolve;
4472
4790
class CMatchSyntax;
4473
4791
namespace Puma {
4474
4792
 
4475
 
#line 1343 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
4793
#line 1426 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
4476
4794
 
4477
 
#line 4478 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
4795
#line 4796 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
4478
4796
} // closed Puma
4479
4797
 
4480
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
4481
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
4798
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
4799
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
4482
4800
#include "CCExprResolveH.ah"
4483
4801
#endif
4484
4802
namespace Puma {
4485
4803
 
4486
 
#line 1343 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
4804
#line 1426 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
4487
4805
 
4488
 
#line 4489 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
4806
#line 4807 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
4489
4807
} // closed Puma
4490
4808
 
4491
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
4492
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
4809
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
4810
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
4493
4811
#include "CExprResolveH.ah"
4494
4812
#endif
4495
4813
namespace Puma {
4496
4814
 
4497
 
#line 1343 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
4815
#line 1426 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
4498
4816
class CT_IfThenExpr : public CT_Expression {
4499
 
#line 4500 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
4817
#line 4818 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
4500
4818
  friend class ::CCExprResolve;
4501
4819
  friend class ::CExprResolve;
4502
4820
  friend class ::WinIfExists;
4517
4835
  friend class ::PragmaOnce;
4518
4836
  friend class ::CMatchSyntax;
4519
4837
 
4520
 
#line 1343 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
4838
#line 1426 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
4521
4839
 
4522
4840
  CTree *sons[5]; // cond, oper, left, colon, right
4523
4841
 
4566
4884
   private:
4567
4885
  typedef CT_IfThenExpr CCExprResolveExpr;
4568
4886
 
4569
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
4887
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
4570
4888
 public :
4571
4889
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
4572
4890
  typedef CT_IfThenExpr CExprResolveExpr;
4573
4891
 
4574
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
4892
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
4575
4893
 public :
4576
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
4577
 
#line 1388 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
4894
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
4895
  typedef AC::TL<Puma::CTree * [5],AC::TLE > __AttrTypes;
 
4896
  const char *__attr_name (unsigned i) const {
 
4897
    static const char *names[] = { "sons" }; return names[i];
 
4898
  }
 
4899
  const void *__attr (unsigned __i) const {
 
4900
    switch (__i) { case 0: return &sons; default: return 0; }
 
4901
  }
 
4902
#line 1471 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
4578
4903
};
4579
4904
 
4580
4905
/** \class CT_CmpdLiteral CTree.h Puma/CTree.h
4581
 
 *  Tree node representing a compound literal, e.g. (int[]){1,2,3). */
 
4906
 *  Tree node representing a compound literal.
 
4907
 *  Example: \code (int[]){1,2,3) \endcode */
4582
4908
 
4583
 
#line 4584 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
4909
#line 4910 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
4584
4910
} // closed Puma
4585
4911
class CCExprResolve;
4586
4912
class CExprResolve;
4603
4929
class CMatchSyntax;
4604
4930
namespace Puma {
4605
4931
 
4606
 
#line 1392 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
4932
#line 1476 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
4607
4933
 
4608
 
#line 4609 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
4934
#line 4935 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
4609
4935
} // closed Puma
4610
4936
 
4611
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
4612
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
4937
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
4938
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
4613
4939
#include "CCExprResolveH.ah"
4614
4940
#endif
4615
4941
namespace Puma {
4616
4942
 
4617
 
#line 1392 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
4943
#line 1476 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
4618
4944
 
4619
 
#line 4620 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
4945
#line 4946 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
4620
4946
} // closed Puma
4621
4947
 
4622
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
4623
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
4948
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
4949
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
4624
4950
#include "CExprResolveH.ah"
4625
4951
#endif
4626
4952
namespace Puma {
4627
4953
 
4628
 
#line 1392 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
4954
#line 1476 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
4629
4955
class CT_CmpdLiteral : public CT_Expression, public CSemObject {
4630
 
#line 4631 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
4956
#line 4957 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
4631
4957
  friend class ::CCExprResolve;
4632
4958
  friend class ::CExprResolve;
4633
4959
  friend class ::WinIfExists;
4648
4974
  friend class ::PragmaOnce;
4649
4975
  friend class ::CMatchSyntax;
4650
4976
 
4651
 
#line 1392 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
4977
#line 1476 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
4652
4978
 
4653
4979
  CTree *sons[4]; // open, type, close, init
4654
4980
 
4682
5008
  CT_NamedType *TypeName () const { return (CT_NamedType*)sons[1]; }
4683
5009
  /** Get the initializer list. */
4684
5010
  CT_ExprList *Initializer () const { return (CT_ExprList*)sons[3]; }
4685
 
  /** Get the semantic information object. */
 
5011
  /** Get the semantic information about the created object. */
4686
5012
  CSemObject *SemObject () const { return (CSemObject*)this; }
4687
5013
   private:
4688
5014
  typedef CT_CmpdLiteral CCExprResolveExpr;
4689
5015
 
4690
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
5016
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
4691
5017
 public :
4692
5018
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
4693
5019
  typedef CT_CmpdLiteral CExprResolveExpr;
4694
5020
 
4695
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
5021
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
4696
5022
 public :
4697
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
4698
 
#line 1427 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
5023
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
5024
  typedef AC::TL<Puma::CTree * [4],AC::TLE > __AttrTypes;
 
5025
  const char *__attr_name (unsigned i) const {
 
5026
    static const char *names[] = { "sons" }; return names[i];
 
5027
  }
 
5028
  const void *__attr (unsigned __i) const {
 
5029
    switch (__i) { case 0: return &sons; default: return 0; }
 
5030
  }
 
5031
#line 1511 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
4699
5032
};
4700
5033
 
4701
5034
/** \class CT_ConstructExpr CTree.h Puma/CTree.h
4702
 
 *  Tree node representing a construct expression, e.g. std::string("abc"). */
 
5035
 *  Tree node representing a construct expression.
 
5036
 *  Example: \code std::string("abc") \endcode */
4703
5037
 
4704
 
#line 4705 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
5038
#line 5039 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
4705
5039
} // closed Puma
4706
5040
class CCExprResolve;
4707
5041
class CExprResolve;
4724
5058
class CMatchSyntax;
4725
5059
namespace Puma {
4726
5060
 
4727
 
#line 1431 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
5061
#line 1516 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
4728
5062
 
4729
 
#line 4730 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
5063
#line 5064 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
4730
5064
} // closed Puma
4731
5065
 
4732
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
4733
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
5066
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
5067
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
4734
5068
#include "CCExprResolveH.ah"
4735
5069
#endif
4736
5070
namespace Puma {
4737
5071
 
4738
 
#line 1431 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
5072
#line 1516 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
4739
5073
 
4740
 
#line 4741 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
5074
#line 5075 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
4741
5075
} // closed Puma
4742
5076
 
4743
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
4744
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
5077
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
5078
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
4745
5079
#include "CExprResolveH.ah"
4746
5080
#endif
4747
5081
namespace Puma {
4748
5082
 
4749
 
#line 1431 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
5083
#line 1516 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
4750
5084
class CT_ConstructExpr : public CT_Expression, public CSemObject {
4751
 
#line 4752 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
5085
#line 5086 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
4752
5086
  friend class ::CCExprResolve;
4753
5087
  friend class ::CExprResolve;
4754
5088
  friend class ::WinIfExists;
4769
5103
  friend class ::PragmaOnce;
4770
5104
  friend class ::CMatchSyntax;
4771
5105
 
4772
 
#line 1431 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
5106
#line 1516 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
4773
5107
 
4774
5108
  CTree *sons[2]; // type, init
4775
5109
 
4798
5132
  CT_NamedType *TypeName () const { return (CT_NamedType*)sons[0]; }
4799
5133
  /** Get the initializer. */
4800
5134
  CT_ExprList *Initializer () const { return (CT_ExprList*)sons[1]; }
4801
 
  /** Get the semantic information object. */
 
5135
  /** Get the semantic information about the created object. */
4802
5136
  CSemObject *SemObject () const { return (CSemObject*)this; }
4803
5137
   private:
4804
5138
  typedef CT_ConstructExpr CCExprResolveExpr;
4805
5139
 
4806
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
5140
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
4807
5141
 public :
4808
5142
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
4809
5143
  typedef CT_ConstructExpr CExprResolveExpr;
4810
5144
 
4811
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
5145
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
4812
5146
 public :
4813
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
4814
 
#line 1461 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
5147
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
5148
  typedef AC::TL<Puma::CTree * [2],AC::TLE > __AttrTypes;
 
5149
  const char *__attr_name (unsigned i) const {
 
5150
    static const char *names[] = { "sons" }; return names[i];
 
5151
  }
 
5152
  const void *__attr (unsigned __i) const {
 
5153
    switch (__i) { case 0: return &sons; default: return 0; }
 
5154
  }
 
5155
#line 1546 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
4815
5156
};
4816
5157
 
4817
5158
/** \class CT_ThrowExpr CTree.h Puma/CTree.h
4818
 
 *  Tree node representing a throw expression, e.g. throw std::exception(). */
 
5159
 *  Tree node representing a throw expression.
 
5160
 *  Example: \code throw std::exception() \endcode */
4819
5161
 
4820
 
#line 4821 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
5162
#line 5163 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
4821
5163
} // closed Puma
4822
5164
class CCExprResolve;
4823
5165
class CExprResolve;
4840
5182
class CMatchSyntax;
4841
5183
namespace Puma {
4842
5184
 
4843
 
#line 1465 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
5185
#line 1551 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
4844
5186
 
4845
 
#line 4846 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
5187
#line 5188 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
4846
5188
} // closed Puma
4847
5189
 
4848
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
4849
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
5190
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
5191
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
4850
5192
#include "CCExprResolveH.ah"
4851
5193
#endif
4852
5194
namespace Puma {
4853
5195
 
4854
 
#line 1465 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
5196
#line 1551 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
4855
5197
 
4856
 
#line 4857 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
5198
#line 5199 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
4857
5199
} // closed Puma
4858
5200
 
4859
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
4860
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
5201
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
5202
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
4861
5203
#include "CExprResolveH.ah"
4862
5204
#endif
4863
5205
namespace Puma {
4864
5206
 
4865
 
#line 1465 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
5207
#line 1551 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
4866
5208
class CT_ThrowExpr : public CT_Expression {
4867
 
#line 4868 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
5209
#line 5210 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
4868
5210
  friend class ::CCExprResolve;
4869
5211
  friend class ::CExprResolve;
4870
5212
  friend class ::WinIfExists;
4885
5227
  friend class ::PragmaOnce;
4886
5228
  friend class ::CMatchSyntax;
4887
5229
 
4888
 
#line 1465 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
5230
#line 1551 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
4889
5231
 
4890
5232
  CTree *sons[2]; // throw, expr
4891
5233
 
4915
5257
   private:
4916
5258
  typedef CT_ThrowExpr CCExprResolveExpr;
4917
5259
 
4918
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
5260
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
4919
5261
 public :
4920
5262
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
4921
5263
  typedef CT_ThrowExpr CExprResolveExpr;
4922
5264
 
4923
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
5265
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
4924
5266
 public :
4925
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
4926
 
#line 1491 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
5267
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
5268
  typedef AC::TL<Puma::CTree * [2],AC::TLE > __AttrTypes;
 
5269
  const char *__attr_name (unsigned i) const {
 
5270
    static const char *names[] = { "sons" }; return names[i];
 
5271
  }
 
5272
  const void *__attr (unsigned __i) const {
 
5273
    switch (__i) { case 0: return &sons; default: return 0; }
 
5274
  }
 
5275
#line 1577 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
4927
5276
};
4928
5277
 
4929
5278
/** \class CT_IndexExpr CTree.h Puma/CTree.h
4930
 
 *  Tree node representing an index expression. */
 
5279
 *  Tree node representing an index expression. 
 
5280
 *  Example: \code a[1] \endcode */
4931
5281
 
4932
 
#line 4933 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
5282
#line 5283 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
4933
5283
} // closed Puma
4934
5284
class CCExprResolve;
4935
5285
class CExprResolve;
4952
5302
class CMatchSyntax;
4953
5303
namespace Puma {
4954
5304
 
4955
 
#line 1495 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
5305
#line 1582 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
4956
5306
 
4957
 
#line 4958 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
5307
#line 5308 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
4958
5308
} // closed Puma
4959
5309
 
4960
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
4961
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
5310
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
5311
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
4962
5312
#include "CCExprResolveH.ah"
4963
5313
#endif
4964
5314
namespace Puma {
4965
5315
 
4966
 
#line 1495 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
5316
#line 1582 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
4967
5317
 
4968
 
#line 4969 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
5318
#line 5319 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
4969
5319
} // closed Puma
4970
5320
 
4971
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
4972
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
5321
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
5322
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
4973
5323
#include "CExprResolveH.ah"
4974
5324
#endif
4975
5325
namespace Puma {
4976
5326
 
4977
 
#line 1495 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
5327
#line 1582 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
4978
5328
class CT_IndexExpr : public CT_Call {
4979
 
#line 4980 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
5329
#line 5330 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
4980
5330
  friend class ::CCExprResolve;
4981
5331
  friend class ::CExprResolve;
4982
5332
  friend class ::WinIfExists;
4997
5347
  friend class ::PragmaOnce;
4998
5348
  friend class ::CMatchSyntax;
4999
5349
 
5000
 
#line 1495 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
5350
#line 1582 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5001
5351
 
5002
5352
  CTree *sons[4]; // expr, open, index, close
5003
5353
 
5030
5380
   private:
5031
5381
  typedef CT_IndexExpr CCExprResolveExpr;
5032
5382
 
5033
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
5383
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
5034
5384
 public :
5035
5385
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
5036
5386
  typedef CT_IndexExpr CExprResolveExpr;
5037
5387
 
5038
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
5388
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
5039
5389
 public :
5040
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
5041
 
#line 1524 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
5390
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
5391
  typedef AC::TL<Puma::CTree * [4],AC::TLE > __AttrTypes;
 
5392
  const char *__attr_name (unsigned i) const {
 
5393
    static const char *names[] = { "sons" }; return names[i];
 
5394
  }
 
5395
  const void *__attr (unsigned __i) const {
 
5396
    switch (__i) { case 0: return &sons; default: return 0; }
 
5397
  }
 
5398
#line 1611 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5042
5399
};
5043
5400
 
5044
5401
/** \class CT_CallExpr CTree.h Puma/CTree.h
5045
 
 *  Tree node representing a function call expression, e.g. f(i). */
 
5402
 *  Tree node representing a function call expression.
 
5403
 *  Example: \code f(i) \endcode */
5046
5404
 
5047
 
#line 5048 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
5405
#line 5406 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
5048
5406
} // closed Puma
5049
5407
class CCExprResolve;
5050
5408
class CExprResolve;
5067
5425
class CMatchSyntax;
5068
5426
namespace Puma {
5069
5427
 
5070
 
#line 1528 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
5428
#line 1616 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5071
5429
 
5072
 
#line 5073 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
5430
#line 5431 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
5073
5431
} // closed Puma
5074
5432
 
5075
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
5076
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
5433
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
5434
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
5077
5435
#include "CCExprResolveH.ah"
5078
5436
#endif
5079
5437
namespace Puma {
5080
5438
 
5081
 
#line 1528 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
5439
#line 1616 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5082
5440
 
5083
 
#line 5084 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
5441
#line 5442 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
5084
5442
} // closed Puma
5085
5443
 
5086
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
5087
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
5444
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
5445
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
5088
5446
#include "CExprResolveH.ah"
5089
5447
#endif
5090
5448
namespace Puma {
5091
5449
 
5092
 
#line 1528 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
5450
#line 1616 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5093
5451
class CT_CallExpr : public CT_Call {
5094
 
#line 5095 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
5452
#line 5453 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
5095
5453
  friend class ::CCExprResolve;
5096
5454
  friend class ::CExprResolve;
5097
5455
  friend class ::WinIfExists;
5112
5470
  friend class ::PragmaOnce;
5113
5471
  friend class ::CMatchSyntax;
5114
5472
 
5115
 
#line 1528 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
5473
#line 1616 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5116
5474
 
5117
5475
  CTree *sons[2]; // expr, args
5118
5476
 
5145
5503
   private:
5146
5504
  typedef CT_CallExpr CCExprResolveExpr;
5147
5505
 
5148
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
5506
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
5149
5507
 public :
5150
5508
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
5151
5509
  typedef CT_CallExpr CExprResolveExpr;
5152
5510
 
5153
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
5511
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
5154
5512
 public :
5155
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
5156
 
#line 1557 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
5513
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
5514
  typedef AC::TL<Puma::CTree * [2],AC::TLE > __AttrTypes;
 
5515
  const char *__attr_name (unsigned i) const {
 
5516
    static const char *names[] = { "sons" }; return names[i];
 
5517
  }
 
5518
  const void *__attr (unsigned __i) const {
 
5519
    switch (__i) { case 0: return &sons; default: return 0; }
 
5520
  }
 
5521
#line 1645 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5157
5522
};
5158
5523
 
5159
5524
/** \class CT_CastExpr CTree.h Puma/CTree.h
5160
 
 *  Tree node representing a cast expression, e.g. (int)a. */
 
5525
 *  Tree node representing a cast expression.
 
5526
 *  Example: \code (int)a \endcode */
5161
5527
 
5162
 
#line 5163 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
5528
#line 5529 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
5163
5529
} // closed Puma
5164
5530
class CCExprResolve;
5165
5531
class CExprResolve;
5182
5548
class CMatchSyntax;
5183
5549
namespace Puma {
5184
5550
 
5185
 
#line 1561 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
5551
#line 1650 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5186
5552
 
5187
 
#line 5188 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
5553
#line 5554 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
5188
5554
} // closed Puma
5189
5555
 
5190
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
5191
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
5556
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
5557
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
5192
5558
#include "CCExprResolveH.ah"
5193
5559
#endif
5194
5560
namespace Puma {
5195
5561
 
5196
 
#line 1561 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
5562
#line 1650 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5197
5563
 
5198
 
#line 5199 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
5564
#line 5565 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
5199
5565
} // closed Puma
5200
5566
 
5201
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
5202
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
5567
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
5568
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
5203
5569
#include "CExprResolveH.ah"
5204
5570
#endif
5205
5571
namespace Puma {
5206
5572
 
5207
 
#line 1561 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
5573
#line 1650 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5208
5574
class CT_CastExpr : public CT_Expression {
5209
 
#line 5210 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
5575
#line 5576 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
5210
5576
  friend class ::CCExprResolve;
5211
5577
  friend class ::CExprResolve;
5212
5578
  friend class ::WinIfExists;
5227
5593
  friend class ::PragmaOnce;
5228
5594
  friend class ::CMatchSyntax;
5229
5595
 
5230
 
#line 1561 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
5596
#line 1650 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5231
5597
 
5232
5598
  CTree *sons[4]; // open, type, close, expr
5233
5599
 
5264
5630
   private:
5265
5631
  typedef CT_CastExpr CCExprResolveExpr;
5266
5632
 
5267
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
5633
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
5268
5634
 public :
5269
5635
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
5270
5636
  typedef CT_CastExpr CExprResolveExpr;
5271
5637
 
5272
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
5638
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
5273
5639
 public :
5274
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
5275
 
#line 1594 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
5640
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
5641
  typedef AC::TL<Puma::CTree * [4],AC::TLE > __AttrTypes;
 
5642
  const char *__attr_name (unsigned i) const {
 
5643
    static const char *names[] = { "sons" }; return names[i];
 
5644
  }
 
5645
  const void *__attr (unsigned __i) const {
 
5646
    switch (__i) { case 0: return &sons; default: return 0; }
 
5647
  }
 
5648
#line 1683 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5276
5649
};
5277
5650
 
5278
5651
/** \class CT_StaticCast CTree.h Puma/CTree.h
5279
 
 *  Tree node representing a static cast, e.g. static_cast<int>(a). */
 
5652
 *  Tree node representing a static cast.
 
5653
 *  Example: \code static_cast<int>(a) \endcode */
5280
5654
 
5281
 
#line 5282 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
5655
#line 5656 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
5282
5656
} // closed Puma
5283
5657
class CCExprResolve;
5284
5658
class CExprResolve;
5301
5675
class CMatchSyntax;
5302
5676
namespace Puma {
5303
5677
 
5304
 
#line 1598 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
5678
#line 1688 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5305
5679
 
5306
 
#line 5307 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
5680
#line 5681 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
5307
5681
} // closed Puma
5308
5682
 
5309
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
5310
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
5683
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
5684
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
5311
5685
#include "CCExprResolveH.ah"
5312
5686
#endif
5313
5687
namespace Puma {
5314
5688
 
5315
 
#line 1598 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
5689
#line 1688 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5316
5690
 
5317
 
#line 5318 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
5691
#line 5692 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
5318
5692
} // closed Puma
5319
5693
 
5320
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
5321
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
5694
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
5695
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
5322
5696
#include "CExprResolveH.ah"
5323
5697
#endif
5324
5698
namespace Puma {
5325
5699
 
5326
 
#line 1598 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
5700
#line 1688 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5327
5701
class CT_StaticCast : public CT_Expression {
5328
 
#line 5329 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
5702
#line 5703 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
5329
5703
  friend class ::CCExprResolve;
5330
5704
  friend class ::CExprResolve;
5331
5705
  friend class ::WinIfExists;
5346
5720
  friend class ::PragmaOnce;
5347
5721
  friend class ::CMatchSyntax;
5348
5722
 
5349
 
#line 1598 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
5723
#line 1688 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5350
5724
 
5351
5725
  CTree *sons[5]; // cast, open, type, close, expr
5352
5726
 
5384
5758
   private:
5385
5759
  typedef CT_StaticCast CCExprResolveExpr;
5386
5760
 
5387
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
5761
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
5388
5762
 public :
5389
5763
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
5390
5764
  typedef CT_StaticCast CExprResolveExpr;
5391
5765
 
5392
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
5766
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
5393
5767
 public :
5394
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
5395
 
#line 1632 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
5768
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
5769
  typedef AC::TL<Puma::CTree * [5],AC::TLE > __AttrTypes;
 
5770
  const char *__attr_name (unsigned i) const {
 
5771
    static const char *names[] = { "sons" }; return names[i];
 
5772
  }
 
5773
  const void *__attr (unsigned __i) const {
 
5774
    switch (__i) { case 0: return &sons; default: return 0; }
 
5775
  }
 
5776
#line 1722 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5396
5777
};
5397
5778
 
5398
5779
/** \class CT_ConstCast CTree.h Puma/CTree.h
5399
 
 *  Tree node representing a const cast, e.g. const_cast<int>(a). */
 
5780
 *  Tree node representing a const cast.
 
5781
 *  Example: \code const_cast<int>(a) \endcode */
5400
5782
 
5401
 
#line 5402 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
5783
#line 5784 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
5402
5784
} // closed Puma
5403
5785
class CCExprResolve;
5404
5786
class CExprResolve;
5421
5803
class CMatchSyntax;
5422
5804
namespace Puma {
5423
5805
 
5424
 
#line 1636 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
5806
#line 1727 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5425
5807
 
5426
 
#line 5427 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
5808
#line 5809 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
5427
5809
} // closed Puma
5428
5810
 
5429
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
5430
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
5811
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
5812
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
5431
5813
#include "CCExprResolveH.ah"
5432
5814
#endif
5433
5815
namespace Puma {
5434
5816
 
5435
 
#line 1636 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
5817
#line 1727 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5436
5818
 
5437
 
#line 5438 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
5819
#line 5820 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
5438
5820
} // closed Puma
5439
5821
 
5440
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
5441
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
5822
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
5823
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
5442
5824
#include "CExprResolveH.ah"
5443
5825
#endif
5444
5826
namespace Puma {
5445
5827
 
5446
 
#line 1636 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
5828
#line 1727 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5447
5829
class CT_ConstCast : public CT_StaticCast {
5448
 
#line 5449 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
5830
#line 5831 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
5449
5831
  friend class ::CCExprResolve;
5450
5832
  friend class ::CExprResolve;
5451
5833
  friend class ::WinIfExists;
5466
5848
  friend class ::PragmaOnce;
5467
5849
  friend class ::CMatchSyntax;
5468
5850
 
5469
 
#line 1636 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
5851
#line 1727 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5470
5852
 
5471
5853
public:
5472
5854
  /** Constructor.
5484
5866
   private:
5485
5867
  typedef CT_ConstCast CCExprResolveExpr;
5486
5868
 
5487
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
5869
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
5488
5870
 public :
5489
5871
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
5490
5872
  typedef CT_ConstCast CExprResolveExpr;
5491
5873
 
5492
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
5874
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
5493
5875
 public :
5494
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
5495
 
#line 1650 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
5876
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
5877
  typedef AC::TLE __AttrTypes;
 
5878
  const char *__attr_name (unsigned i) const { return 0; }
 
5879
  const void *__attr (unsigned __i) const { return 0; }
 
5880
#line 1741 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5496
5881
};
5497
5882
 
5498
5883
/** \class CT_ReintCast CTree.h Puma/CTree.h
5499
 
 *  Tree node representing a reinterpret cast, e.g. reinterpret_cast<int>(a). */
 
5884
 *  Tree node representing a reinterpret cast.
 
5885
 *  Example: \code reinterpret_cast<int>(a) \endcode */
5500
5886
 
5501
 
#line 5502 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
5887
#line 5888 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
5502
5888
} // closed Puma
5503
5889
class CCExprResolve;
5504
5890
class CExprResolve;
5521
5907
class CMatchSyntax;
5522
5908
namespace Puma {
5523
5909
 
5524
 
#line 1654 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
5910
#line 1746 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5525
5911
 
5526
 
#line 5527 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
5912
#line 5913 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
5527
5913
} // closed Puma
5528
5914
 
5529
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
5530
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
5915
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
5916
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
5531
5917
#include "CCExprResolveH.ah"
5532
5918
#endif
5533
5919
namespace Puma {
5534
5920
 
5535
 
#line 1654 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
5921
#line 1746 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5536
5922
 
5537
 
#line 5538 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
5923
#line 5924 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
5538
5924
} // closed Puma
5539
5925
 
5540
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
5541
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
5926
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
5927
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
5542
5928
#include "CExprResolveH.ah"
5543
5929
#endif
5544
5930
namespace Puma {
5545
5931
 
5546
 
#line 1654 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
5932
#line 1746 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5547
5933
class CT_ReintCast : public CT_StaticCast {
5548
 
#line 5549 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
5934
#line 5935 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
5549
5935
  friend class ::CCExprResolve;
5550
5936
  friend class ::CExprResolve;
5551
5937
  friend class ::WinIfExists;
5566
5952
  friend class ::PragmaOnce;
5567
5953
  friend class ::CMatchSyntax;
5568
5954
 
5569
 
#line 1654 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
5955
#line 1746 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5570
5956
 
5571
5957
public:
5572
5958
  /** Constructor.
5584
5970
   private:
5585
5971
  typedef CT_ReintCast CCExprResolveExpr;
5586
5972
 
5587
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
5973
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
5588
5974
 public :
5589
5975
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
5590
5976
  typedef CT_ReintCast CExprResolveExpr;
5591
5977
 
5592
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
5978
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
5593
5979
 public :
5594
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
5595
 
#line 1668 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
5980
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
5981
  typedef AC::TLE __AttrTypes;
 
5982
  const char *__attr_name (unsigned i) const { return 0; }
 
5983
  const void *__attr (unsigned __i) const { return 0; }
 
5984
#line 1760 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5596
5985
};
5597
5986
 
5598
5987
/** \class CT_DynamicCast CTree.h Puma/CTree.h
5599
 
 *  Tree node representing a dynamic cast, e.g. dynamic_cast<int>(a). */
 
5988
 *  Tree node representing a dynamic cast.
 
5989
 *  Example: \code dynamic_cast<int>(a) \endcode */
5600
5990
 
5601
 
#line 5602 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
5991
#line 5992 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
5602
5992
} // closed Puma
5603
5993
class CCExprResolve;
5604
5994
class CExprResolve;
5621
6011
class CMatchSyntax;
5622
6012
namespace Puma {
5623
6013
 
5624
 
#line 1672 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
6014
#line 1765 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5625
6015
 
5626
 
#line 5627 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
6016
#line 6017 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
5627
6017
} // closed Puma
5628
6018
 
5629
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
5630
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
6019
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
6020
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
5631
6021
#include "CCExprResolveH.ah"
5632
6022
#endif
5633
6023
namespace Puma {
5634
6024
 
5635
 
#line 1672 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
6025
#line 1765 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5636
6026
 
5637
 
#line 5638 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
6027
#line 6028 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
5638
6028
} // closed Puma
5639
6029
 
5640
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
5641
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
6030
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
6031
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
5642
6032
#include "CExprResolveH.ah"
5643
6033
#endif
5644
6034
namespace Puma {
5645
6035
 
5646
 
#line 1672 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
6036
#line 1765 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5647
6037
class CT_DynamicCast : public CT_StaticCast {
5648
 
#line 5649 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
6038
#line 6039 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
5649
6039
  friend class ::CCExprResolve;
5650
6040
  friend class ::CExprResolve;
5651
6041
  friend class ::WinIfExists;
5666
6056
  friend class ::PragmaOnce;
5667
6057
  friend class ::CMatchSyntax;
5668
6058
 
5669
 
#line 1672 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
6059
#line 1765 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5670
6060
 
5671
6061
public:
5672
6062
  /** Constructor.
5684
6074
   private:
5685
6075
  typedef CT_DynamicCast CCExprResolveExpr;
5686
6076
 
5687
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
6077
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
5688
6078
 public :
5689
6079
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
5690
6080
  typedef CT_DynamicCast CExprResolveExpr;
5691
6081
 
5692
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
6082
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
5693
6083
 public :
5694
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
5695
 
#line 1686 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
6084
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
6085
  typedef AC::TLE __AttrTypes;
 
6086
  const char *__attr_name (unsigned i) const { return 0; }
 
6087
  const void *__attr (unsigned __i) const { return 0; }
 
6088
#line 1779 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5696
6089
};
5697
6090
 
5698
6091
/** \class CT_ImplicitCast CTree.h Puma/CTree.h
5699
 
 *  Tree node representing an implicit cast, e.g. int i = 1.2
5700
 
 *  where 1.2 is implicitely casted from float to int. */
 
6092
 *  Tree node representing an implicit cast.
 
6093
 *  Example: 
 
6094
 *  \code 
 
6095
 * int i = 1.2;  // implicit cast from float to int 
 
6096
 *  \endcode */
5701
6097
 
5702
 
#line 5703 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
6098
#line 6099 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
5703
6099
} // closed Puma
5704
6100
class CCExprResolve;
5705
6101
class CExprResolve;
5722
6118
class CMatchSyntax;
5723
6119
namespace Puma {
5724
6120
 
5725
 
#line 1691 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
6121
#line 1787 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5726
6122
 
5727
 
#line 5728 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
6123
#line 6124 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
5728
6124
} // closed Puma
5729
6125
 
5730
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
5731
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
6126
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
6127
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
5732
6128
#include "CCExprResolveH.ah"
5733
6129
#endif
5734
6130
namespace Puma {
5735
6131
 
5736
 
#line 1691 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
6132
#line 1787 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5737
6133
 
5738
 
#line 5739 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
6134
#line 6135 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
5739
6135
} // closed Puma
5740
6136
 
5741
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
5742
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
6137
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
6138
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
5743
6139
#include "CExprResolveH.ah"
5744
6140
#endif
5745
6141
namespace Puma {
5746
6142
 
5747
 
#line 1691 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
6143
#line 1787 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5748
6144
class CT_ImplicitCast : public CT_Expression {
5749
 
#line 5750 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
6145
#line 6146 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
5750
6146
  friend class ::CCExprResolve;
5751
6147
  friend class ::CExprResolve;
5752
6148
  friend class ::WinIfExists;
5767
6163
  friend class ::PragmaOnce;
5768
6164
  friend class ::CMatchSyntax;
5769
6165
 
5770
 
#line 1691 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
6166
#line 1787 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5771
6167
 
5772
6168
  CTree *_expr; // casted expression
5773
6169
 
5795
6191
   private:
5796
6192
  typedef CT_ImplicitCast CCExprResolveExpr;
5797
6193
 
5798
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
6194
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
5799
6195
 public :
5800
6196
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
5801
6197
  typedef CT_ImplicitCast CExprResolveExpr;
5802
6198
 
5803
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
6199
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
5804
6200
 public :
5805
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
5806
 
#line 1715 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
6201
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
6202
  typedef AC::TL<Puma::CTree *,AC::TLE > __AttrTypes;
 
6203
  const char *__attr_name (unsigned i) const {
 
6204
    static const char *names[] = { "_expr" }; return names[i];
 
6205
  }
 
6206
  const void *__attr (unsigned __i) const {
 
6207
    switch (__i) { case 0: return &_expr; default: return 0; }
 
6208
  }
 
6209
#line 1811 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5807
6210
};
5808
6211
 
5809
6212
/** \class CT_TypeidExpr CTree.h Puma/CTree.h
5810
 
 *  Tree node representing a typeid expression, e.g. typeid(X). */
 
6213
 *  Tree node representing a typeid expression.
 
6214
 *  Example: \code typeid(X) \endcode */
5811
6215
 
5812
 
#line 5813 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
6216
#line 6217 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
5813
6217
} // closed Puma
5814
6218
class CCExprResolve;
5815
6219
class CExprResolve;
5832
6236
class CMatchSyntax;
5833
6237
namespace Puma {
5834
6238
 
5835
 
#line 1719 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
6239
#line 1816 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5836
6240
 
5837
 
#line 5838 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
6241
#line 6242 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
5838
6242
} // closed Puma
5839
6243
 
5840
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
5841
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
6244
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
6245
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
5842
6246
#include "CCExprResolveH.ah"
5843
6247
#endif
5844
6248
namespace Puma {
5845
6249
 
5846
 
#line 1719 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
6250
#line 1816 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5847
6251
 
5848
 
#line 5849 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
6252
#line 6253 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
5849
6253
} // closed Puma
5850
6254
 
5851
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
5852
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
6255
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
6256
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
5853
6257
#include "CExprResolveH.ah"
5854
6258
#endif
5855
6259
namespace Puma {
5856
6260
 
5857
 
#line 1719 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
6261
#line 1816 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5858
6262
class CT_TypeidExpr : public CT_Expression {
5859
 
#line 5860 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
6263
#line 6264 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
5860
6264
  friend class ::CCExprResolve;
5861
6265
  friend class ::CExprResolve;
5862
6266
  friend class ::WinIfExists;
5877
6281
  friend class ::PragmaOnce;
5878
6282
  friend class ::CMatchSyntax;
5879
6283
 
5880
 
#line 1719 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
6284
#line 1816 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5881
6285
 
5882
6286
  CTree *sons[4]; // typeid, open, type_id/expr, close
5883
6287
 
5913
6317
   private:
5914
6318
  typedef CT_TypeidExpr CCExprResolveExpr;
5915
6319
 
5916
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
6320
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
5917
6321
 public :
5918
6322
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
5919
6323
  typedef CT_TypeidExpr CExprResolveExpr;
5920
6324
 
5921
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
6325
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
5922
6326
 public :
5923
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
5924
 
#line 1751 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
6327
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
6328
  typedef AC::TL<Puma::CTree * [4],AC::TLE > __AttrTypes;
 
6329
  const char *__attr_name (unsigned i) const {
 
6330
    static const char *names[] = { "sons" }; return names[i];
 
6331
  }
 
6332
  const void *__attr (unsigned __i) const {
 
6333
    switch (__i) { case 0: return &sons; default: return 0; }
 
6334
  }
 
6335
#line 1848 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5925
6336
};
5926
6337
 
5927
6338
/** \class CT_SizeofExpr CTree.h Puma/CTree.h
5928
 
 *  Tree node representing a sizeof expression, e.g. sizeof(int*). */
 
6339
 *  Tree node representing a sizeof expression.
 
6340
 *  Example: \code sizeof(int*) \endcode */
5929
6341
 
5930
 
#line 5931 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
6342
#line 6343 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
5931
6343
} // closed Puma
5932
6344
class CCExprResolve;
5933
6345
class CExprResolve;
5950
6362
class CMatchSyntax;
5951
6363
namespace Puma {
5952
6364
 
5953
 
#line 1755 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
6365
#line 1853 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5954
6366
 
5955
 
#line 5956 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
6367
#line 6368 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
5956
6368
} // closed Puma
5957
6369
 
5958
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
5959
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
6370
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
6371
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
5960
6372
#include "CCExprResolveH.ah"
5961
6373
#endif
5962
6374
namespace Puma {
5963
6375
 
5964
 
#line 1755 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
6376
#line 1853 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5965
6377
 
5966
 
#line 5967 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
6378
#line 6379 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
5967
6379
} // closed Puma
5968
6380
 
5969
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
5970
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
6381
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
6382
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
5971
6383
#include "CExprResolveH.ah"
5972
6384
#endif
5973
6385
namespace Puma {
5974
6386
 
5975
 
#line 1755 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
6387
#line 1853 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5976
6388
class CT_SizeofExpr : public CT_Expression {
5977
 
#line 5978 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
6389
#line 6390 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
5978
6390
  friend class ::CCExprResolve;
5979
6391
  friend class ::CExprResolve;
5980
6392
  friend class ::WinIfExists;
5995
6407
  friend class ::PragmaOnce;
5996
6408
  friend class ::CMatchSyntax;
5997
6409
 
5998
 
#line 1755 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
6410
#line 1853 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
5999
6411
 
6000
6412
  CTree *sons[5]; // key, open, type, close, expr
6001
6413
 
6039
6451
   private:
6040
6452
  typedef CT_SizeofExpr CCExprResolveExpr;
6041
6453
 
6042
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
6454
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
6043
6455
 public :
6044
6456
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
6045
6457
  typedef CT_SizeofExpr CExprResolveExpr;
6046
6458
 
6047
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
6459
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
6048
6460
 public :
6049
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
6050
 
#line 1795 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
6461
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
6462
  typedef AC::TL<Puma::CTree * [5],AC::TLE > __AttrTypes;
 
6463
  const char *__attr_name (unsigned i) const {
 
6464
    static const char *names[] = { "sons" }; return names[i];
 
6465
  }
 
6466
  const void *__attr (unsigned __i) const {
 
6467
    switch (__i) { case 0: return &sons; default: return 0; }
 
6468
  }
 
6469
#line 1893 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
6051
6470
};
6052
6471
 
6053
6472
/** \class CT_IndexDesignator CTree.h Puma/CTree.h
6054
 
 *  Tree node representing an index designator, i.e. [1]. */
 
6473
 *  Tree node representing an index designator.
 
6474
 *  Example: \code [1] \endcode */
6055
6475
 
6056
 
#line 6057 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
6476
#line 6477 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
6057
6477
} // closed Puma
6058
6478
class CCExprResolve;
6059
6479
class CExprResolve;
6076
6496
class CMatchSyntax;
6077
6497
namespace Puma {
6078
6498
 
6079
 
#line 1799 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
6499
#line 1898 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
6080
6500
 
6081
 
#line 6082 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
6501
#line 6502 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
6082
6502
} // closed Puma
6083
6503
 
6084
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
6085
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
6504
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
6505
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
6086
6506
#include "CCExprResolveH.ah"
6087
6507
#endif
6088
6508
namespace Puma {
6089
6509
 
6090
 
#line 1799 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
6510
#line 1898 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
6091
6511
 
6092
 
#line 6093 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
6512
#line 6513 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
6093
6513
} // closed Puma
6094
6514
 
6095
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
6096
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
6515
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
6516
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
6097
6517
#include "CExprResolveH.ah"
6098
6518
#endif
6099
6519
namespace Puma {
6100
6520
 
6101
 
#line 1799 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
6521
#line 1898 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
6102
6522
class CT_IndexDesignator : public CT_Expression {
6103
 
#line 6104 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
6523
#line 6524 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
6104
6524
  friend class ::CCExprResolve;
6105
6525
  friend class ::CExprResolve;
6106
6526
  friend class ::WinIfExists;
6121
6541
  friend class ::PragmaOnce;
6122
6542
  friend class ::CMatchSyntax;
6123
6543
 
6124
 
#line 1799 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
6544
#line 1898 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
6125
6545
 
6126
6546
  CTree *sons[3]; // open, index, close
6127
6547
 
6152
6572
   private:
6153
6573
  typedef CT_IndexDesignator CCExprResolveExpr;
6154
6574
 
6155
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
6575
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
6156
6576
 public :
6157
6577
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
6158
6578
  typedef CT_IndexDesignator CExprResolveExpr;
6159
6579
 
6160
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
6580
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
6161
6581
 public :
6162
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
6163
 
#line 1826 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
6582
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
6583
  typedef AC::TL<Puma::CTree * [3],AC::TLE > __AttrTypes;
 
6584
  const char *__attr_name (unsigned i) const {
 
6585
    static const char *names[] = { "sons" }; return names[i];
 
6586
  }
 
6587
  const void *__attr (unsigned __i) const {
 
6588
    switch (__i) { case 0: return &sons; default: return 0; }
 
6589
  }
 
6590
#line 1925 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
6164
6591
};
6165
6592
 
6166
6593
/** \class CT_MembDesignator CTree.h Puma/CTree.h
6167
 
 *  Tree node representing a member designator, e.g. .a. */
 
6594
 *  Tree node representing a member designator.
 
6595
 *  Example: \code .a \endcode */
6168
6596
 
6169
 
#line 6170 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
6597
#line 6598 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
6170
6598
} // closed Puma
6171
6599
class CCExprResolve;
6172
6600
class CExprResolve;
6189
6617
class CMatchSyntax;
6190
6618
namespace Puma {
6191
6619
 
6192
 
#line 1830 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
6620
#line 1930 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
6193
6621
 
6194
 
#line 6195 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
6622
#line 6623 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
6195
6623
} // closed Puma
6196
6624
 
6197
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
6198
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
6625
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
6626
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
6199
6627
#include "CCExprResolveH.ah"
6200
6628
#endif
6201
6629
namespace Puma {
6202
6630
 
6203
 
#line 1830 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
6631
#line 1930 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
6204
6632
 
6205
 
#line 6206 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
6633
#line 6634 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
6206
6634
} // closed Puma
6207
6635
 
6208
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
6209
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
6636
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
6637
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
6210
6638
#include "CExprResolveH.ah"
6211
6639
#endif
6212
6640
namespace Puma {
6213
6641
 
6214
 
#line 1830 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
6642
#line 1930 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
6215
6643
class CT_MembDesignator : public CT_Expression {
6216
 
#line 6217 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
6644
#line 6645 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
6217
6645
  friend class ::CCExprResolve;
6218
6646
  friend class ::CExprResolve;
6219
6647
  friend class ::WinIfExists;
6234
6662
  friend class ::PragmaOnce;
6235
6663
  friend class ::CMatchSyntax;
6236
6664
 
6237
 
#line 1830 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
6665
#line 1930 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
6238
6666
 
6239
6667
  CTree *sons[2]; // dot, member
6240
6668
 
6262
6690
   private:
6263
6691
  typedef CT_MembDesignator CCExprResolveExpr;
6264
6692
 
6265
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
6693
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
6266
6694
 public :
6267
6695
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
6268
6696
  typedef CT_MembDesignator CExprResolveExpr;
6269
6697
 
6270
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
6698
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
6271
6699
 public :
6272
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
6273
 
#line 1854 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
6700
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
6701
  typedef AC::TL<Puma::CTree * [2],AC::TLE > __AttrTypes;
 
6702
  const char *__attr_name (unsigned i) const {
 
6703
    static const char *names[] = { "sons" }; return names[i];
 
6704
  }
 
6705
  const void *__attr (unsigned __i) const {
 
6706
    switch (__i) { case 0: return &sons; default: return 0; }
 
6707
  }
 
6708
#line 1954 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
6274
6709
};
6275
6710
 
6276
6711
/** \class CT_DesignatorSeq CTree.h Puma/CTree.h
6277
 
 *  Tree node representing a designator sequence, e.g. .a.b.c. */
 
6712
 *  Tree node representing a designator sequence.
 
6713
 *  Example: \code .a.b.c \endcode */
6278
6714
 
6279
 
#line 6280 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
6715
#line 6716 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
6280
6716
} // closed Puma
6281
6717
class CCExprResolve;
6282
6718
class CExprResolve;
6299
6735
class CMatchSyntax;
6300
6736
namespace Puma {
6301
6737
 
6302
 
#line 1858 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
6738
#line 1959 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
6303
6739
class CT_DesignatorSeq : public CT_List, public CSemValue {
6304
 
#line 6305 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
6740
#line 6741 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
6305
6741
  friend class ::CCExprResolve;
6306
6742
  friend class ::CExprResolve;
6307
6743
  friend class ::WinIfExists;
6322
6758
  friend class ::PragmaOnce;
6323
6759
  friend class ::CMatchSyntax;
6324
6760
 
6325
 
#line 1858 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
6761
#line 1959 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
6326
6762
 
6327
6763
public:
6328
6764
  /** Constructor.
6339
6775
  CExprValue *Value () const { return value; }
6340
6776
  /** Get the semantic value object. */
6341
6777
  CSemValue *SemValue () const { return (CSemValue*)this; }
 
6778
public:
 
6779
  typedef AC::TLE __AttrTypes;
 
6780
  const char *__attr_name (unsigned i) const { return 0; }
 
6781
  const void *__attr (unsigned __i) const { return 0; }
 
6782
#line 1975 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
6342
6783
};
6343
6784
 
6344
6785
/*****************************************************************************/
6350
6791
/** \class CT_DeclSpec CTree.h Puma/CTree.h
6351
6792
 *  Base class for all tree nodes representing declaration specifiers. */
6352
6793
 
6353
 
#line 6354 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
6794
#line 6795 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
6354
6795
} // closed Puma
6355
6796
class CCExprResolve;
6356
6797
class CExprResolve;
6373
6814
class CMatchSyntax;
6374
6815
namespace Puma {
6375
6816
 
6376
 
#line 1884 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
6817
#line 1985 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
6377
6818
class CT_DeclSpec : public CTree {
6378
 
#line 6379 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
6819
#line 6820 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
6379
6820
  friend class ::CCExprResolve;
6380
6821
  friend class ::CExprResolve;
6381
6822
  friend class ::WinIfExists;
6396
6837
  friend class ::PragmaOnce;
6397
6838
  friend class ::CMatchSyntax;
6398
6839
 
6399
 
#line 1884 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
6840
#line 1985 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
6400
6841
 
6401
6842
protected:
6402
6843
  /** Constructor. */
6403
6844
  CT_DeclSpec () {}
 
6845
public:
 
6846
  typedef AC::TLE __AttrTypes;
 
6847
  const char *__attr_name (unsigned i) const { return 0; }
 
6848
  const void *__attr (unsigned __i) const { return 0; }
 
6849
#line 1989 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
6404
6850
};
6405
6851
 
6406
6852
/** \class CT_PrimDeclSpec CTree.h Puma/CTree.h
6407
6853
 *  Tree node representing a primitive declaration specifier. */
6408
6854
 
6409
 
#line 6410 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
6855
#line 6856 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
6410
6856
} // closed Puma
6411
6857
class CCExprResolve;
6412
6858
class CExprResolve;
6429
6875
class CMatchSyntax;
6430
6876
namespace Puma {
6431
6877
 
6432
 
#line 1892 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
6878
#line 1993 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
6433
6879
class CT_PrimDeclSpec : public CT_DeclSpec {
6434
 
#line 6435 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
6880
#line 6881 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
6435
6881
  friend class ::CCExprResolve;
6436
6882
  friend class ::CExprResolve;
6437
6883
  friend class ::WinIfExists;
6452
6898
  friend class ::PragmaOnce;
6453
6899
  friend class ::CMatchSyntax;
6454
6900
 
6455
 
#line 1892 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
6901
#line 1993 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
6456
6902
 
6457
6903
public:
6458
6904
  /** Declaration specifier types. */
6531
6977
    CTree::ReplaceSon (_token, (CTree*)old_son, (CTree*)new_son);
6532
6978
    determine_type ();
6533
6979
  }
 
6980
public:
 
6981
  typedef AC::TL<Puma::CT_PrimDeclSpec::Type,AC::TL<Puma::CTree *,AC::TLE > > __AttrTypes;
 
6982
  const char *__attr_name (unsigned i) const {
 
6983
    static const char *names[] = { "_type", "_token" }; return names[i];
 
6984
  }
 
6985
  const void *__attr (unsigned __i) const {
 
6986
    switch (__i) { case 31: return &_type; case 32: return &_token; default: return 0; }
 
6987
  }
 
6988
#line 2071 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
6534
6989
};
6535
6990
 
6536
6991
/** \class CT_NamedType CTree.h Puma/CTree.h
6537
 
 *  Tree node representing a named type, e.g. (int*)a. 
6538
 
 *  where int* is a type with a generated name. */
 
6992
 *  Tree node representing a named type.
 
6993
 *  Example: \code (int*)a \endcode where int* is a 
 
6994
 *  type with a generated name. */
6539
6995
 
6540
 
#line 6541 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
6996
#line 6997 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
6541
6997
} // closed Puma
6542
6998
class CCExprResolve;
6543
6999
class CExprResolve;
6560
7016
class CMatchSyntax;
6561
7017
namespace Puma {
6562
7018
 
6563
 
#line 1975 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
7019
#line 2077 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
6564
7020
class CT_NamedType : public CT_DeclSpec, public CSemObject {
6565
 
#line 6566 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
7021
#line 7022 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
6566
7022
  friend class ::CCExprResolve;
6567
7023
  friend class ::CExprResolve;
6568
7024
  friend class ::WinIfExists;
6583
7039
  friend class ::PragmaOnce;
6584
7040
  friend class ::CMatchSyntax;
6585
7041
 
6586
 
#line 1975 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
7042
#line 2077 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
6587
7043
 
6588
7044
  CTree *sons[2]; // declspecs, declarator
6589
7045
 
6610
7066
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
6611
7067
    CTree::ReplaceSon (sons, 2, old_son, new_son);
6612
7068
  }
6613
 
  /** Get the semantic information object. */
 
7069
  /** Get the semantic information about the created temporary object. */
6614
7070
  CSemObject *SemObject () const { return (CSemObject*)this; }
 
7071
public:
 
7072
  typedef AC::TL<Puma::CTree * [2],AC::TLE > __AttrTypes;
 
7073
  const char *__attr_name (unsigned i) const {
 
7074
    static const char *names[] = { "sons" }; return names[i];
 
7075
  }
 
7076
  const void *__attr (unsigned __i) const {
 
7077
    switch (__i) { case 0: return &sons; default: return 0; }
 
7078
  }
 
7079
#line 2105 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
6615
7080
};
6616
7081
      
6617
7082
/** \class CT_ClassSpec CTree.h Puma/CTree.h
6618
 
 *  Tree node representing a class specifier, e.g. class X. */
 
7083
 *  Tree node representing a class specifier.
 
7084
 *  Example: \code class X \endcode */
6619
7085
 
6620
 
#line 6621 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
7086
#line 7087 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
6621
7087
} // closed Puma
6622
7088
class CCExprResolve;
6623
7089
class CExprResolve;
6640
7106
class CMatchSyntax;
6641
7107
namespace Puma {
6642
7108
 
6643
 
#line 2007 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
7109
#line 2110 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
6644
7110
class CT_ClassSpec : public CT_DeclSpec, public CSemObject {
6645
 
#line 6646 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
7111
#line 7112 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
6646
7112
  friend class ::CCExprResolve;
6647
7113
  friend class ::CExprResolve;
6648
7114
  friend class ::WinIfExists;
6663
7129
  friend class ::PragmaOnce;
6664
7130
  friend class ::CMatchSyntax;
6665
7131
 
6666
 
#line 2007 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
7132
#line 2110 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
6667
7133
 
6668
7134
  CTree *sons[2]; // key, name
6669
7135
  
6684
7150
  CTree *Son (int n) const { return CTree::Son (sons, 2, n); } 
6685
7151
  /** Get the class name. */
6686
7152
  CT_SimpleName *Name () const { return (CT_SimpleName*)sons[1]; }
6687
 
  /** Get the semantic information object. */
 
7153
  /** Get the semantic information about the class. */
6688
7154
  CSemObject *SemObject () const { return (CSemObject*)this; }
6689
7155
  /** Replace a son.
6690
7156
   *  \param old_son The son to replace.
6692
7158
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
6693
7159
    CTree::ReplaceSon (sons, 2, old_son, new_son);
6694
7160
  }
 
7161
public:
 
7162
  typedef AC::TL<Puma::CTree * [2],AC::TLE > __AttrTypes;
 
7163
  const char *__attr_name (unsigned i) const {
 
7164
    static const char *names[] = { "sons" }; return names[i];
 
7165
  }
 
7166
  const void *__attr (unsigned __i) const {
 
7167
    switch (__i) { case 0: return &sons; default: return 0; }
 
7168
  }
 
7169
#line 2138 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
6695
7170
};
6696
7171
 
6697
7172
/** \class CT_UnionSpec CTree.h Puma/CTree.h
6698
 
 *  Tree node representing a union specifier, e.g. union X. */
 
7173
 *  Tree node representing a union specifier.
 
7174
 *  Example: \code union X \endcode */
6699
7175
 
6700
 
#line 6701 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
7176
#line 7177 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
6701
7177
} // closed Puma
6702
7178
class CCExprResolve;
6703
7179
class CExprResolve;
6720
7196
class CMatchSyntax;
6721
7197
namespace Puma {
6722
7198
 
6723
 
#line 2039 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
7199
#line 2143 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
6724
7200
class CT_UnionSpec : public CT_ClassSpec {
6725
 
#line 6726 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
7201
#line 7202 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
6726
7202
  friend class ::CCExprResolve;
6727
7203
  friend class ::CExprResolve;
6728
7204
  friend class ::WinIfExists;
6743
7219
  friend class ::PragmaOnce;
6744
7220
  friend class ::CMatchSyntax;
6745
7221
 
6746
 
#line 2039 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
7222
#line 2143 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
6747
7223
 
6748
7224
public:
6749
7225
  /** Constructor.
6754
7230
  static const char *NodeId ();
6755
7231
  /** Get the name of the node. Can be compared with NodeId(). */
6756
7232
  const char *NodeName () const { return NodeId (); }
 
7233
public:
 
7234
  typedef AC::TLE __AttrTypes;
 
7235
  const char *__attr_name (unsigned i) const { return 0; }
 
7236
  const void *__attr (unsigned __i) const { return 0; }
 
7237
#line 2153 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
6757
7238
};
6758
7239
 
6759
7240
/** \class CT_EnumSpec CTree.h Puma/CTree.h
6760
 
 *  Tree node representing an enumeration specifier, e.g. enum X. */
 
7241
 *  Tree node representing an enumeration specifier.
 
7242
 *  Example: \code enum X \endcode */
6761
7243
 
6762
 
#line 6763 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
7244
#line 7245 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
6763
7245
} // closed Puma
6764
7246
class CCExprResolve;
6765
7247
class CExprResolve;
6782
7264
class CMatchSyntax;
6783
7265
namespace Puma {
6784
7266
 
6785
 
#line 2053 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
7267
#line 2158 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
6786
7268
class CT_EnumSpec : public CT_ClassSpec {
6787
 
#line 6788 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
7269
#line 7270 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
6788
7270
  friend class ::CCExprResolve;
6789
7271
  friend class ::CExprResolve;
6790
7272
  friend class ::WinIfExists;
6805
7287
  friend class ::PragmaOnce;
6806
7288
  friend class ::CMatchSyntax;
6807
7289
 
6808
 
#line 2053 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
7290
#line 2158 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
6809
7291
 
6810
7292
public:
6811
7293
  /** Constructor.
6816
7298
  static const char *NodeId ();
6817
7299
  /** Get the name of the node. Can be compared with NodeId(). */
6818
7300
  const char *NodeName () const { return NodeId (); }
 
7301
public:
 
7302
  typedef AC::TLE __AttrTypes;
 
7303
  const char *__attr_name (unsigned i) const { return 0; }
 
7304
  const void *__attr (unsigned __i) const { return 0; }
 
7305
#line 2168 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
6819
7306
};
6820
7307
 
6821
7308
/** \class CT_ExceptionSpec CTree.h Puma/CTree.h
6822
 
 *  Tree node representing an exception specifier, e.g. throw(std::exception). */
 
7309
 *  Tree node representing an exception specifier.
 
7310
 *  Example: \code throw(std::exception) \endcode */
6823
7311
 
6824
 
#line 6825 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
7312
#line 7313 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
6825
7313
} // closed Puma
6826
7314
class CCExprResolve;
6827
7315
class CExprResolve;
6844
7332
class CMatchSyntax;
6845
7333
namespace Puma {
6846
7334
 
6847
 
#line 2067 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
7335
#line 2173 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
6848
7336
class CT_ExceptionSpec : public CT_DeclSpec {
6849
 
#line 6850 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
7337
#line 7338 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
6850
7338
  friend class ::CCExprResolve;
6851
7339
  friend class ::CExprResolve;
6852
7340
  friend class ::WinIfExists;
6867
7355
  friend class ::PragmaOnce;
6868
7356
  friend class ::CMatchSyntax;
6869
7357
 
6870
 
#line 2067 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
7358
#line 2173 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
6871
7359
 
6872
7360
  CTree *sons[2]; // throw, type_id_list
6873
7361
  
6894
7382
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
6895
7383
    CTree::ReplaceSon (sons, 2, old_son, new_son);
6896
7384
  }
 
7385
public:
 
7386
  typedef AC::TL<Puma::CTree * [2],AC::TLE > __AttrTypes;
 
7387
  const char *__attr_name (unsigned i) const {
 
7388
    static const char *names[] = { "sons" }; return names[i];
 
7389
  }
 
7390
  const void *__attr (unsigned __i) const {
 
7391
    switch (__i) { case 0: return &sons; default: return 0; }
 
7392
  }
 
7393
#line 2199 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
6897
7394
};
6898
7395
 
6899
7396
/*****************************************************************************/
6905
7402
/** \class CT_Decl CTree.h Puma/CTree.h
6906
7403
 *  Base class for all tree nodes representing declarations. */
6907
7404
 
6908
 
#line 6909 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
7405
#line 7406 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
6909
7406
} // closed Puma
6910
7407
class CCExprResolve;
6911
7408
class CExprResolve;
6928
7425
class CMatchSyntax;
6929
7426
namespace Puma {
6930
7427
 
6931
 
#line 2103 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
7428
#line 2209 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
6932
7429
class CT_Decl : public CTree {
6933
 
#line 6934 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
7430
#line 7431 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
6934
7431
  friend class ::CCExprResolve;
6935
7432
  friend class ::CExprResolve;
6936
7433
  friend class ::WinIfExists;
6951
7448
  friend class ::PragmaOnce;
6952
7449
  friend class ::CMatchSyntax;
6953
7450
 
6954
 
#line 2103 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
7451
#line 2209 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
6955
7452
 
6956
7453
  CT_LinkageSpec *_linkage;
6957
7454
  
6967
7464
  CT_LinkageSpec *Linkage () const { return _linkage; }
6968
7465
  /** Get this. */
6969
7466
  virtual CT_Decl *IsDeclaration () { return this; }
 
7467
public:
 
7468
  typedef AC::TL<Puma::CT_LinkageSpec *,AC::TLE > __AttrTypes;
 
7469
  const char *__attr_name (unsigned i) const {
 
7470
    static const char *names[] = { "_linkage" }; return names[i];
 
7471
  }
 
7472
  const void *__attr (unsigned __i) const {
 
7473
    switch (__i) { case 0: return &_linkage; default: return 0; }
 
7474
  }
 
7475
#line 2224 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
6970
7476
};
6971
7477
 
6972
7478
/** \class CT_Program CTree.h Puma/CTree.h
6973
 
 *  Root node of C/C++ syntax tree. */
 
7479
 *  Root node of C/C++ syntax trees. */
6974
7480
 
6975
 
#line 6976 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
7481
#line 7482 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
6976
7482
} // closed Puma
6977
7483
class CCExprResolve;
6978
7484
class CExprResolve;
6995
7501
class CMatchSyntax;
6996
7502
namespace Puma {
6997
7503
 
6998
 
#line 2122 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
7504
#line 2228 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
6999
7505
class CT_Program : public CT_DeclList, public CSemScope {
7000
 
#line 7001 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
7506
#line 7507 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
7001
7507
  friend class ::CCExprResolve;
7002
7508
  friend class ::CExprResolve;
7003
7509
  friend class ::WinIfExists;
7018
7524
  friend class ::PragmaOnce;
7019
7525
  friend class ::CMatchSyntax;
7020
7526
 
7021
 
#line 2122 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
7527
#line 2228 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
7022
7528
 
7023
7529
public:
7024
7530
  /** Constructor.
7029
7535
  static const char *NodeId ();
7030
7536
  /** Get the name of the node. Can be compared with NodeId(). */
7031
7537
  const char *NodeName () const { return NodeId (); }
7032
 
  /** Get the semantic scope object. */
 
7538
  /** Get the top scope. */
7033
7539
  CSemScope *SemScope () const { return (CSemScope*)this; }
 
7540
public:
 
7541
  typedef AC::TLE __AttrTypes;
 
7542
  const char *__attr_name (unsigned i) const { return 0; }
 
7543
  const void *__attr (unsigned __i) const { return 0; }
 
7544
#line 2240 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
7034
7545
};
7035
7546
   
7036
7547
/** \class CT_ObjDecl CTree.h Puma/CTree.h
7037
 
 *  Tree node representing an object declaration, e.g. int *i. */
 
7548
 *  Tree node representing an object declaration.
 
7549
 *  Example: \code int *i \endcode */
7038
7550
 
7039
 
#line 7040 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
7551
#line 7552 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
7040
7552
} // closed Puma
7041
7553
class CCExprResolve;
7042
7554
class CExprResolve;
7059
7571
class CMatchSyntax;
7060
7572
namespace Puma {
7061
7573
 
7062
 
#line 2138 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
7574
#line 2245 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
7063
7575
class CT_ObjDecl : public CT_Decl {
7064
 
#line 7065 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
7576
#line 7577 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
7065
7577
  friend class ::CCExprResolve;
7066
7578
  friend class ::CExprResolve;
7067
7579
  friend class ::WinIfExists;
7082
7594
  friend class ::PragmaOnce;
7083
7595
  friend class ::CMatchSyntax;
7084
7596
 
7085
 
#line 2138 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
7597
#line 2245 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
7086
7598
 
7087
7599
  CTree *sons[3]; // declspecs, declarators, colon
7088
7600
 
7114
7626
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
7115
7627
    CTree::ReplaceSon (sons, 3, old_son, new_son);
7116
7628
  }
 
7629
public:
 
7630
  typedef AC::TL<Puma::CTree * [3],AC::TLE > __AttrTypes;
 
7631
  const char *__attr_name (unsigned i) const {
 
7632
    static const char *names[] = { "sons" }; return names[i];
 
7633
  }
 
7634
  const void *__attr (unsigned __i) const {
 
7635
    switch (__i) { case 0: return &sons; default: return 0; }
 
7636
  }
 
7637
#line 2276 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
7117
7638
};
7118
7639
 
7119
7640
/** \class CT_TemplateDecl CTree.h Puma/CTree.h
7120
7641
 *  Tree node representing a template declaration. */
7121
7642
 
7122
 
#line 7123 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
7643
#line 7644 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
7123
7644
} // closed Puma
7124
7645
class CCExprResolve;
7125
7646
class CExprResolve;
7142
7663
class CMatchSyntax;
7143
7664
namespace Puma {
7144
7665
 
7145
 
#line 2173 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
7666
#line 2280 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
7146
7667
class CT_TemplateDecl : public CT_Decl, public CSemScope {
7147
 
#line 7148 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
7668
#line 7669 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
7148
7669
  friend class ::CCExprResolve;
7149
7670
  friend class ::CExprResolve;
7150
7671
  friend class ::WinIfExists;
7165
7686
  friend class ::PragmaOnce;
7166
7687
  friend class ::CMatchSyntax;
7167
7688
 
7168
 
#line 2173 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
7689
#line 2280 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
7169
7690
 
7170
7691
  CTree *sons[3]; // export, param_list, decl
7171
7692
 
7201
7722
  }
7202
7723
  /** Get the class or function declaration. */
7203
7724
  CTree *Declaration () const { return sons[2]; }
7204
 
  /** Get the semantic scope object. */
 
7725
  /** Get the scope opened by the template declaration. */
7205
7726
  CSemScope *SemScope () const { return (CSemScope*)this; }
 
7727
public:
 
7728
  typedef AC::TL<Puma::CTree * [3],AC::TLE > __AttrTypes;
 
7729
  const char *__attr_name (unsigned i) const {
 
7730
    static const char *names[] = { "sons" }; return names[i];
 
7731
  }
 
7732
  const void *__attr (unsigned __i) const {
 
7733
    switch (__i) { case 0: return &sons; default: return 0; }
 
7734
  }
 
7735
#line 2317 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
7206
7736
};
7207
7737
 
7208
7738
/** \class CT_TemplateParamDecl CTree.h Puma/CTree.h
7209
7739
 *  Base class for all tree nodesrepresenting a template parameter declaration. */
7210
7740
 
7211
 
#line 7212 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
7741
#line 7742 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
7212
7742
} // closed Puma
7213
7743
class CCExprResolve;
7214
7744
class CExprResolve;
7231
7761
class CMatchSyntax;
7232
7762
namespace Puma {
7233
7763
 
7234
 
#line 2214 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
7764
#line 2321 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
7235
7765
class CT_TemplateParamDecl : public CT_Decl, public CSemObject {
7236
 
#line 7237 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
7766
#line 7767 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
7237
7767
  friend class ::CCExprResolve;
7238
7768
  friend class ::CExprResolve;
7239
7769
  friend class ::WinIfExists;
7254
7784
  friend class ::PragmaOnce;
7255
7785
  friend class ::CMatchSyntax;
7256
7786
 
7257
 
#line 2214 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
7787
#line 2321 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
7258
7788
 
7259
7789
protected:
7260
7790
  /** Constructor. */
7263
7793
public:
7264
7794
  /** Get the template default argument. */
7265
7795
  virtual CT_ExprList *DefaultArgument () const = 0;
7266
 
  /** Get the semantic information object. */
 
7796
  /** Get the semantic information about the template parameter. */
7267
7797
  CSemObject *SemObject () const { return (CSemObject*)this; }
 
7798
public:
 
7799
  typedef AC::TLE __AttrTypes;
 
7800
  const char *__attr_name (unsigned i) const { return 0; }
 
7801
  const void *__attr (unsigned __i) const { return 0; }
 
7802
#line 2331 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
7268
7803
};
7269
7804
 
 
7805
/** \class CT_NonTypeParamDecl CTree.h Puma/CTree.h
 
7806
 *  Tree node representing a template non-type parameter declaration. */
7270
7807
 
7271
 
#line 7272 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
7808
#line 7809 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
7272
7809
} // closed Puma
7273
7810
class CCExprResolve;
7274
7811
class CExprResolve;
7291
7828
class CMatchSyntax;
7292
7829
namespace Puma {
7293
7830
 
7294
 
#line 2226 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
7831
#line 2335 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
7295
7832
class CT_NonTypeParamDecl : public CT_TemplateParamDecl {
7296
 
#line 7297 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
7833
#line 7834 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
7297
7834
  friend class ::CCExprResolve;
7298
7835
  friend class ::CExprResolve;
7299
7836
  friend class ::WinIfExists;
7314
7851
  friend class ::PragmaOnce;
7315
7852
  friend class ::CMatchSyntax;
7316
7853
 
7317
 
#line 2226 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
7854
#line 2335 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
7318
7855
 
7319
7856
  CTree *sons[3]; // declspecs, declarator, init
7320
7857
 
7321
7858
public:
 
7859
  /** Constructor.
 
7860
   *  \param dsl The declaration specifier sequence.
 
7861
   *  \param d The parameter declarator.
 
7862
   *  \param i The default template argument. */
7322
7863
  CT_NonTypeParamDecl (CTree *dsl, CTree *d, CTree *i = (CTree*)0) {
7323
7864
    AddSon (sons[0], dsl); AddSon (sons[1], d); AddSon (sons[2], i);
7324
7865
  }
7332
7873
   *  \param n The index of the son.
7333
7874
   *  \return The n-th son or NULL. */
7334
7875
  CTree *Son (int n) const { return CTree::Son (sons, 3, n); }
 
7876
  /** Get the declaration specifier sequence. */
7335
7877
  CT_DeclSpecSeq *DeclSpecs () const { return (CT_DeclSpecSeq*)sons[0]; }
 
7878
  /** Get the parameter declarator. */
7336
7879
  CTree *Declarator () const { return sons[1]; }
 
7880
  /** Get the default template argument. */
7337
7881
  CT_ExprList *DefaultArgument () const { return (CT_ExprList*)sons[2]; }
 
7882
  /** Get the semantic information about the template parameter. */
7338
7883
  CSemObject *SemObject () const { return (CSemObject*)this; }
 
7884
  /** Set the default template argument. 
 
7885
   *  \param i The default argument. */
7339
7886
  void Initializer (CTree *i) { AddSon (sons[2], i); }
7340
7887
  /** Replace a son.
7341
7888
   *  \param old_son The son to replace.
7343
7890
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
7344
7891
    CTree::ReplaceSon (sons, 3, old_son, new_son);
7345
7892
  }
 
7893
public:
 
7894
  typedef AC::TL<Puma::CTree * [3],AC::TLE > __AttrTypes;
 
7895
  const char *__attr_name (unsigned i) const {
 
7896
    static const char *names[] = { "sons" }; return names[i];
 
7897
  }
 
7898
  const void *__attr (unsigned __i) const {
 
7899
    switch (__i) { case 0: return &sons; default: return 0; }
 
7900
  }
 
7901
#line 2373 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
7346
7902
};
7347
7903
 
 
7904
/** \class CT_TypeParamDecl CTree.h Puma/CTree.h
 
7905
 *  Tree node representing a template type parameter declaration. */
7348
7906
 
7349
 
#line 7350 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
7907
#line 7908 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
7350
7908
} // closed Puma
7351
7909
class CCExprResolve;
7352
7910
class CExprResolve;
7369
7927
class CMatchSyntax;
7370
7928
namespace Puma {
7371
7929
 
7372
 
#line 2256 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
7930
#line 2377 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
7373
7931
class CT_TypeParamDecl : public CT_TemplateParamDecl {
7374
 
#line 7375 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
7932
#line 7933 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
7375
7933
  friend class ::CCExprResolve;
7376
7934
  friend class ::CExprResolve;
7377
7935
  friend class ::WinIfExists;
7392
7950
  friend class ::PragmaOnce;
7393
7951
  friend class ::CMatchSyntax;
7394
7952
 
7395
 
#line 2256 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
7953
#line 2377 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
7396
7954
 
7397
7955
  CTree *sons[4]; // params, key, id, init
7398
7956
 
7399
7957
public:
7400
 
  CT_TypeParamDecl (CTree *t, CTree *k, CTree *id, CTree *i = (CTree*)0) { 
7401
 
    AddSon (sons[0], t); AddSon (sons[1], k); 
 
7958
  /** Constructor.
 
7959
   *  \param pl The template parameter list of an template template parameter.
 
7960
   *  \param k The type keyword, i.e. 'class' or 'typename'.
 
7961
   *  \param id The parameter identifier.
 
7962
   *  \param i The default template argument. */
 
7963
  CT_TypeParamDecl (CTree *pl, CTree *k, CTree *id, CTree *i = (CTree*)0) { 
 
7964
    AddSon (sons[0], pl); AddSon (sons[1], k); 
7402
7965
    AddSon (sons[2], id); AddSon (sons[3], i);
7403
7966
  }
7404
7967
  /** Get the identifier for this node type. Can be compared with NodeName(). */
7411
7974
   *  \param n The index of the son.
7412
7975
   *  \return The n-th son or NULL. */
7413
7976
  CTree *Son (int n) const { return CTree::Son (sons, 4, n); }
 
7977
  /** Get the template parameter list of a template template parameter. */
7414
7978
  CT_TemplateParamList *Parameters () const { 
7415
7979
    return (CT_TemplateParamList*)sons[0]; 
7416
7980
  }
 
7981
  /** Get the templare parameter name. */
7417
7982
  CT_SimpleName *Name () const { return (CT_SimpleName*)sons[2]; }
 
7983
  /** Get the template default argument. */
7418
7984
  CT_ExprList *DefaultArgument () const { return (CT_ExprList*)sons[3]; }
 
7985
  /** Set the template default argument.
 
7986
   *  \param i The default argument. */
7419
7987
  void Initializer (CTree *i) { AddSon (sons[3], i); }
7420
7988
  /** Replace a son.
7421
7989
   *  \param old_son The son to replace.
7423
7991
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
7424
7992
    CTree::ReplaceSon (sons, 4, old_son, new_son);
7425
7993
  }
 
7994
public:
 
7995
  typedef AC::TL<Puma::CTree * [4],AC::TLE > __AttrTypes;
 
7996
  const char *__attr_name (unsigned i) const {
 
7997
    static const char *names[] = { "sons" }; return names[i];
 
7998
  }
 
7999
  const void *__attr (unsigned __i) const {
 
8000
    switch (__i) { case 0: return &sons; default: return 0; }
 
8001
  }
 
8002
#line 2417 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
7426
8003
};
7427
8004
 
 
8005
/** \class CT_EnumDef CTree.h Puma/CTree.h
 
8006
 *  Tree node representing the definition of an enumeration. 
 
8007
 *  Example: \code enum E { A, B, C } \endcode */
7428
8008
 
7429
 
#line 7430 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
8009
#line 8010 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
7430
8010
} // closed Puma
7431
8011
class CCExprResolve;
7432
8012
class CExprResolve;
7449
8029
class CMatchSyntax;
7450
8030
namespace Puma {
7451
8031
 
7452
 
#line 2288 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
8032
#line 2422 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
7453
8033
class CT_EnumDef : public CT_Decl, public CSemObject {
7454
 
#line 7455 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
8034
#line 8035 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
7455
8035
  friend class ::CCExprResolve;
7456
8036
  friend class ::CExprResolve;
7457
8037
  friend class ::WinIfExists;
7472
8052
  friend class ::PragmaOnce;
7473
8053
  friend class ::CMatchSyntax;
7474
8054
 
7475
 
#line 2288 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
8055
#line 2422 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
7476
8056
 
7477
8057
  CTree *sons[3]; // key, name, enumerators
7478
8058
 
7479
8059
public:
 
8060
  /** Constructor.
 
8061
   *  \param k The keyword 'enum'.
 
8062
   *  \param n The name of the enumeration. */
7480
8063
  CT_EnumDef (CTree *k, CTree *n) {
7481
8064
    AddSon (sons[0], k); AddSon (sons[1], n); AddSon (sons[2], 0); 
7482
8065
  }
7490
8073
   *  \param n The index of the son.
7491
8074
   *  \return The n-th son or NULL. */
7492
8075
  CTree *Son (int n) const { return CTree::Son (sons, 3, n); }
 
8076
  /** Get the name of the enumeration. */
7493
8077
  CT_SimpleName *Name () const { return (CT_SimpleName*)sons[1]; }
 
8078
  /** Set the list of enumeration constants.
 
8079
   *  \param el The enumerator list. */
7494
8080
  void Enumerators (CTree *el) { AddSon (sons[2], el); }
 
8081
  /** Get the list of enumeration constants. */
7495
8082
  CT_EnumeratorList *Enumerators () const { return (CT_EnumeratorList*)sons[2]; }
7496
8083
  /** Replace a son.
7497
8084
   *  \param old_son The son to replace.
7499
8086
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
7500
8087
    CTree::ReplaceSon (sons, 3, old_son, new_son);
7501
8088
  }
 
8089
  /** Get the semantic information about the enumeration. */
7502
8090
  CSemObject *SemObject () const { return (CSemObject*)this; }
 
8091
public:
 
8092
  typedef AC::TL<Puma::CTree * [3],AC::TLE > __AttrTypes;
 
8093
  const char *__attr_name (unsigned i) const {
 
8094
    static const char *names[] = { "sons" }; return names[i];
 
8095
  }
 
8096
  const void *__attr (unsigned __i) const {
 
8097
    switch (__i) { case 0: return &sons; default: return 0; }
 
8098
  }
 
8099
#line 2457 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
7503
8100
};
7504
8101
 
 
8102
/** \class CT_Enumerator CTree.h Puma/CTree.h
 
8103
 *  Tree node representing a single enumeration constant. */
7505
8104
 
7506
 
#line 7507 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
8105
#line 8106 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
7507
8106
} // closed Puma
7508
8107
class CCExprResolve;
7509
8108
class CExprResolve;
7526
8125
class CMatchSyntax;
7527
8126
namespace Puma {
7528
8127
 
7529
 
#line 2317 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
8128
#line 2461 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
7530
8129
class CT_Enumerator : public CT_Decl, public CSemObject {
7531
 
#line 7532 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
8130
#line 8131 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
7532
8131
  friend class ::CCExprResolve;
7533
8132
  friend class ::CExprResolve;
7534
8133
  friend class ::WinIfExists;
7549
8148
  friend class ::PragmaOnce;
7550
8149
  friend class ::CMatchSyntax;
7551
8150
 
7552
 
#line 2317 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
8151
#line 2461 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
7553
8152
 
7554
8153
  CTree *sons[2]; // name, init
7555
8154
 
7556
8155
public:
 
8156
  /** Constructor.
 
8157
   *  \param n The name of the enumerator. */
7557
8158
  CT_Enumerator (CTree *n) { AddSon (sons[0], n); AddSon (sons[1], 0); }
7558
8159
  /** Get the identifier for this node type. Can be compared with NodeName(). */
7559
8160
  static const char *NodeId ();
7565
8166
   *  \param n The index of the son.
7566
8167
   *  \return The n-th son or NULL. */
7567
8168
  CTree *Son (int n) const { return CTree::Son (sons, 2, n); }
 
8169
  /** Get the name of the enumerator. */
7568
8170
  CT_SimpleName *Name () const { return (CT_SimpleName*)sons[0]; }
 
8171
  /** Set the initializer expression of the enumerator. */
7569
8172
  void Initializer (CTree *i) { AddSon (sons[1], i); }
 
8173
  /** Get the initializer expression of the enumerator. */
7570
8174
  CT_ExprList *Initializer () const { return (CT_ExprList*)sons[1]; }
7571
8175
  /** Replace a son.
7572
8176
   *  \param old_son The son to replace.
7574
8178
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
7575
8179
    CTree::ReplaceSon (sons, 2, old_son, new_son); 
7576
8180
  }
 
8181
  /** Get the semantic information about the enumerator. */
7577
8182
  CSemObject *SemObject () const { return (CSemObject*)this; }
 
8183
public:
 
8184
  typedef AC::TL<Puma::CTree * [2],AC::TLE > __AttrTypes;
 
8185
  const char *__attr_name (unsigned i) const {
 
8186
    static const char *names[] = { "sons" }; return names[i];
 
8187
  }
 
8188
  const void *__attr (unsigned __i) const {
 
8189
    switch (__i) { case 0: return &sons; default: return 0; }
 
8190
  }
 
8191
#line 2492 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
7578
8192
};
7579
8193
 
 
8194
/** \class CT_FctDef CTree.h Puma/CTree.h
 
8195
 *  Tree node representing a function definition. 
 
8196
 *  Example:
 
8197
 *  \code
 
8198
 * int mul(int x, int y) {
 
8199
 *   return x*y;
 
8200
 * }
 
8201
 *  \endcode */
7580
8202
 
7581
 
#line 7582 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
8203
#line 8204 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
7582
8204
} // closed Puma
7583
8205
class CCExprResolve;
7584
8206
class CExprResolve;
7601
8223
class CMatchSyntax;
7602
8224
namespace Puma {
7603
8225
 
7604
 
#line 2344 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
8226
#line 2502 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
7605
8227
class CT_FctDef : public CT_Decl, public CSemObject {
7606
 
#line 7607 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
8228
#line 8229 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
7607
8229
  friend class ::CCExprResolve;
7608
8230
  friend class ::CExprResolve;
7609
8231
  friend class ::WinIfExists;
7624
8246
  friend class ::PragmaOnce;
7625
8247
  friend class ::CMatchSyntax;
7626
8248
 
7627
 
#line 2344 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
8249
#line 2502 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
7628
8250
 
7629
8251
  CTree *sons[7]; // declspecs, declarator, try, ctor_init, args, body, handlers
7630
8252
 
7631
8253
public:
 
8254
  /** Constructor.
 
8255
   *  \param dss The declaration specifier sequence. 
 
8256
   *  \param d The function declarator.
 
8257
   *  \param t Optional keyword 'try' for a function try-block.
 
8258
   *  \param ci Optional constructor initializer list.
 
8259
   *  \param as Optional K&R argument declaration list.
 
8260
   *  \param b The function body.
 
8261
   *  \param hs Exception handler sequence for a function try-block. */
7632
8262
  CT_FctDef (CTree *dss, CTree *d, CTree *t, CTree *ci, CTree *as, 
7633
8263
             CTree *b, CTree *hs) {
7634
8264
    AddSon (sons[0], dss); AddSon (sons[1], d); AddSon (sons[2], t); 
7645
8275
   *  \param n The index of the son.
7646
8276
   *  \return The n-th son or NULL. */
7647
8277
  CTree *Son (int n) const { return CTree::Son (sons, 7, n); }
 
8278
  /** Get the declaration specifier sequence. */
7648
8279
  CT_DeclSpecSeq *DeclSpecs () const { return (CT_DeclSpecSeq*)sons[0]; }
 
8280
  /** Get the function declarator. */
7649
8281
  CTree *Declarator () const { return sons[1]; }
 
8282
  /** Get the 'try' keyword of the function try-block. */
7650
8283
  CT_Token *TryKey () const { return (CT_Token*)sons[2]; }
 
8284
  /** Get the constructor initializer list. */
7651
8285
  CTree *CtorInit () const { return sons[3]; }
 
8286
  /** Get the K&R argument declaration sequence. */
7652
8287
  CT_ArgDeclSeq *ArgDeclSeq () const { return (CT_ArgDeclSeq*)sons[4]; }
 
8288
  /** Get the function body. */
7653
8289
  CT_CmpdStmt *Body () const { return (CT_CmpdStmt*)sons[5]; }
 
8290
  /** Get the exception handler sequence of a function try-block. */
7654
8291
  CT_HandlerSeq *Handlers () const { return (CT_HandlerSeq*)sons[6]; }
 
8292
  /** Get the semantic information about the function. */
7655
8293
  CSemObject *SemObject () const { return (CSemObject*)this; }
 
8294
  /** Set the constructor initializer list. 
 
8295
   *  \param i The initializer list. */
7656
8296
  void CtorInit (CTree *i) { AddSon (sons[3], i); }
 
8297
  /** Set the function body.
 
8298
   *  \param b The function body. */
7657
8299
  void Body (CTree *b) { AddSon (sons[5], b); }
 
8300
  /** Set the function try-block.
 
8301
   *  \param t The keyword 'try'.
 
8302
   *  \param c Optional constructor initializer list.
 
8303
   *  \param b The function body.
 
8304
   *  \param h The exception handler sequence. */
7658
8305
  void FctTryBlock (CTree *t, CTree *c, CTree *b, CTree *h) { 
7659
8306
    AddSon (sons[2], t); AddSon (sons[3], c); 
7660
8307
    AddSon (sons[5], b); AddSon (sons[6], h);
7665
8312
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
7666
8313
    CTree::ReplaceSon (sons, 7, old_son, new_son);
7667
8314
  }
 
8315
public:
 
8316
  typedef AC::TL<Puma::CTree * [7],AC::TLE > __AttrTypes;
 
8317
  const char *__attr_name (unsigned i) const {
 
8318
    static const char *names[] = { "sons" }; return names[i];
 
8319
  }
 
8320
  const void *__attr (unsigned __i) const {
 
8321
    switch (__i) { case 0: return &sons; default: return 0; }
 
8322
  }
 
8323
#line 2567 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
7668
8324
};
7669
8325
 
 
8326
/** \class CT_AsmDef CTree.h Puma/CTree.h
 
8327
 *  Tree node representing an inline assembly definition. 
 
8328
 *  Example: \code asm("movl %ecx %eax"); \endcode */
7670
8329
 
7671
 
#line 7672 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
8330
#line 8331 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
7672
8331
} // closed Puma
7673
8332
class CCExprResolve;
7674
8333
class CExprResolve;
7691
8350
class CMatchSyntax;
7692
8351
namespace Puma {
7693
8352
 
7694
 
#line 2386 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
8353
#line 2572 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
7695
8354
class CT_AsmDef : public CT_Decl {
7696
 
#line 7697 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
8355
#line 8356 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
7697
8356
  friend class ::CCExprResolve;
7698
8357
  friend class ::CExprResolve;
7699
8358
  friend class ::WinIfExists;
7714
8373
  friend class ::PragmaOnce;
7715
8374
  friend class ::CMatchSyntax;
7716
8375
 
7717
 
#line 2386 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
8376
#line 2572 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
7718
8377
 
7719
8378
  CTree *sons[5]; // asm, open, str, close, semi_colon
7720
8379
 
7721
8380
public:
 
8381
  /** Constructor.
 
8382
   *  \param a The keyword 'asm'.
 
8383
   *  \param o Left parenthesis around the assembler code string. 
 
8384
   *  \param s The assembler code.
 
8385
   *  \param c Right parenthesis around the assembler code string.
 
8386
   *  \param sc Trailing semi-colon. */
7722
8387
  CT_AsmDef (CTree *a, CTree *o, CTree *s, CTree *c, CTree *sc) {
7723
8388
    AddSon (sons[0], a); AddSon (sons[1], o); AddSon (sons[2], s); 
7724
8389
    AddSon (sons[3], c); AddSon (sons[4], sc); 
7733
8398
   *  \param n The index of the son.
7734
8399
   *  \return The n-th son or NULL. */
7735
8400
  CTree *Son (int n) const { return CTree::Son (sons, 5, n); }
 
8401
  /** Get the assembler code. */
7736
8402
  CT_String *Instructions () const { return (CT_String*)sons[2]; }
7737
8403
  /** Replace a son.
7738
8404
   *  \param old_son The son to replace.
7740
8406
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
7741
8407
    CTree::ReplaceSon (sons, 5, old_son, new_son);
7742
8408
  }
 
8409
public:
 
8410
  typedef AC::TL<Puma::CTree * [5],AC::TLE > __AttrTypes;
 
8411
  const char *__attr_name (unsigned i) const {
 
8412
    static const char *names[] = { "sons" }; return names[i];
 
8413
  }
 
8414
  const void *__attr (unsigned __i) const {
 
8415
    switch (__i) { case 0: return &sons; default: return 0; }
 
8416
  }
 
8417
#line 2604 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
7743
8418
};
7744
8419
 
 
8420
/** \class CT_Handler CTree.h Puma/CTree.h
 
8421
 *  Tree node representing an exception handler. */
7745
8422
 
7746
 
#line 7747 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
8423
#line 8424 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
7747
8424
} // closed Puma
7748
8425
class CCExprResolve;
7749
8426
class CExprResolve;
7766
8443
class CMatchSyntax;
7767
8444
namespace Puma {
7768
8445
 
7769
 
#line 2413 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
8446
#line 2608 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
7770
8447
class CT_Handler : public CT_Decl, public CSemScope {
7771
 
#line 7772 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
8448
#line 8449 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
7772
8449
  friend class ::CCExprResolve;
7773
8450
  friend class ::CExprResolve;
7774
8451
  friend class ::WinIfExists;
7789
8466
  friend class ::PragmaOnce;
7790
8467
  friend class ::CMatchSyntax;
7791
8468
 
7792
 
#line 2413 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
8469
#line 2608 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
7793
8470
 
7794
8471
  CTree *sons[3]; // catch, exception_decl, stmt
7795
8472
 
7796
8473
public:
 
8474
  /** Constructor.
 
8475
   *  \param c The keyword 'catch'.
 
8476
   *  \param e The exception object declaration.
 
8477
   *  \param s The exception handling statement. */
7797
8478
  CT_Handler (CTree *c, CTree *e, CTree *s) {
7798
8479
    AddSon (sons[0], c); AddSon (sons[1], e); AddSon (sons[2], s);
7799
8480
  }
7807
8488
   *  \param n The index of the son.
7808
8489
   *  \return The n-th son or NULL. */
7809
8490
  CTree *Son (int n) const { return CTree::Son (sons, 3, n); }
 
8491
  /** Get the exception object declaration. */
7810
8492
  CT_ArgDeclList *Arguments () const { return (CT_ArgDeclList*)sons[1]; }
 
8493
  /** Get the exception handling statement. */
7811
8494
  CT_Statement *Statement () const { return (CT_Statement*)sons[2]; }
7812
8495
  /** Replace a son.
7813
8496
   *  \param old_son The son to replace.
7815
8498
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
7816
8499
    CTree::ReplaceSon (sons, 3, old_son, new_son);
7817
8500
  }
 
8501
  /** Get the scope opened by the handler. */
7818
8502
  CSemScope *SemScope () const { return (CSemScope*)this; }
 
8503
public:
 
8504
  typedef AC::TL<Puma::CTree * [3],AC::TLE > __AttrTypes;
 
8505
  const char *__attr_name (unsigned i) const {
 
8506
    static const char *names[] = { "sons" }; return names[i];
 
8507
  }
 
8508
  const void *__attr (unsigned __i) const {
 
8509
    switch (__i) { case 0: return &sons; default: return 0; }
 
8510
  }
 
8511
#line 2641 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
7819
8512
};
7820
8513
 
 
8514
/** \class CT_LinkageSpec CTree.h Puma/CTree.h
 
8515
 *  Tree node representing a list of declaration with a specific linkage. */
7821
8516
 
7822
 
#line 7823 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
8517
#line 8518 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
7823
8518
} // closed Puma
7824
8519
class CCExprResolve;
7825
8520
class CExprResolve;
7842
8537
class CMatchSyntax;
7843
8538
namespace Puma {
7844
8539
 
7845
 
#line 2441 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
8540
#line 2645 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
7846
8541
class CT_LinkageSpec : public CT_Decl {
7847
 
#line 7848 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
8542
#line 8543 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
7848
8543
  friend class ::CCExprResolve;
7849
8544
  friend class ::CExprResolve;
7850
8545
  friend class ::WinIfExists;
7865
8560
  friend class ::PragmaOnce;
7866
8561
  friend class ::CMatchSyntax;
7867
8562
 
7868
 
#line 2441 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
8563
#line 2645 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
7869
8564
 
7870
8565
  CTree *sons[5]; // extern, str, open, decls, close
7871
8566
 
7872
8567
public:
 
8568
  /** Constructor.
 
8569
   *  \param e The keyword 'extern'.
 
8570
   *  \param s The linkage identifier, e.g. "C".
 
8571
   *  \param o Left parenthesis around the declaration list.
 
8572
   *  \param d The list of declarations.
 
8573
   *  \param c Right parenthesis around the declaration list. */
7873
8574
  CT_LinkageSpec (CTree *e, CTree *s, CTree *o, CTree *d, CTree *c) {
7874
8575
    AddSon (sons[0], e); AddSon (sons[1], s); AddSon (sons[2], o); 
7875
8576
    AddSon (sons[3], d); AddSon (sons[4], c);
7888
8589
   *  \param n The index of the son.
7889
8590
   *  \return The n-th son or NULL. */
7890
8591
  CTree *Son (int n) const { return CTree::Son (sons, 5, n); }
 
8592
  /** Get the linkage identifier. */
7891
8593
  CT_String *Linkage () const { return (CT_String*)sons[1]; }
 
8594
  /** Get the list declarations. */
7892
8595
  CTree *Decls () const { return sons[3]; }
 
8596
  /** Check if there is more than one enclosed declaration. 
 
8597
   *  In this case the node returned by Decls() is a CT_DeclList
 
8598
   *  node. */
7893
8599
  bool isList () const {
7894
8600
    return Decls ()->NodeName () == CT_DeclList::NodeId ();
7895
8601
  }
7899
8605
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
7900
8606
    CTree::ReplaceSon (sons, 5, old_son, new_son);
7901
8607
  }
 
8608
public:
 
8609
  typedef AC::TL<Puma::CTree * [5],AC::TLE > __AttrTypes;
 
8610
  const char *__attr_name (unsigned i) const {
 
8611
    static const char *names[] = { "sons" }; return names[i];
 
8612
  }
 
8613
  const void *__attr (unsigned __i) const {
 
8614
    switch (__i) { case 0: return &sons; default: return 0; }
 
8615
  }
 
8616
#line 2689 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
7902
8617
};
7903
8618
 
 
8619
/** \class CT_ArgDecl CTree.h Puma/CTree.h
 
8620
 *  Tree node representing the declaration of a function parameter. */
7904
8621
 
7905
 
#line 7906 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
8622
#line 8623 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
7906
8623
} // closed Puma
7907
8624
class CCExprResolve;
7908
8625
class CExprResolve;
7925
8642
class CMatchSyntax;
7926
8643
namespace Puma {
7927
8644
 
7928
 
#line 2476 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
8645
#line 2693 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
7929
8646
class CT_ArgDecl : public CT_Decl, public CSemObject {
7930
 
#line 7931 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
8647
#line 8648 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
7931
8648
  friend class ::CCExprResolve;
7932
8649
  friend class ::CExprResolve;
7933
8650
  friend class ::WinIfExists;
7948
8665
  friend class ::PragmaOnce;
7949
8666
  friend class ::CMatchSyntax;
7950
8667
 
7951
 
#line 2476 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
8668
#line 2693 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
7952
8669
 
7953
8670
  CTree *sons[4]; // declspecs, declarator, init, ellipsis
7954
8671
 
7955
8672
public:
 
8673
  /** Constructor.
 
8674
   *  \param dsl The declaration specifier sequence.
 
8675
   *  \param d The parameter declarator. */
7956
8676
  CT_ArgDecl (CTree *dsl, CTree *d) {
7957
8677
    AddSon (sons[0], dsl); AddSon (sons[1], d); 
7958
8678
    AddSon (sons[2], 0); AddSon (sons[3], 0); 
7959
8679
  }
 
8680
  /** Constructor.
 
8681
   *  \param ellipsis The variable argument list operator "...". */
7960
8682
  CT_ArgDecl (CTree *ellipsis) {
7961
8683
    AddSon (sons[0], 0); AddSon (sons[1], 0); 
7962
8684
    AddSon (sons[2], 0); AddSon (sons[3], ellipsis); 
7971
8693
   *  \param n The index of the son.
7972
8694
   *  \return The n-th son or NULL. */
7973
8695
  CTree *Son (int n) const { return CTree::Son (sons, 4, n); }
 
8696
  /** Get the declaration specifier sequence. */
7974
8697
  CT_DeclSpecSeq *DeclSpecs () const { return (CT_DeclSpecSeq*)sons[0]; }
 
8698
  /** Get the function parameter declarator. */
7975
8699
  CTree *Declarator () const { return sons[1]; }
 
8700
  /** Get the default argument. */
7976
8701
  CT_ExprList *Initializer () const { return (CT_ExprList*)sons[2]; }
 
8702
  /** Get the variable argument list operator. */
7977
8703
  CT_Token *Ellipsis () const { return (CT_Token*)sons[3]; }
 
8704
  /** Get the semantic information about the function parameter. */
7978
8705
  CSemObject *SemObject () const { return (CSemObject*)this; }
 
8706
  /** Set the default argument. */
7979
8707
  void Initializer (CTree *i) { AddSon (sons[2], i); }
7980
8708
  /** Replace a son.
7981
8709
   *  \param old_son The son to replace.
7983
8711
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
7984
8712
    CTree::ReplaceSon (sons, 4, old_son, new_son);
7985
8713
  }
 
8714
public:
 
8715
  typedef AC::TL<Puma::CTree * [4],AC::TLE > __AttrTypes;
 
8716
  const char *__attr_name (unsigned i) const {
 
8717
    static const char *names[] = { "sons" }; return names[i];
 
8718
  }
 
8719
  const void *__attr (unsigned __i) const {
 
8720
    switch (__i) { case 0: return &sons; default: return 0; }
 
8721
  }
 
8722
#line 2738 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
7986
8723
};
7987
8724
 
 
8725
/** \class CT_ArgDeclList CTree.h Puma/CTree.h
 
8726
 *  Tree node representing a function parameter list. */
7988
8727
 
7989
 
#line 7990 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
8728
#line 8729 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
7990
8729
} // closed Puma
7991
8730
class CCExprResolve;
7992
8731
class CExprResolve;
8009
8748
class CMatchSyntax;
8010
8749
namespace Puma {
8011
8750
 
8012
 
#line 2512 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
8751
#line 2742 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
8013
8752
class CT_ArgDeclList : public CT_DeclList, public CSemScope {
8014
 
#line 8015 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
8753
#line 8754 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
8015
8754
  friend class ::CCExprResolve;
8016
8755
  friend class ::CExprResolve;
8017
8756
  friend class ::WinIfExists;
8032
8771
  friend class ::PragmaOnce;
8033
8772
  friend class ::CMatchSyntax;
8034
8773
 
8035
 
#line 2512 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
8774
#line 2742 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
8036
8775
 
8037
8776
public:
 
8777
  /** Constructor.
 
8778
   *  \param size The initial size of the list.
 
8779
   *  \param props The list properties. */
8038
8780
  CT_ArgDeclList (int size = 2, int props = SEPARATORS | OPEN_CLOSE) : 
8039
8781
   CT_DeclList (size, 2) { AddProperties (props); }
8040
8782
  /** Get the identifier for this node type. Can be compared with NodeName(). */
8041
8783
  static const char *NodeId ();
8042
8784
  /** Get the name of the node. Can be compared with NodeId(). */
8043
8785
  const char *NodeName () const { return NodeId (); }
 
8786
  /** Get the scope opened by the parameter list. */
8044
8787
  CSemScope *SemScope () const { return (CSemScope*)this; }
 
8788
public:
 
8789
  typedef AC::TLE __AttrTypes;
 
8790
  const char *__attr_name (unsigned i) const { return 0; }
 
8791
  const void *__attr (unsigned __i) const { return 0; }
 
8792
#line 2755 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
8045
8793
};
8046
8794
 
 
8795
/** \class CT_ArgDeclSeq CTree.h Puma/CTree.h
 
8796
 *  Tree node representing a K&R function parameter declarations list. */
8047
8797
 
8048
 
#line 8049 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
8798
#line 8799 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
8049
8799
} // closed Puma
8050
8800
class CCExprResolve;
8051
8801
class CExprResolve;
8068
8818
class CMatchSyntax;
8069
8819
namespace Puma {
8070
8820
 
8071
 
#line 2523 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
8821
#line 2759 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
8072
8822
class CT_ArgDeclSeq : public CT_DeclList, public CSemScope {
8073
 
#line 8074 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
8823
#line 8824 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
8074
8824
  friend class ::CCExprResolve;
8075
8825
  friend class ::CExprResolve;
8076
8826
  friend class ::WinIfExists;
8091
8841
  friend class ::PragmaOnce;
8092
8842
  friend class ::CMatchSyntax;
8093
8843
 
8094
 
#line 2523 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
8844
#line 2759 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
8095
8845
 
8096
8846
public:
 
8847
  /** Constructor.
 
8848
   *  \param size The initial size of the list. */
8097
8849
  CT_ArgDeclSeq (int size = 2) : CT_DeclList (size, 2) {}
8098
8850
  /** Get the identifier for this node type. Can be compared with NodeName(). */
8099
8851
  static const char *NodeId ();
8100
8852
  /** Get the name of the node. Can be compared with NodeId(). */
8101
8853
  const char *NodeName () const { return NodeId (); }
 
8854
  /** Get the scope opened by the parameter declarations list. */
8102
8855
  CSemScope *SemScope () const { return (CSemScope*)this; }
 
8856
public:
 
8857
  typedef AC::TLE __AttrTypes;
 
8858
  const char *__attr_name (unsigned i) const { return 0; }
 
8859
  const void *__attr (unsigned __i) const { return 0; }
 
8860
#line 2770 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
8103
8861
};
8104
8862
 
 
8863
/** \class CT_ArgNameList CTree.h Puma/CTree.h
 
8864
 *  Tree node representing a K&R function parameter name list. */
8105
8865
 
8106
 
#line 8107 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
8866
#line 8867 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
8107
8867
} // closed Puma
8108
8868
class CCExprResolve;
8109
8869
class CExprResolve;
8126
8886
class CMatchSyntax;
8127
8887
namespace Puma {
8128
8888
 
8129
 
#line 2533 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
8889
#line 2774 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
8130
8890
class CT_ArgNameList : public CT_ArgDeclList {
8131
 
#line 8132 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
8891
#line 8892 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
8132
8892
  friend class ::CCExprResolve;
8133
8893
  friend class ::CExprResolve;
8134
8894
  friend class ::WinIfExists;
8149
8909
  friend class ::PragmaOnce;
8150
8910
  friend class ::CMatchSyntax;
8151
8911
 
8152
 
#line 2533 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
8912
#line 2774 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
8153
8913
 
8154
8914
public:
 
8915
  /** Constructor. */
8155
8916
  CT_ArgNameList () : CT_ArgDeclList () {}
8156
8917
  /** Get the identifier for this node type. Can be compared with NodeName(). */
8157
8918
  static const char *NodeId ();
8158
8919
  /** Get the name of the node. Can be compared with NodeId(). */
8159
8920
  const char *NodeName () const { return NodeId (); }
 
8921
public:
 
8922
  typedef AC::TLE __AttrTypes;
 
8923
  const char *__attr_name (unsigned i) const { return 0; }
 
8924
  const void *__attr (unsigned __i) const { return 0; }
 
8925
#line 2782 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
8160
8926
};
8161
8927
 
 
8928
/** \class CT_NamespaceDef CTree.h Puma/CTree.h
 
8929
 *  Tree node representing a namespace definition.
 
8930
 *  Example: \code namespace a {} \endcode */
8162
8931
 
8163
 
#line 8164 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
8932
#line 8933 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
8164
8933
} // closed Puma
8165
8934
class CCExprResolve;
8166
8935
class CExprResolve;
8183
8952
class CMatchSyntax;
8184
8953
namespace Puma {
8185
8954
 
8186
 
#line 2542 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
8955
#line 2787 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
8187
8956
class CT_NamespaceDef : public CT_Decl, public CSemObject {
8188
 
#line 8189 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
8957
#line 8958 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
8189
8958
  friend class ::CCExprResolve;
8190
8959
  friend class ::CExprResolve;
8191
8960
  friend class ::WinIfExists;
8206
8975
  friend class ::PragmaOnce;
8207
8976
  friend class ::CMatchSyntax;
8208
8977
 
8209
 
#line 2542 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
8978
#line 2787 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
8210
8979
 
8211
8980
  CTree *sons[3]; // ns, name, members
8212
8981
 
8213
8982
public:
 
8983
  /** Constructor.
 
8984
   *  \param n The keyword 'namespace'.
 
8985
   *  \param nm The name of the namespace. */
8214
8986
  CT_NamespaceDef (CTree *n, CTree *nm) {
8215
8987
    AddSon (sons[0], n); AddSon (sons[1], nm); AddSon (sons[2], 0); 
8216
8988
  }
 
8989
  /** Constructor.
 
8990
   *  \param n The keyword 'namespace'.
 
8991
   *  \param nm The name of the namespace. 
 
8992
   *  \param m The namespace member declarations list. */
8217
8993
  CT_NamespaceDef (CTree *n, CTree *nm, CTree *m) {
8218
8994
    AddSon (sons[0], n); AddSon (sons[1], nm); AddSon (sons[2], m); 
8219
8995
  }
8227
9003
   *  \param n The index of the son.
8228
9004
   *  \return The n-th son or NULL. */
8229
9005
  CTree *Son (int n) const { return CTree::Son (sons, 3, n); }
 
9006
  /** Set the namespace member declarations list. */
8230
9007
  void Members (CTree *m) { AddSon (sons[2], m); }
 
9008
  /** Get the namespace member declarations list. */
8231
9009
  CT_MembList *Members () const { return (CT_MembList*)sons[2]; }
 
9010
  /** Get the name of the namespace. */
8232
9011
  CT_SimpleName *Name () const { return (CT_SimpleName*)sons[1]; }
 
9012
  /** Get the semantic information about the namespace. */
8233
9013
  CSemObject *SemObject () const { return (CSemObject*)this; }
8234
9014
  /** Replace a son.
8235
9015
   *  \param old_son The son to replace.
8237
9017
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
8238
9018
    CTree::ReplaceSon (sons, 3, old_son, new_son);
8239
9019
  }
 
9020
public:
 
9021
  typedef AC::TL<Puma::CTree * [3],AC::TLE > __AttrTypes;
 
9022
  const char *__attr_name (unsigned i) const {
 
9023
    static const char *names[] = { "sons" }; return names[i];
 
9024
  }
 
9025
  const void *__attr (unsigned __i) const {
 
9026
    switch (__i) { case 0: return &sons; default: return 0; }
 
9027
  }
 
9028
#line 2828 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
8240
9029
};
8241
9030
 
 
9031
/** \class CT_NamespaceAliasDef CTree.h Puma/CTree.h
 
9032
 *  Tree node representing a namespace alias definition.
 
9033
 *  Example: \code namespace b = a; \endcode */
8242
9034
 
8243
 
#line 8244 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
9035
#line 9036 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
8244
9036
} // closed Puma
8245
9037
class CCExprResolve;
8246
9038
class CExprResolve;
8263
9055
class CMatchSyntax;
8264
9056
namespace Puma {
8265
9057
 
8266
 
#line 2574 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
9058
#line 2833 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
8267
9059
class CT_NamespaceAliasDef : public CT_Decl, public CSemObject {
8268
 
#line 8269 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
9060
#line 9061 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
8269
9061
  friend class ::CCExprResolve;
8270
9062
  friend class ::CExprResolve;
8271
9063
  friend class ::WinIfExists;
8286
9078
  friend class ::PragmaOnce;
8287
9079
  friend class ::CMatchSyntax;
8288
9080
 
8289
 
#line 2574 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
9081
#line 2833 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
8290
9082
 
8291
9083
  CTree *sons[5]; // ns, alias, assign, name, semi_colon
8292
9084
 
8293
9085
public:
 
9086
  /** Constructor.
 
9087
   *  \param n The keyword 'namespace'.
 
9088
   *  \param a The name of the namespace alias.
 
9089
   *  \param as The assignment operator '='.
 
9090
   *  \param nm The name of the original namespace.
 
9091
   *  \param s The trailing semi-colon. */
8294
9092
  CT_NamespaceAliasDef (CTree *n, CTree *a, CTree *as, CTree *nm, CTree *s) {
8295
9093
    AddSon (sons[0], n); AddSon (sons[1], a); AddSon (sons[2], as); 
8296
9094
    AddSon (sons[3], nm); AddSon (sons[4], s); 
8305
9103
   *  \param n The index of the son.
8306
9104
   *  \return The n-th son or NULL. */
8307
9105
  CTree *Son (int n) const { return CTree::Son (sons, 5, n); }
 
9106
  /** Get the name of the original namespace. */
8308
9107
  CT_SimpleName *Name () const { return (CT_SimpleName*)sons[3]; }
 
9108
  /** Get the name of the namespace alias. */
8309
9109
  CT_SimpleName *Alias () const { return (CT_SimpleName*)sons[1]; }
 
9110
  /** Get the semantic information about the namespace alias. */
8310
9111
  CSemObject *SemObject () const { return (CSemObject*)this; }
8311
9112
  /** Replace a son.
8312
9113
   *  \param old_son The son to replace.
8314
9115
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
8315
9116
    CTree::ReplaceSon (sons, 5, old_son, new_son);
8316
9117
  }
 
9118
public:
 
9119
  typedef AC::TL<Puma::CTree * [5],AC::TLE > __AttrTypes;
 
9120
  const char *__attr_name (unsigned i) const {
 
9121
    static const char *names[] = { "sons" }; return names[i];
 
9122
  }
 
9123
  const void *__attr (unsigned __i) const {
 
9124
    switch (__i) { case 0: return &sons; default: return 0; }
 
9125
  }
 
9126
#line 2869 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
8317
9127
};
8318
9128
 
 
9129
/** \class CT_UsingDirective CTree.h Puma/CTree.h
 
9130
 *  Tree node representing a namespace using directive.
 
9131
 *  Example: \code using namespace std; \endcode */
8319
9132
 
8320
 
#line 8321 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
9133
#line 9134 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
8321
9134
} // closed Puma
8322
9135
class CCExprResolve;
8323
9136
class CExprResolve;
8340
9153
class CMatchSyntax;
8341
9154
namespace Puma {
8342
9155
 
8343
 
#line 2603 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
9156
#line 2874 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
8344
9157
class CT_UsingDirective : public CT_Decl {
8345
 
#line 8346 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
9158
#line 9159 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
8346
9159
  friend class ::CCExprResolve;
8347
9160
  friend class ::CExprResolve;
8348
9161
  friend class ::WinIfExists;
8363
9176
  friend class ::PragmaOnce;
8364
9177
  friend class ::CMatchSyntax;
8365
9178
 
8366
 
#line 2603 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
9179
#line 2874 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
8367
9180
 
8368
9181
  CTree *sons[4]; // using, ns, name, semi_colon
8369
9182
 
8370
9183
public:
 
9184
  /** Constructor. 
 
9185
   *  \param u The keyword 'using'.
 
9186
   *  \param ns The keyword 'namespace'. 
 
9187
   *  \param n The name of the namespace.
 
9188
   *  \param s The trailing semi-colon. */
8371
9189
  CT_UsingDirective (CTree *u, CTree *ns, CTree *n, CTree *s) {
8372
9190
    AddSon (sons[0], u); AddSon (sons[1], ns); AddSon (sons[2], n); 
8373
9191
    AddSon (sons[3], s); 
8382
9200
   *  \param n The index of the son.
8383
9201
   *  \return The n-th son or NULL. */
8384
9202
  CTree *Son (int n) const { return CTree::Son (sons, 4, n); }
 
9203
  /** Get the name of the namespace. */
8385
9204
  CT_SimpleName *Name () const { return (CT_SimpleName*)sons[2]; }
8386
9205
  /** Replace a son.
8387
9206
   *  \param old_son The son to replace.
8389
9208
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
8390
9209
    CTree::ReplaceSon (sons, 4, old_son, new_son);
8391
9210
  }
 
9211
public:
 
9212
  typedef AC::TL<Puma::CTree * [4],AC::TLE > __AttrTypes;
 
9213
  const char *__attr_name (unsigned i) const {
 
9214
    static const char *names[] = { "sons" }; return names[i];
 
9215
  }
 
9216
  const void *__attr (unsigned __i) const {
 
9217
    switch (__i) { case 0: return &sons; default: return 0; }
 
9218
  }
 
9219
#line 2905 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
8392
9220
};
8393
9221
 
8394
9222
/*****************************************************************************/
8397
9225
/*                                                                           */
8398
9226
/*****************************************************************************/
8399
9227
 
 
9228
/** \class CT_Declarator CTree.h Puma/CTree.h
 
9229
 *  Base class for all tree nodes representing declarators. */
8400
9230
 
8401
 
#line 8402 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
9231
#line 9232 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
8402
9232
} // closed Puma
8403
9233
class CCExprResolve;
8404
9234
class CExprResolve;
8421
9251
class CMatchSyntax;
8422
9252
namespace Puma {
8423
9253
 
8424
 
#line 2636 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
9254
#line 2915 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
8425
9255
class CT_Declarator : public CTree {
8426
 
#line 8427 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
9256
#line 9257 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
8427
9257
  friend class ::CCExprResolve;
8428
9258
  friend class ::CExprResolve;
8429
9259
  friend class ::WinIfExists;
8444
9274
  friend class ::PragmaOnce;
8445
9275
  friend class ::CMatchSyntax;
8446
9276
 
8447
 
#line 2636 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
9277
#line 2915 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
8448
9278
 
8449
9279
protected:
 
9280
  /** Constructor. */
8450
9281
  CT_Declarator () {}
8451
9282
 
8452
9283
public:
 
9284
  /** Get the declarator. */
8453
9285
  virtual CTree *Declarator () const = 0;
8454
 
  //classification function
 
9286
  /** Get this. */
8455
9287
  virtual CT_Declarator *IsDeclarator () { return this; }
8456
 
  // locate the name node
 
9288
  /** Get the declared name. */
8457
9289
  CT_SimpleName *Name ();
 
9290
  /** Get the declared name and set last_declarator to 
 
9291
   *  the declarator containing the name. 
 
9292
   *  \param last_declarator To be set to the declarator containing the name. */
8458
9293
  CT_SimpleName *Name (CT_Declarator *&last_declarator);
 
9294
public:
 
9295
  typedef AC::TLE __AttrTypes;
 
9296
  const char *__attr_name (unsigned i) const { return 0; }
 
9297
  const void *__attr (unsigned __i) const { return 0; }
 
9298
#line 2931 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
8459
9299
};
8460
9300
 
 
9301
/** \class CT_InitDeclarator CTree.h Puma/CTree.h
 
9302
 *  Tree node representing a declarator with initializer.
 
9303
 *  Example: \code int *i = 0; \endcode */
8461
9304
 
8462
 
#line 8463 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
9305
#line 9306 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
8463
9306
} // closed Puma
8464
9307
class CCExprResolve;
8465
9308
class CExprResolve;
8482
9325
class CMatchSyntax;
8483
9326
namespace Puma {
8484
9327
 
8485
 
#line 2649 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
9328
#line 2936 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
8486
9329
class CT_InitDeclarator : public CT_Declarator, public CSemObject {
8487
 
#line 8488 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
9330
#line 9331 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
8488
9331
  friend class ::CCExprResolve;
8489
9332
  friend class ::CExprResolve;
8490
9333
  friend class ::WinIfExists;
8505
9348
  friend class ::PragmaOnce;
8506
9349
  friend class ::CMatchSyntax;
8507
9350
 
8508
 
#line 2649 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
9351
#line 2936 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
8509
9352
 
8510
9353
  CTree *sons[3]; // declarator, ext, init
8511
9354
  CTree *obj_decl;
8512
9355
 
8513
9356
public:
 
9357
  /** Constructor.
 
9358
   *  \param d The declarator.
 
9359
   *  \param e Optional extension list.
 
9360
   *  \param i The initializer. */
8514
9361
  CT_InitDeclarator (CTree *d, CTree *e = 0, CTree *i = 0) {
8515
9362
    AddSon (sons[0], d); AddSon (sons[1], e); AddSon (sons[2], i);
8516
9363
    AddSon (obj_decl, 0); 
8525
9372
   *  \param n The index of the son.
8526
9373
   *  \return The n-th son or NULL. */
8527
9374
  CTree *Son (int n) const { return CTree::Son (sons, 3, n); }
 
9375
  /** Get the declarator. */
8528
9376
  CTree *Declarator () const { return sons[0]; }
 
9377
  /** Get the extensions list. */
8529
9378
  CTree *Extension () const { return sons[1]; }
 
9379
  /** Get the initializer. */
8530
9380
  CT_ExprList *Initializer () const { return (CT_ExprList*)sons[2]; }
 
9381
  /** Get the semantic information about the declared object. */
8531
9382
  CSemObject *SemObject () const { return (CSemObject*)this; }
 
9383
  /** Get the object declaration node containing the declarator. */
8532
9384
  CT_ObjDecl *ObjDecl () const { return (CT_ObjDecl*)obj_decl; }
 
9385
  /** Set the initializer. */
8533
9386
  void Initializer (CTree* i) { AddSon (sons[2], i); }
8534
 
  void Extension (CTree* i) { AddSon (sons[1], i); }
 
9387
  /** Set the extensions list. */
 
9388
  void Extension (CTree* e) { AddSon (sons[1], e); }
 
9389
  /** Set the object declaration node containing the declarator. 
 
9390
   *  \param od The object declaration node. */
8535
9391
  void ObjDecl (CTree *od) { AddSon (obj_decl, od); }
8536
9392
  /** Replace a son.
8537
9393
   *  \param old_son The son to replace.
8539
9395
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
8540
9396
    CTree::ReplaceSon (sons, 3, old_son, new_son);
8541
9397
  }
 
9398
public:
 
9399
  typedef AC::TL<Puma::CTree * [3],AC::TL<Puma::CTree *,AC::TLE > > __AttrTypes;
 
9400
  const char *__attr_name (unsigned i) const {
 
9401
    static const char *names[] = { "sons", "obj_decl" }; return names[i];
 
9402
  }
 
9403
  const void *__attr (unsigned __i) const {
 
9404
    switch (__i) { case 0: return &sons; case 1: return &obj_decl; default: return 0; }
 
9405
  }
 
9406
#line 2982 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
8542
9407
};
8543
9408
 
 
9409
/** \class CT_BracedDeclarator CTree.h Puma/CTree.h
 
9410
 *  Tree node representing a braced declarator.
 
9411
 *  Example: \code int (i); \endcode */
8544
9412
 
8545
 
#line 8546 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
9413
#line 9414 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
8546
9414
} // closed Puma
8547
9415
class CCExprResolve;
8548
9416
class CExprResolve;
8565
9433
class CMatchSyntax;
8566
9434
namespace Puma {
8567
9435
 
8568
 
#line 2684 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
9436
#line 2987 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
8569
9437
class CT_BracedDeclarator : public CT_Declarator {
8570
 
#line 8571 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
9438
#line 9439 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
8571
9439
  friend class ::CCExprResolve;
8572
9440
  friend class ::CExprResolve;
8573
9441
  friend class ::WinIfExists;
8588
9456
  friend class ::PragmaOnce;
8589
9457
  friend class ::CMatchSyntax;
8590
9458
 
8591
 
#line 2684 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
9459
#line 2987 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
8592
9460
 
8593
9461
  CTree *sons[4]; // open, win_specs, declarator, close
8594
9462
 
8595
9463
public:
 
9464
  /** Constructor.
 
9465
   *  \param o Left parenthesis around the declarator.
 
9466
   *  \param d The declarator.
 
9467
   *  \param c Right parenthesis around the declarator. */
8596
9468
  CT_BracedDeclarator (CTree *o, CTree *d, CTree *c) {
8597
9469
    AddSon (sons[0], o); AddSon (sons[1], 0); 
8598
9470
    AddSon (sons[2], d); AddSon (sons[3], c); 
8599
9471
  }
 
9472
  /** Constructor.
 
9473
   *  \param o Left parenthesis around the declarator.
 
9474
   *  \param ws Declaration specifiers.
 
9475
   *  \param d The declarator.
 
9476
   *  \param c Right parenthesis around the declarator. */
8600
9477
  CT_BracedDeclarator (CTree *o, CTree *ws, CTree *d, CTree *c) {
8601
9478
    AddSon (sons[0], o); AddSon (sons[1], ws); 
8602
9479
    AddSon (sons[2], d); AddSon (sons[3], c); 
8611
9488
   *  \param n The index of the son.
8612
9489
   *  \return The n-th son or NULL. */
8613
9490
  CTree *Son (int n) const { return CTree::Son (sons, 4, n); }
 
9491
  /** Get the declarator. */
8614
9492
  CTree *Declarator () const { return sons[2]; }
8615
9493
  /** Replace a son.
8616
9494
   *  \param old_son The son to replace.
8618
9496
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
8619
9497
    CTree::ReplaceSon (sons, 4, old_son, new_son);
8620
9498
  }
 
9499
public:
 
9500
  typedef AC::TL<Puma::CTree * [4],AC::TLE > __AttrTypes;
 
9501
  const char *__attr_name (unsigned i) const {
 
9502
    static const char *names[] = { "sons" }; return names[i];
 
9503
  }
 
9504
  const void *__attr (unsigned __i) const {
 
9505
    switch (__i) { case 0: return &sons; default: return 0; }
 
9506
  }
 
9507
#line 3026 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
8621
9508
};
8622
9509
 
 
9510
/** \class CT_ArrayDelimiter CTree.h Puma/CTree.h
 
9511
 *  Tree node representing an array delimiter.
 
9512
 *  Example: \code [10] \endcode or \code [*] \endcode */
8623
9513
 
8624
 
#line 8625 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
9514
#line 9515 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
8625
9515
} // closed Puma
8626
9516
class CCExprResolve;
8627
9517
class CExprResolve;
8644
9534
class CMatchSyntax;
8645
9535
namespace Puma {
8646
9536
 
8647
 
#line 2715 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
9537
#line 3031 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
8648
9538
class CT_ArrayDelimiter : public CTree {
8649
 
#line 8650 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
9539
#line 9540 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
8650
9540
  friend class ::CCExprResolve;
8651
9541
  friend class ::CExprResolve;
8652
9542
  friend class ::WinIfExists;
8667
9557
  friend class ::PragmaOnce;
8668
9558
  friend class ::CMatchSyntax;
8669
9559
 
8670
 
#line 2715 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
9560
#line 3031 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
8671
9561
 
8672
9562
  CTree *sons[4]; // star, static, quals, expr
8673
9563
  bool pos0;
8674
9564
 
8675
9565
public:
 
9566
  /** Constructor.
 
9567
   *  \param m The operator '*'.
 
9568
   *  \param s The keyword 'static'.
 
9569
   *  \param q The const/volatile qualifier sequence. 
 
9570
   *  \param e The array size expression. 
 
9571
   *  \param p Position of keyword 'static', true means before the
 
9572
   *           qualifier sequence and false means behind it. */
8676
9573
  CT_ArrayDelimiter (CTree *m, CTree *s, CTree *q, CTree *e, bool p = false) {
8677
9574
    AddSon (sons[0], m); AddSon (sons[1], s); 
8678
9575
    AddSon (sons[2], q); AddSon (sons[3], e); pos0 = p;
8687
9584
   *  \param n The index of the son.
8688
9585
   *  \return The n-th son or NULL. */
8689
9586
  CTree *Son (int n) const { return CTree::Son (sons, 4, n); }
 
9587
  /** Get the operator '*'. */
8690
9588
  CT_Token *Star () const { return (CT_Token*)sons[0]; }
 
9589
  /** Get the keyword 'static'. */
8691
9590
  CT_Token *Static () const { return (CT_Token*)sons[pos0?2:1]; }
 
9591
  /** Get the const/volatile qualifier sequence. */
8692
9592
  CT_DeclSpecSeq *Qualifier () const { return (CT_DeclSpecSeq*)sons[pos0?1:2]; }
 
9593
  /** Get the array size expression. */
8693
9594
  CTree *Expr () const { return sons[3]; }
8694
9595
  /** Replace a son.
8695
9596
   *  \param old_son The son to replace.
8697
9598
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
8698
9599
    CTree::ReplaceSon (sons, 4, old_son, new_son);
8699
9600
  }
 
9601
public:
 
9602
  typedef AC::TL<Puma::CTree * [4],AC::TL<bool,AC::TLE > > __AttrTypes;
 
9603
  const char *__attr_name (unsigned i) const {
 
9604
    static const char *names[] = { "sons", "pos0" }; return names[i];
 
9605
  }
 
9606
  const void *__attr (unsigned __i) const {
 
9607
    switch (__i) { case 0: return &sons; case 1: return &pos0; default: return 0; }
 
9608
  }
 
9609
#line 3071 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
8700
9610
};
8701
9611
 
 
9612
/** \class CT_ArrayDeclarator CTree.h Puma/CTree.h
 
9613
 *  Tree node representing an array declarator.
 
9614
 *  Example: \code a[10] \endcode */
8702
9615
 
8703
 
#line 8704 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
9616
#line 9617 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
8704
9617
} // closed Puma
8705
9618
class CCExprResolve;
8706
9619
class CExprResolve;
8723
9636
class CMatchSyntax;
8724
9637
namespace Puma {
8725
9638
 
8726
 
#line 2746 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
9639
#line 3076 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
8727
9640
class CT_ArrayDeclarator : public CT_Declarator, public CSemValue {
8728
 
#line 8729 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
9641
#line 9642 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
8729
9642
  friend class ::CCExprResolve;
8730
9643
  friend class ::CExprResolve;
8731
9644
  friend class ::WinIfExists;
8746
9659
  friend class ::PragmaOnce;
8747
9660
  friend class ::CMatchSyntax;
8748
9661
 
8749
 
#line 2746 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
9662
#line 3076 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
8750
9663
 
8751
9664
  CTree *sons[4]; // declarator, open, delim, close
8752
9665
 
8753
9666
public:
 
9667
  /** Constructor.
 
9668
   *  \param d The array declarator.
 
9669
   *  \param o Left bracket around the delimiter.
 
9670
   *  \param ad The array delimiter.
 
9671
   *  \param c Right bracket around the delimiter. */
8754
9672
  CT_ArrayDeclarator (CTree *d, CTree *o, CTree *ad, CTree *c) {
8755
9673
    AddSon (sons[0], d); AddSon (sons[1], o); 
8756
9674
    AddSon (sons[2], ad); AddSon (sons[3], c); 
8765
9683
   *  \param n The index of the son.
8766
9684
   *  \return The n-th son or NULL. */
8767
9685
  CTree *Son (int n) const { return CTree::Son (sons, 4, n); }
 
9686
  /** Get the array declarator. */
8768
9687
  CTree *Declarator () const { return sons[0]; }
 
9688
  /** Get the array delimiter. */
8769
9689
  CT_ArrayDelimiter *Delimiter () const 
8770
9690
   { return (CT_ArrayDelimiter*)sons[2]; }
8771
9691
  /** Replace a son.
8774
9694
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
8775
9695
    CTree::ReplaceSon (sons, 4, old_son, new_son);
8776
9696
  }
 
9697
  /** Get the semantic information for the type of the declared array. */
8777
9698
  CTypeInfo *Type () const { return type; }
 
9699
  /** Get the semantic information for the value of the declared array. */
8778
9700
  CExprValue *Value () const { return value; }
 
9701
  /** Get the semantic information object. */
8779
9702
  CSemValue *SemValue () const { return (CSemValue*)this; }
 
9703
public:
 
9704
  typedef AC::TL<Puma::CTree * [4],AC::TLE > __AttrTypes;
 
9705
  const char *__attr_name (unsigned i) const {
 
9706
    static const char *names[] = { "sons" }; return names[i];
 
9707
  }
 
9708
  const void *__attr (unsigned __i) const {
 
9709
    switch (__i) { case 0: return &sons; default: return 0; }
 
9710
  }
 
9711
#line 3116 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
8780
9712
};
8781
9713
 
 
9714
/** \class CT_FctDeclarator CTree.h Puma/CTree.h
 
9715
 *  Tree node representing a function declarator.
 
9716
 *  Example: \code f(int a) const \endcode */
8782
9717
 
8783
 
#line 8784 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
9718
#line 9719 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
8784
9719
} // closed Puma
8785
9720
class CCExprResolve;
8786
9721
class CExprResolve;
8803
9738
class CMatchSyntax;
8804
9739
namespace Puma {
8805
9740
 
8806
 
#line 2778 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
9741
#line 3121 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
8807
9742
class CT_FctDeclarator : public CT_Declarator {
8808
 
#line 8809 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
9743
#line 9744 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
8809
9744
  friend class ::CCExprResolve;
8810
9745
  friend class ::CExprResolve;
8811
9746
  friend class ::WinIfExists;
8826
9761
  friend class ::PragmaOnce;
8827
9762
  friend class ::CMatchSyntax;
8828
9763
 
8829
 
#line 2778 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
9764
#line 3121 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
8830
9765
 
8831
9766
  CTree *sons[4]; // declarator, args, cv_quals, exception_specs
8832
9767
 
8833
9768
public:
 
9769
  /** Constructor.
 
9770
   *  \param d The function declarator.
 
9771
   *  \param args The function parameter list.
 
9772
   *  \param cv The function qualifiers.
 
9773
   *  \param es The exception specifier. */
8834
9774
  CT_FctDeclarator (CTree *d, CTree *args, CTree *cv, CTree *es) {
8835
9775
    AddSon (sons[0], d); AddSon (sons[1], args); 
8836
9776
    AddSon (sons[2], cv); AddSon (sons[3], es); 
8845
9785
   *  \param n The index of the son.
8846
9786
   *  \return The n-th son or NULL. */
8847
9787
  CTree *Son (int n) const { return CTree::Son (sons, 4, n); }
 
9788
  /** Get the function declarator. */
8848
9789
  CTree *Declarator () const { return sons[0]; }
 
9790
  /** Get the function parameter list. */
8849
9791
  CT_ArgDeclList *Arguments () const { return (CT_ArgDeclList*)sons[1]; }
 
9792
  /** Get the function qualifier list. */
8850
9793
  CT_DeclSpecSeq *Qualifier () const { return (CT_DeclSpecSeq*)sons[2]; }
 
9794
  /** Get the exception specifier. */
8851
9795
  CT_ExceptionSpec *ExceptionSpecs () const { return (CT_ExceptionSpec*)sons[3]; }
8852
9796
  /** Replace a son.
8853
9797
   *  \param old_son The son to replace.
8855
9799
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
8856
9800
    CTree::ReplaceSon (sons, 4, old_son, new_son);
8857
9801
  }
 
9802
public:
 
9803
  typedef AC::TL<Puma::CTree * [4],AC::TLE > __AttrTypes;
 
9804
  const char *__attr_name (unsigned i) const {
 
9805
    static const char *names[] = { "sons" }; return names[i];
 
9806
  }
 
9807
  const void *__attr (unsigned __i) const {
 
9808
    switch (__i) { case 0: return &sons; default: return 0; }
 
9809
  }
 
9810
#line 3158 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
8858
9811
};
8859
9812
 
 
9813
/** \class CT_RefDeclarator CTree.h Puma/CTree.h
 
9814
 *  Tree node representing a reference declarator.
 
9815
 *  Example: \code &a \endcode */
8860
9816
 
8861
 
#line 8862 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
9817
#line 9818 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
8862
9818
} // closed Puma
8863
9819
class CCExprResolve;
8864
9820
class CExprResolve;
8881
9837
class CMatchSyntax;
8882
9838
namespace Puma {
8883
9839
 
8884
 
#line 2808 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
9840
#line 3163 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
8885
9841
class CT_RefDeclarator : public CT_Declarator {
8886
 
#line 8887 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
9842
#line 9843 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
8887
9843
  friend class ::CCExprResolve;
8888
9844
  friend class ::CExprResolve;
8889
9845
  friend class ::WinIfExists;
8904
9860
  friend class ::PragmaOnce;
8905
9861
  friend class ::CMatchSyntax;
8906
9862
 
8907
 
#line 2808 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
9863
#line 3163 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
8908
9864
 
8909
9865
  CTree *sons[2]; // ref, declarator
8910
9866
 
8911
9867
public:
 
9868
  /** Constructor.
 
9869
   *  \param r The reference operator '&'.
 
9870
   *  \param d The declarator. */
8912
9871
  CT_RefDeclarator (CTree *r, CTree *d) { AddSon (sons[0], r); AddSon (sons[1], d); }
8913
9872
  /** Get the identifier for this node type. Can be compared with NodeName(). */
8914
9873
  static const char *NodeId ();
8920
9879
   *  \param n The index of the son.
8921
9880
   *  \return The n-th son or NULL. */
8922
9881
  CTree *Son (int n) const { return CTree::Son (sons, 2, n); }
 
9882
  /** Get the declarator. */
8923
9883
  CTree *Declarator () const { return sons[1]; }
8924
9884
  /** Replace a son.
8925
9885
   *  \param old_son The son to replace.
8927
9887
  void ReplaceSon (CTree *old_son, CTree *new_son) {
8928
9888
    CTree::ReplaceSon (sons, 2, old_son, new_son);
8929
9889
  }
 
9890
public:
 
9891
  typedef AC::TL<Puma::CTree * [2],AC::TLE > __AttrTypes;
 
9892
  const char *__attr_name (unsigned i) const {
 
9893
    static const char *names[] = { "sons" }; return names[i];
 
9894
  }
 
9895
  const void *__attr (unsigned __i) const {
 
9896
    switch (__i) { case 0: return &sons; default: return 0; }
 
9897
  }
 
9898
#line 3189 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
8930
9899
};
8931
9900
 
 
9901
/** \class CT_PtrDeclarator CTree.h Puma/CTree.h
 
9902
 *  Tree node representing a pointer declarator.
 
9903
 *  Example: \code *a \endcode */
8932
9904
 
8933
 
#line 8934 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
9905
#line 9906 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
8934
9906
} // closed Puma
8935
9907
class CCExprResolve;
8936
9908
class CExprResolve;
8953
9925
class CMatchSyntax;
8954
9926
namespace Puma {
8955
9927
 
8956
 
#line 2832 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
9928
#line 3194 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
8957
9929
class CT_PtrDeclarator : public CT_Declarator {
8958
 
#line 8959 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
9930
#line 9931 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
8959
9931
  friend class ::CCExprResolve;
8960
9932
  friend class ::CExprResolve;
8961
9933
  friend class ::WinIfExists;
8976
9948
  friend class ::PragmaOnce;
8977
9949
  friend class ::CMatchSyntax;
8978
9950
 
8979
 
#line 2832 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
9951
#line 3194 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
8980
9952
 
8981
9953
  CTree *sons[3]; // ptr, cv_quals, declarator
8982
9954
 
8983
9955
public:
 
9956
  /** Constructor.
 
9957
   *  \param p The pointer operator '*'.
 
9958
   *  \param c The const/volatile pointer qualifier sequence.
 
9959
   *  \param d The declarator. */
8984
9960
  CT_PtrDeclarator (CTree *p, CTree *c, CTree *d) {
8985
9961
    AddSon (sons[0], p); AddSon (sons[1], c); AddSon (sons[2], d); 
8986
9962
  }
8994
9970
   *  \param n The index of the son.
8995
9971
   *  \return The n-th son or NULL. */
8996
9972
  CTree *Son (int n) const { return CTree::Son (sons, 3, n); }
 
9973
  /** Get the declarator. */
8997
9974
  CTree *Declarator () const { return sons[2]; }
 
9975
  /** Get the const/volatile qualifier sequence. */
8998
9976
  CT_DeclSpecSeq *Qualifier () const { return (CT_DeclSpecSeq*)sons[1]; }
8999
9977
  /** Replace a son.
9000
9978
   *  \param old_son The son to replace.
9002
9980
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
9003
9981
    CTree::ReplaceSon (sons, 3, old_son, new_son);
9004
9982
  }
 
9983
public:
 
9984
  typedef AC::TL<Puma::CTree * [3],AC::TLE > __AttrTypes;
 
9985
  const char *__attr_name (unsigned i) const {
 
9986
    static const char *names[] = { "sons" }; return names[i];
 
9987
  }
 
9988
  const void *__attr (unsigned __i) const {
 
9989
    switch (__i) { case 0: return &sons; default: return 0; }
 
9990
  }
 
9991
#line 3225 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
9005
9992
};
9006
9993
 
 
9994
/** \class CT_MembPtrDeclarator CTree.h Puma/CTree.h
 
9995
 *  Tree node representing a member pointer declarator.
 
9996
 *  Example: \code *X::a \endcode */
9007
9997
 
9008
 
#line 9009 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
9998
#line 9999 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
9009
9999
} // closed Puma
9010
10000
class CCExprResolve;
9011
10001
class CExprResolve;
9028
10018
class CMatchSyntax;
9029
10019
namespace Puma {
9030
10020
 
9031
 
#line 2859 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
10021
#line 3230 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
9032
10022
class CT_MembPtrDeclarator : public CT_Declarator {
9033
 
#line 9034 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
10023
#line 10024 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
9034
10024
  friend class ::CCExprResolve;
9035
10025
  friend class ::CExprResolve;
9036
10026
  friend class ::WinIfExists;
9051
10041
  friend class ::PragmaOnce;
9052
10042
  friend class ::CMatchSyntax;
9053
10043
 
9054
 
#line 2859 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
10044
#line 3230 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
9055
10045
 
9056
10046
  CTree *sons[5]; // class, colon, ptr, cv_quals, declarator
9057
10047
 
9058
10048
public:
 
10049
  /** Constructor.
 
10050
   *  \param c The class name.
 
10051
   *  \param cc The scope operator '::'.
 
10052
   *  \param p The name of the pointer.
 
10053
   *  \param q The const/volatile pointer qualifier sequence.
 
10054
   *  \param d The declarator. */
9059
10055
  CT_MembPtrDeclarator (CTree *c, CTree *cc, CTree *p, CTree *q, CTree *d) {
9060
10056
    AddSon (sons[0], c); AddSon (sons[1], cc); AddSon (sons[2], p); 
9061
10057
    AddSon (sons[3], q); AddSon (sons[4], d); 
9070
10066
   *  \param n The index of the son.
9071
10067
   *  \return The n-th son or NULL. */
9072
10068
  CTree *Son (int n) const { return CTree::Son (sons, 5, n); }
 
10069
  /** Get the name of the declared pointer. */
9073
10070
  CT_SimpleName *Name () const { return (CT_SimpleName*)sons[0]; }
 
10071
  /** Get the declarator. */
9074
10072
  CTree *Declarator () const { return sons[4]; }
 
10073
  /** Get the const/volatile qualifier sequence. */
9075
10074
  CT_DeclSpecSeq *Qualifier () const { return (CT_DeclSpecSeq*)sons[3]; }
9076
10075
  /** Replace a son.
9077
10076
   *  \param old_son The son to replace.
9079
10078
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
9080
10079
    CTree::ReplaceSon (sons, 5, old_son, new_son);
9081
10080
  }
 
10081
public:
 
10082
  typedef AC::TL<Puma::CTree * [5],AC::TLE > __AttrTypes;
 
10083
  const char *__attr_name (unsigned i) const {
 
10084
    static const char *names[] = { "sons" }; return names[i];
 
10085
  }
 
10086
  const void *__attr (unsigned __i) const {
 
10087
    switch (__i) { case 0: return &sons; default: return 0; }
 
10088
  }
 
10089
#line 3266 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
9082
10090
};
9083
10091
 
 
10092
/** \class CT_BitFieldDeclarator CTree.h Puma/CTree.h
 
10093
 *  Tree node representing a bit-field declarator.
 
10094
 *  Example: \code a : 2 \endcode */
9084
10095
 
9085
 
#line 9086 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
10096
#line 10097 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
9086
10097
} // closed Puma
9087
10098
class CCExprResolve;
9088
10099
class CExprResolve;
9105
10116
class CMatchSyntax;
9106
10117
namespace Puma {
9107
10118
 
9108
 
#line 2888 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
10119
#line 3271 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
9109
10120
class CT_BitFieldDeclarator : public CT_Declarator, public CSemObject {
9110
 
#line 9111 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
10121
#line 10122 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
9111
10122
  friend class ::CCExprResolve;
9112
10123
  friend class ::CExprResolve;
9113
10124
  friend class ::WinIfExists;
9128
10139
  friend class ::PragmaOnce;
9129
10140
  friend class ::CMatchSyntax;
9130
10141
 
9131
 
#line 2888 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
10142
#line 3271 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
9132
10143
 
9133
10144
  CTree *sons[3]; // declarator, colon, expr
9134
10145
 
9135
10146
public:
 
10147
  /** Constructor.
 
10148
   *  \param d The declarator.
 
10149
   *  \param c The colon between the declarator and the bit count.
 
10150
   *  \param e The expression specifying the number of bits. */
9136
10151
  CT_BitFieldDeclarator (CTree *d, CTree *c, CTree *e = 0) {
9137
10152
    AddSon (sons[0], d); AddSon (sons[1], c); AddSon (sons[2], e); 
9138
10153
  }
9146
10161
   *  \param n The index of the son.
9147
10162
   *  \return The n-th son or NULL. */
9148
10163
  CTree *Son (int n) const { return CTree::Son (sons, 3, n); }
 
10164
  /** Get the declarator. */
9149
10165
  CTree *Declarator () const { return sons[0]; }
 
10166
  /** Get the expression specifying the number of bits. */
9150
10167
  CTree *Expr () const { return sons[2]; }
 
10168
  /** Set the expression specifying the number of bits. */
9151
10169
  void FieldSize (CTree *s) { AddSon (sons[2], s); }
 
10170
  /** Get the semantic information about the declared bit-field. */
9152
10171
  CSemObject *SemObject () const { return (CSemObject*)this; }
9153
10172
  /** Replace a son.
9154
10173
   *  \param old_son The son to replace.
9156
10175
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
9157
10176
    CTree::ReplaceSon (sons, 3, old_son, new_son);
9158
10177
  }
 
10178
public:
 
10179
  typedef AC::TL<Puma::CTree * [3],AC::TLE > __AttrTypes;
 
10180
  const char *__attr_name (unsigned i) const {
 
10181
    static const char *names[] = { "sons" }; return names[i];
 
10182
  }
 
10183
  const void *__attr (unsigned __i) const {
 
10184
    switch (__i) { case 0: return &sons; default: return 0; }
 
10185
  }
 
10186
#line 3306 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
9159
10187
};
9160
10188
 
9161
10189
/*****************************************************************************/
9164
10192
/*                                                                           */
9165
10193
/*****************************************************************************/
9166
10194
 
 
10195
/** \class CT_Statement CTree.h Puma/CTree.h
 
10196
 *  Base class for all tree nodes representing statements. */
9167
10197
 
9168
 
#line 9169 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
10198
#line 10199 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
9169
10199
} // closed Puma
9170
10200
class CCExprResolve;
9171
10201
class CExprResolve;
9188
10218
class CMatchSyntax;
9189
10219
namespace Puma {
9190
10220
 
9191
 
#line 2923 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
10221
#line 3316 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
9192
10222
class CT_Statement : public CTree {
9193
 
#line 9194 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
10223
#line 10224 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
9194
10224
  friend class ::CCExprResolve;
9195
10225
  friend class ::CExprResolve;
9196
10226
  friend class ::WinIfExists;
9211
10241
  friend class ::PragmaOnce;
9212
10242
  friend class ::CMatchSyntax;
9213
10243
 
9214
 
#line 2923 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
10244
#line 3316 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
9215
10245
 
9216
10246
protected:
 
10247
  /** Constructor. */
9217
10248
  CT_Statement () {}
 
10249
  /** Get this. */
9218
10250
  virtual CT_Statement *IsStatement () { return this; }
 
10251
public:
 
10252
  typedef AC::TLE __AttrTypes;
 
10253
  const char *__attr_name (unsigned i) const { return 0; }
 
10254
  const void *__attr (unsigned __i) const { return 0; }
 
10255
#line 3322 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
9219
10256
};
9220
10257
 
 
10258
/** \class CT_LabelStmt CTree.h Puma/CTree.h
 
10259
 *  Tree node representing a label statement.
 
10260
 *  Example: \code incr_a: a++; \endcode */
9221
10261
 
9222
 
#line 9223 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
10262
#line 10263 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
9223
10263
} // closed Puma
9224
10264
class CCExprResolve;
9225
10265
class CExprResolve;
9242
10282
class CMatchSyntax;
9243
10283
namespace Puma {
9244
10284
 
9245
 
#line 2929 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
10285
#line 3327 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
9246
10286
class CT_LabelStmt : public CT_Statement {
9247
 
#line 9248 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
10287
#line 10288 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
9248
10288
  friend class ::CCExprResolve;
9249
10289
  friend class ::CExprResolve;
9250
10290
  friend class ::WinIfExists;
9265
10305
  friend class ::PragmaOnce;
9266
10306
  friend class ::CMatchSyntax;
9267
10307
 
9268
 
#line 2929 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
10308
#line 3327 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
9269
10309
 
9270
10310
  CTree *sons[3]; // id, colon, stmt
9271
10311
 
9272
10312
public:
 
10313
  /** Constructor.
 
10314
   *  \param id The name of the label.
 
10315
   *  \param c The colon behind the label.
 
10316
   *  \param stmt The statement following the label. */
9273
10317
  CT_LabelStmt (CTree *id, CTree *c, CTree *stmt) {
9274
10318
    AddSon (sons[0], id); AddSon (sons[1], c); AddSon (sons[2], stmt); 
9275
10319
  }
9283
10327
   *  \param n The index of the son.
9284
10328
   *  \return The n-th son or NULL. */
9285
10329
  CTree *Son (int n) const { return CTree::Son (sons, 3, n); }
 
10330
  /** Get the statement. */
9286
10331
  CT_Statement *Statement () const { return (CT_Statement*)sons[2]; }
 
10332
  /** Get the name of the label. */
9287
10333
  CT_SimpleName *Label () const { return (CT_SimpleName*)sons[0]; }
9288
10334
  /** Replace a son.
9289
10335
   *  \param old_son The son to replace.
9291
10337
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
9292
10338
    CTree::ReplaceSon (sons, 3, old_son, new_son);
9293
10339
  }
 
10340
public:
 
10341
  typedef AC::TL<Puma::CTree * [3],AC::TLE > __AttrTypes;
 
10342
  const char *__attr_name (unsigned i) const {
 
10343
    static const char *names[] = { "sons" }; return names[i];
 
10344
  }
 
10345
  const void *__attr (unsigned __i) const {
 
10346
    switch (__i) { case 0: return &sons; default: return 0; }
 
10347
  }
 
10348
#line 3358 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
9294
10349
};
9295
10350
 
 
10351
/** \class CT_DefaultStmt CTree.h Puma/CTree.h
 
10352
 *  Tree node representing a default statement of a switch statement.
 
10353
 *  Example: \code default: break; \endcode */
9296
10354
 
9297
 
#line 9298 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
10355
#line 10356 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
9298
10356
} // closed Puma
9299
10357
class CCExprResolve;
9300
10358
class CExprResolve;
9317
10375
class CMatchSyntax;
9318
10376
namespace Puma {
9319
10377
 
9320
 
#line 2956 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
10378
#line 3363 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
9321
10379
class CT_DefaultStmt : public CT_Statement {
9322
 
#line 9323 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
10380
#line 10381 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
9323
10381
  friend class ::CCExprResolve;
9324
10382
  friend class ::CExprResolve;
9325
10383
  friend class ::WinIfExists;
9340
10398
  friend class ::PragmaOnce;
9341
10399
  friend class ::CMatchSyntax;
9342
10400
 
9343
 
#line 2956 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
10401
#line 3363 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
9344
10402
 
9345
10403
  CTree *sons[3]; // keyword, colon, stmt
9346
10404
 
9347
10405
public:
 
10406
  /** Constructor.
 
10407
   *  \param kw The keyword 'default'.
 
10408
   *  \param c The colon behind the keyword.
 
10409
   *  \param stmt The statement of the default case. */
9348
10410
  CT_DefaultStmt (CTree *kw, CTree *c, CTree *stmt) {
9349
10411
    AddSon (sons[0], kw); AddSon (sons[1], c); AddSon (sons[2], stmt); 
9350
10412
  }
9358
10420
   *  \param n The index of the son.
9359
10421
   *  \return The n-th son or NULL. */
9360
10422
  CTree *Son (int n) const { return CTree::Son (sons, 3, n); }
 
10423
  /** Get the statement. */
9361
10424
  CT_Statement *Statement () const { return (CT_Statement*)sons[2]; }
9362
10425
  /** Replace a son.
9363
10426
   *  \param old_son The son to replace.
9365
10428
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
9366
10429
    CTree::ReplaceSon (sons, 3, old_son, new_son);
9367
10430
  }
 
10431
public:
 
10432
  typedef AC::TL<Puma::CTree * [3],AC::TLE > __AttrTypes;
 
10433
  const char *__attr_name (unsigned i) const {
 
10434
    static const char *names[] = { "sons" }; return names[i];
 
10435
  }
 
10436
  const void *__attr (unsigned __i) const {
 
10437
    switch (__i) { case 0: return &sons; default: return 0; }
 
10438
  }
 
10439
#line 3392 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
9368
10440
};
9369
10441
 
 
10442
/** \class CT_TryStmt CTree.h Puma/CTree.h
 
10443
 *  Tree node representing a try-catch statement.
 
10444
 *  Example: \code try { f(); } catch (...) {} \endcode */
9370
10445
 
9371
 
#line 9372 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
10446
#line 10447 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
9372
10447
} // closed Puma
9373
10448
class CCExprResolve;
9374
10449
class CExprResolve;
9391
10466
class CMatchSyntax;
9392
10467
namespace Puma {
9393
10468
 
9394
 
#line 2982 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
10469
#line 3397 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
9395
10470
class CT_TryStmt : public CT_Statement {
9396
 
#line 9397 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
10471
#line 10472 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
9397
10472
  friend class ::CCExprResolve;
9398
10473
  friend class ::CExprResolve;
9399
10474
  friend class ::WinIfExists;
9414
10489
  friend class ::PragmaOnce;
9415
10490
  friend class ::CMatchSyntax;
9416
10491
 
9417
 
#line 2982 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
10492
#line 3397 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
9418
10493
 
9419
10494
  CTree *sons[3]; // try, stmt, handlers
9420
10495
 
9421
10496
public:
 
10497
  /** Constructor.
 
10498
   *  \param t The keyword 'try'.
 
10499
   *  \param s The statement enclosed in the try-catch block.
 
10500
   *  \param h The exception handler sequence. */
9422
10501
  CT_TryStmt (CTree *t, CTree *s, CTree *h) {
9423
10502
    AddSon (sons[0], t); AddSon (sons[1], s); AddSon (sons[2], h); 
9424
10503
  }
9432
10511
   *  \param n The index of the son.
9433
10512
   *  \return The n-th son or NULL. */
9434
10513
  CTree *Son (int n) const { return CTree::Son (sons, 3, n); }
 
10514
  /** Get the enclosed statement. */
9435
10515
  CT_Statement *Statement () const { return (CT_Statement*)sons[1]; }
 
10516
  /** Get the exception handler sequence. */
9436
10517
  CT_HandlerSeq *Handlers () const { return (CT_HandlerSeq*)sons[2]; }
9437
10518
  /** Replace a son.
9438
10519
   *  \param old_son The son to replace.
9440
10521
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
9441
10522
    CTree::ReplaceSon (sons, 3, old_son, new_son);
9442
10523
  }
 
10524
public:
 
10525
  typedef AC::TL<Puma::CTree * [3],AC::TLE > __AttrTypes;
 
10526
  const char *__attr_name (unsigned i) const {
 
10527
    static const char *names[] = { "sons" }; return names[i];
 
10528
  }
 
10529
  const void *__attr (unsigned __i) const {
 
10530
    switch (__i) { case 0: return &sons; default: return 0; }
 
10531
  }
 
10532
#line 3428 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
9443
10533
};
9444
10534
 
 
10535
/** \class CT_CaseStmt CTree.h Puma/CTree.h
 
10536
 *  Tree node representing a case statement.
 
10537
 *  Example: \code case 42: a=42; \endcode */
9445
10538
 
9446
 
#line 9447 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
10539
#line 10540 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
9447
10540
} // closed Puma
9448
10541
class CCExprResolve;
9449
10542
class CExprResolve;
9466
10559
class CMatchSyntax;
9467
10560
namespace Puma {
9468
10561
 
9469
 
#line 3009 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
10562
#line 3433 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
9470
10563
class CT_CaseStmt : public CT_Statement {
9471
 
#line 9472 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
10564
#line 10565 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
9472
10565
  friend class ::CCExprResolve;
9473
10566
  friend class ::CExprResolve;
9474
10567
  friend class ::WinIfExists;
9489
10582
  friend class ::PragmaOnce;
9490
10583
  friend class ::CMatchSyntax;
9491
10584
 
9492
 
#line 3009 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
10585
#line 3433 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
9493
10586
 
9494
10587
  CTree *sons[4]; // keyword, expr, colon, stmt
9495
10588
 
9496
10589
public:
 
10590
  /** Constructor.
 
10591
   *  \param kw The keyword 'case'.
 
10592
   *  \param expr The constant expression specifying the case value.
 
10593
   *  \param c The colon.
 
10594
   *  \param stmt The statement of the case. */
9497
10595
  CT_CaseStmt (CTree *kw, CTree *expr, CTree *c, CTree *stmt) {
9498
10596
    AddSon (sons[0], kw); AddSon (sons[1], expr); 
9499
10597
    AddSon (sons[2], c); AddSon (sons[3], stmt); 
9508
10606
   *  \param n The index of the son.
9509
10607
   *  \return The n-th son or NULL. */
9510
10608
  CTree *Son (int n) const { return CTree::Son (sons, 4, n); }
 
10609
  /** Get the statement. */
9511
10610
  CT_Statement *Statement () const { return (CT_Statement*)sons[3]; }
 
10611
  /** Get the expression specifying the case value. */
9512
10612
  CTree *Expr () const { return sons[1]; }
9513
10613
  /** Replace a son.
9514
10614
   *  \param old_son The son to replace.
9516
10616
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
9517
10617
    CTree::ReplaceSon (sons, 4, old_son, new_son);
9518
10618
  }
 
10619
public:
 
10620
  typedef AC::TL<Puma::CTree * [4],AC::TLE > __AttrTypes;
 
10621
  const char *__attr_name (unsigned i) const {
 
10622
    static const char *names[] = { "sons" }; return names[i];
 
10623
  }
 
10624
  const void *__attr (unsigned __i) const {
 
10625
    switch (__i) { case 0: return &sons; default: return 0; }
 
10626
  }
 
10627
#line 3466 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
9519
10628
};
9520
10629
 
 
10630
/** \class CT_ExprStmt CTree.h Puma/CTree.h
 
10631
 *  Tree node representing an expression statement.
 
10632
 *  Example: \code a+b; \endcode */
9521
10633
 
9522
 
#line 9523 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
10634
#line 10635 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
9523
10635
} // closed Puma
9524
10636
class CCExprResolve;
9525
10637
class CExprResolve;
9542
10654
class CMatchSyntax;
9543
10655
namespace Puma {
9544
10656
 
9545
 
#line 3037 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
10657
#line 3471 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
9546
10658
class CT_ExprStmt : public CT_Statement {
9547
 
#line 9548 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
10659
#line 10660 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
9548
10660
  friend class ::CCExprResolve;
9549
10661
  friend class ::CExprResolve;
9550
10662
  friend class ::WinIfExists;
9565
10677
  friend class ::PragmaOnce;
9566
10678
  friend class ::CMatchSyntax;
9567
10679
 
9568
 
#line 3037 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
10680
#line 3471 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
9569
10681
 
9570
10682
  CTree *sons[2]; // expr, semi_colon
9571
10683
 
9572
10684
public:
 
10685
  /** Constructor.
 
10686
   *  \param expr The expression.
 
10687
   *  \param sc The trailing semi-colon. */
9573
10688
  CT_ExprStmt (CTree *expr, CTree *sc) { AddSon (sons[0], expr); AddSon (sons[1], sc); }
9574
10689
  /** Get the identifier for this node type. Can be compared with NodeName(). */
9575
10690
  static const char *NodeId ();
9581
10696
   *  \param n The index of the son.
9582
10697
   *  \return The n-th son or NULL. */
9583
10698
  CTree *Son (int n) const { return CTree::Son (sons, 2, n); }
 
10699
  /** Get the expression. */
9584
10700
  CTree *Expr () const { return sons[0]; }
9585
10701
  /** Replace a son.
9586
10702
   *  \param old_son The son to replace.
9588
10704
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
9589
10705
    CTree::ReplaceSon (sons, 2, old_son, new_son);
9590
10706
  }
 
10707
public:
 
10708
  typedef AC::TL<Puma::CTree * [2],AC::TLE > __AttrTypes;
 
10709
  const char *__attr_name (unsigned i) const {
 
10710
    static const char *names[] = { "sons" }; return names[i];
 
10711
  }
 
10712
  const void *__attr (unsigned __i) const {
 
10713
    switch (__i) { case 0: return &sons; default: return 0; }
 
10714
  }
 
10715
#line 3497 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
9591
10716
};
9592
10717
 
 
10718
/** \class CT_DeclStmt CTree.h Puma/CTree.h
 
10719
 *  Tree node representing a declaration statement.
 
10720
 *  Example: \code int i = 0; \endcode */
9593
10721
 
9594
 
#line 9595 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
10722
#line 10723 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
9595
10723
} // closed Puma
9596
10724
class CCExprResolve;
9597
10725
class CExprResolve;
9614
10742
class CMatchSyntax;
9615
10743
namespace Puma {
9616
10744
 
9617
 
#line 3061 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
10745
#line 3502 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
9618
10746
class CT_DeclStmt : public CT_Statement {
9619
 
#line 9620 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
10747
#line 10748 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
9620
10748
  friend class ::CCExprResolve;
9621
10749
  friend class ::CExprResolve;
9622
10750
  friend class ::WinIfExists;
9637
10765
  friend class ::PragmaOnce;
9638
10766
  friend class ::CMatchSyntax;
9639
10767
 
9640
 
#line 3061 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
10768
#line 3502 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
9641
10769
 
9642
10770
  CTree *_decl;
9643
10771
 
9644
10772
public:
 
10773
  /** Constructor.
 
10774
   *  \param decl The declaration. */
9645
10775
  CT_DeclStmt (CTree *decl) { AddSon (_decl, decl); }
9646
10776
  /** Get the identifier for this node type. Can be compared with NodeName(). */
9647
10777
  static const char *NodeId ();
9658
10788
   *  \param new_son The new son. */
9659
10789
  void ReplaceSon (CTree *old_son, CTree *new_son) 
9660
10790
   { CTree::ReplaceSon (_decl, old_son, new_son); }
 
10791
public:
 
10792
  typedef AC::TL<Puma::CTree *,AC::TLE > __AttrTypes;
 
10793
  const char *__attr_name (unsigned i) const {
 
10794
    static const char *names[] = { "_decl" }; return names[i];
 
10795
  }
 
10796
  const void *__attr (unsigned __i) const {
 
10797
    switch (__i) { case 0: return &_decl; default: return 0; }
 
10798
  }
 
10799
#line 3524 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
9661
10800
};
9662
10801
 
 
10802
/** \class CT_SwitchStmt CTree.h Puma/CTree.h
 
10803
 *  Tree node representing a switch statement.
 
10804
 *  Example: \code switch(a) { case 0: a++; } \endcode */
9663
10805
 
9664
 
#line 9665 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
10806
#line 10807 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
9665
10807
} // closed Puma
9666
10808
class CCExprResolve;
9667
10809
class CExprResolve;
9684
10826
class CMatchSyntax;
9685
10827
namespace Puma {
9686
10828
 
9687
 
#line 3083 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
10829
#line 3529 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
9688
10830
class CT_SwitchStmt : public CT_Statement, public CSemScope {
9689
 
#line 9690 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
10831
#line 10832 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
9690
10832
  friend class ::CCExprResolve;
9691
10833
  friend class ::CExprResolve;
9692
10834
  friend class ::WinIfExists;
9707
10849
  friend class ::PragmaOnce;
9708
10850
  friend class ::CMatchSyntax;
9709
10851
 
9710
 
#line 3083 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
10852
#line 3529 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
9711
10853
 
9712
10854
  CTree *sons[5]; // keyword, open, cond, close, stmt
9713
10855
 
9714
10856
public:
 
10857
  /** Constructor.
 
10858
   *  \param kw The keyword 'switch'.
 
10859
   *  \param o Left parenthesis before the condition.
 
10860
   *  \param cond The switch-expression. 
 
10861
   *  \param c Right parenthesis behind the condition. 
 
10862
   *  \param stmt The cases of the switch-statement. */
9715
10863
  CT_SwitchStmt (CTree *kw, CTree *o, CTree *cond, CTree *c, CTree *stmt) {
9716
10864
    AddSon (sons[0], kw); AddSon (sons[1], o); AddSon (sons[2], cond); 
9717
10865
    AddSon (sons[3], c); AddSon (sons[4], stmt); 
9726
10874
   *  \param n The index of the son.
9727
10875
   *  \return The n-th son or NULL. */
9728
10876
  CTree *Son (int n) const { return CTree::Son (sons, 5, n); }
 
10877
  /** Get the cases. */
9729
10878
  CT_Statement *Statement () const { return (CT_Statement*)sons[4]; }
 
10879
  /** Get the switch-expression. */
9730
10880
  CTree *Condition () const { return sons[2]; }
9731
10881
  /** Replace a son.
9732
10882
   *  \param old_son The son to replace.
9734
10884
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
9735
10885
    CTree::ReplaceSon (sons, 5, old_son, new_son);
9736
10886
  }
 
10887
  /** Get the scope opened by the switch-statement. */
9737
10888
  CSemScope *SemScope () const { return (CSemScope*)this; }
 
10889
public:
 
10890
  typedef AC::TL<Puma::CTree * [5],AC::TLE > __AttrTypes;
 
10891
  const char *__attr_name (unsigned i) const {
 
10892
    static const char *names[] = { "sons" }; return names[i];
 
10893
  }
 
10894
  const void *__attr (unsigned __i) const {
 
10895
    switch (__i) { case 0: return &sons; default: return 0; }
 
10896
  }
 
10897
#line 3565 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
9738
10898
};
9739
10899
 
 
10900
/** \class CT_IfStmt CTree.h Puma/CTree.h
 
10901
 *  Tree node representing a if-statement.
 
10902
 *  Example: \code if(a==0) a++; \endcode */
9740
10903
 
9741
 
#line 9742 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
10904
#line 10905 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
9742
10905
} // closed Puma
9743
10906
class CCExprResolve;
9744
10907
class CExprResolve;
9761
10924
class CMatchSyntax;
9762
10925
namespace Puma {
9763
10926
 
9764
 
#line 3112 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
10927
#line 3570 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
9765
10928
class CT_IfStmt : public CT_Statement, public CSemScope {
9766
 
#line 9767 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
10929
#line 10930 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
9767
10930
  friend class ::CCExprResolve;
9768
10931
  friend class ::CExprResolve;
9769
10932
  friend class ::WinIfExists;
9784
10947
  friend class ::PragmaOnce;
9785
10948
  friend class ::CMatchSyntax;
9786
10949
 
9787
 
#line 3112 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
10950
#line 3570 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
9788
10951
 
9789
10952
  CTree *sons[5]; // keyword, open, cond, close, stmt
9790
10953
 
9791
10954
public:
 
10955
  /** Constructor.
 
10956
   *  \param kw The keyword 'if'.
 
10957
   *  \param o Left parenthesis before the condition.
 
10958
   *  \param cond The condition.
 
10959
   *  \param c Right parenthesis behind the condition.
 
10960
   *  \param stmt The controlled statement. */
9792
10961
  CT_IfStmt (CTree *kw, CTree *o, CTree *cond, CTree *c, CTree *stmt) {
9793
10962
    AddSon (sons[0], kw); AddSon (sons[1], o); AddSon (sons[2], cond); 
9794
10963
    AddSon (sons[3], c); AddSon (sons[4], stmt); 
9803
10972
   *  \param n The index of the son.
9804
10973
   *  \return The n-th son or NULL. */
9805
10974
  CTree *Son (int n) const { return CTree::Son (sons, 5, n); }
 
10975
  /** Get the controlled statement. */
9806
10976
  CT_Statement *Statement () const { return (CT_Statement*)sons[4]; }
 
10977
  /** Get the condition. */
9807
10978
  CTree *Condition () const { return sons[2]; }
9808
10979
  /** Replace a son.
9809
10980
   *  \param old_son The son to replace.
9811
10982
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
9812
10983
    CTree::ReplaceSon (sons, 5, old_son, new_son);
9813
10984
  }
 
10985
  /** Get the scope opened by the if-statement. */
9814
10986
  CSemScope *SemScope () const { return (CSemScope*)this; }
 
10987
public:
 
10988
  typedef AC::TL<Puma::CTree * [5],AC::TLE > __AttrTypes;
 
10989
  const char *__attr_name (unsigned i) const {
 
10990
    static const char *names[] = { "sons" }; return names[i];
 
10991
  }
 
10992
  const void *__attr (unsigned __i) const {
 
10993
    switch (__i) { case 0: return &sons; default: return 0; }
 
10994
  }
 
10995
#line 3606 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
9815
10996
};
9816
10997
 
 
10998
/** \class CT_IfElseStmt CTree.h Puma/CTree.h
 
10999
 *  Tree node representing a if-else-statement.
 
11000
 *  Example: \code if(a==0) a++; else a=0; \endcode */
9817
11001
 
9818
 
#line 9819 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
11002
#line 11003 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
9819
11003
} // closed Puma
9820
11004
class CCExprResolve;
9821
11005
class CExprResolve;
9838
11022
class CMatchSyntax;
9839
11023
namespace Puma {
9840
11024
 
9841
 
#line 3141 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
11025
#line 3611 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
9842
11026
class CT_IfElseStmt : public CT_Statement, public CSemScope {
9843
 
#line 9844 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
11027
#line 11028 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
9844
11028
  friend class ::CCExprResolve;
9845
11029
  friend class ::CExprResolve;
9846
11030
  friend class ::WinIfExists;
9861
11045
  friend class ::PragmaOnce;
9862
11046
  friend class ::CMatchSyntax;
9863
11047
 
9864
 
#line 3141 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
11048
#line 3611 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
9865
11049
 
9866
11050
  CTree *sons[7]; // if, open, cond, close, if_stmt, else, else_stmt
9867
11051
 
9868
11052
public:
 
11053
  /** Constructor.
 
11054
   *  \param i The keyword 'if'.
 
11055
   *  \param o Left parenthesis before the condition.
 
11056
   *  \param cond The condition.
 
11057
   *  \param c Right parenthesis behind the condition.
 
11058
   *  \param is The statement controlled by the if-branch.
 
11059
   *  \param e The keyword 'else'.
 
11060
   *  \param es The statement controlled by the else-branch. */
9869
11061
  CT_IfElseStmt (CTree *i, CTree *o, CTree *cond, CTree *c, 
9870
11062
                 CTree *is, CTree *e, CTree *es) {
9871
11063
    AddSon (sons[0], i); AddSon (sons[1], o); AddSon (sons[2], cond); 
9882
11074
   *  \param n The index of the son.
9883
11075
   *  \return The n-th son or NULL. */
9884
11076
  CTree *Son (int n) const { return CTree::Son (sons, 7, n); }
 
11077
  /** Get the condition. */
9885
11078
  CTree *Condition () const { return sons[2]; }
 
11079
  /** Get the statement controlled by the if-branch. */
9886
11080
  CT_Statement *IfPart () const { return (CT_Statement*)sons[4]; }
 
11081
  /** Get the statement controlled by the else-branch. */
9887
11082
  CT_Statement *ElsePart () const { return (CT_Statement*)sons[6]; }
9888
11083
  /** Replace a son.
9889
11084
   *  \param old_son The son to replace.
9891
11086
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
9892
11087
    CTree::ReplaceSon (sons, 7, old_son, new_son);
9893
11088
  }
 
11089
  /** Get the scope opened by the if-statement. */
9894
11090
  CSemScope *SemScope () const { return (CSemScope*)this; }
 
11091
public:
 
11092
  typedef AC::TL<Puma::CTree * [7],AC::TLE > __AttrTypes;
 
11093
  const char *__attr_name (unsigned i) const {
 
11094
    static const char *names[] = { "sons" }; return names[i];
 
11095
  }
 
11096
  const void *__attr (unsigned __i) const {
 
11097
    switch (__i) { case 0: return &sons; default: return 0; }
 
11098
  }
 
11099
#line 3653 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
9895
11100
};
9896
11101
 
 
11102
/** \class CT_BreakStmt CTree.h Puma/CTree.h
 
11103
 *  Tree node representing a break-statement.
 
11104
 *  Example: \code break; \endcode */
9897
11105
 
9898
 
#line 9899 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
11106
#line 11107 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
9899
11107
} // closed Puma
9900
11108
class CCExprResolve;
9901
11109
class CExprResolve;
9918
11126
class CMatchSyntax;
9919
11127
namespace Puma {
9920
11128
 
9921
 
#line 3173 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
11129
#line 3658 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
9922
11130
class CT_BreakStmt : public CT_Statement {
9923
 
#line 9924 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
11131
#line 11132 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
9924
11132
  friend class ::CCExprResolve;
9925
11133
  friend class ::CExprResolve;
9926
11134
  friend class ::WinIfExists;
9941
11149
  friend class ::PragmaOnce;
9942
11150
  friend class ::CMatchSyntax;
9943
11151
 
9944
 
#line 3173 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
11152
#line 3658 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
9945
11153
 
9946
11154
  CTree *sons[2]; // key, semi_colon
9947
11155
 
9948
11156
public:
 
11157
  /** Constructor.
 
11158
   *  \param key The keyword 'break'.
 
11159
   *  \param sc The trailing semi-colon. */
9949
11160
  CT_BreakStmt (CTree *key, CTree *sc) { AddSon (sons[0], key); AddSon (sons[1], sc); }
9950
11161
  /** Get the identifier for this node type. Can be compared with NodeName(). */
9951
11162
  static const char *NodeId ();
9963
11174
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
9964
11175
    CTree::ReplaceSon (sons, 2, old_son, new_son);
9965
11176
  }
 
11177
public:
 
11178
  typedef AC::TL<Puma::CTree * [2],AC::TLE > __AttrTypes;
 
11179
  const char *__attr_name (unsigned i) const {
 
11180
    static const char *names[] = { "sons" }; return names[i];
 
11181
  }
 
11182
  const void *__attr (unsigned __i) const {
 
11183
    switch (__i) { case 0: return &sons; default: return 0; }
 
11184
  }
 
11185
#line 3682 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
9966
11186
};
9967
11187
 
 
11188
/** \class CT_ContinueStmt CTree.h Puma/CTree.h
 
11189
 *  Tree node representing a continue-statement.
 
11190
 *  Example: \code continue; \endcode */
9968
11191
 
9969
 
#line 9970 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
11192
#line 11193 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
9970
11193
} // closed Puma
9971
11194
class CCExprResolve;
9972
11195
class CExprResolve;
9989
11212
class CMatchSyntax;
9990
11213
namespace Puma {
9991
11214
 
9992
 
#line 3196 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
11215
#line 3687 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
9993
11216
class CT_ContinueStmt : public CT_Statement {
9994
 
#line 9995 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
11217
#line 11218 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
9995
11218
  friend class ::CCExprResolve;
9996
11219
  friend class ::CExprResolve;
9997
11220
  friend class ::WinIfExists;
10012
11235
  friend class ::PragmaOnce;
10013
11236
  friend class ::CMatchSyntax;
10014
11237
 
10015
 
#line 3196 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
11238
#line 3687 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10016
11239
 
10017
11240
  CTree *sons[2]; // key, semi_colon
10018
11241
 
10019
11242
public:
 
11243
  /** Constructor.
 
11244
   *  \param key The keyword 'continue'.
 
11245
   *  \param sc The trailing semi-colon. */
10020
11246
  CT_ContinueStmt (CTree *key, CTree *sc) { AddSon (sons[0], key); AddSon (sons[1], sc); }
10021
11247
  /** Get the identifier for this node type. Can be compared with NodeName(). */
10022
11248
  static const char *NodeId ();
10034
11260
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
10035
11261
    CTree::ReplaceSon (sons, 2, old_son, new_son);
10036
11262
  }
 
11263
public:
 
11264
  typedef AC::TL<Puma::CTree * [2],AC::TLE > __AttrTypes;
 
11265
  const char *__attr_name (unsigned i) const {
 
11266
    static const char *names[] = { "sons" }; return names[i];
 
11267
  }
 
11268
  const void *__attr (unsigned __i) const {
 
11269
    switch (__i) { case 0: return &sons; default: return 0; }
 
11270
  }
 
11271
#line 3711 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10037
11272
};
10038
11273
 
 
11274
/** \class CT_GotoStmt CTree.h Puma/CTree.h
 
11275
 *  Tree node representing a goto-stmt.
 
11276
 *  Example: \code goto incr_a; \endcode */
10039
11277
 
10040
 
#line 10041 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
11278
#line 11279 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
10041
11279
} // closed Puma
10042
11280
class CCExprResolve;
10043
11281
class CExprResolve;
10060
11298
class CMatchSyntax;
10061
11299
namespace Puma {
10062
11300
 
10063
 
#line 3219 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
11301
#line 3716 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10064
11302
class CT_GotoStmt : public CT_Statement {
10065
 
#line 10066 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
11303
#line 11304 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
10066
11304
  friend class ::CCExprResolve;
10067
11305
  friend class ::CExprResolve;
10068
11306
  friend class ::WinIfExists;
10083
11321
  friend class ::PragmaOnce;
10084
11322
  friend class ::CMatchSyntax;
10085
11323
 
10086
 
#line 3219 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
11324
#line 3716 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10087
11325
 
10088
11326
  CTree *sons[3]; // key, label, semi_colon
10089
11327
 
10090
11328
public:
 
11329
  /** Constructor.
 
11330
   *  \param key The keyword 'goto'.
 
11331
   *  \param l The name of the jump label.
 
11332
   *  \param sc The trailing semi-colon. */
10091
11333
  CT_GotoStmt (CTree *key, CTree *l, CTree *sc) {
10092
11334
    AddSon (sons[0], key); AddSon (sons[1], l); AddSon (sons[2], sc); 
10093
11335
  }
10101
11343
   *  \param n The index of the son.
10102
11344
   *  \return The n-th son or NULL. */
10103
11345
  CTree *Son (int n) const { return CTree::Son (sons, 3, n); }
 
11346
  /** Get the name of the jump label. */
10104
11347
  CT_SimpleName *Label () const { return (CT_SimpleName*)sons[1]; }
10105
11348
  /** Replace a son.
10106
11349
   *  \param old_son The son to replace.
10108
11351
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
10109
11352
    CTree::ReplaceSon (sons, 3, old_son, new_son);
10110
11353
  }
 
11354
public:
 
11355
  typedef AC::TL<Puma::CTree * [3],AC::TLE > __AttrTypes;
 
11356
  const char *__attr_name (unsigned i) const {
 
11357
    static const char *names[] = { "sons" }; return names[i];
 
11358
  }
 
11359
  const void *__attr (unsigned __i) const {
 
11360
    switch (__i) { case 0: return &sons; default: return 0; }
 
11361
  }
 
11362
#line 3745 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10111
11363
};
10112
11364
 
 
11365
/** \class CT_ReturnStmt CTree.h Puma/CTree.h
 
11366
 *  Tree node representing a return-statement.
 
11367
 *  Example: \code return 1; \endcode */
10113
11368
 
10114
 
#line 10115 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
11369
#line 11370 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
10115
11370
} // closed Puma
10116
11371
class CCExprResolve;
10117
11372
class CExprResolve;
10134
11389
class CMatchSyntax;
10135
11390
namespace Puma {
10136
11391
 
10137
 
#line 3245 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
11392
#line 3750 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10138
11393
class CT_ReturnStmt : public CT_Statement {
10139
 
#line 10140 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
11394
#line 11395 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
10140
11395
  friend class ::CCExprResolve;
10141
11396
  friend class ::CExprResolve;
10142
11397
  friend class ::WinIfExists;
10157
11412
  friend class ::PragmaOnce;
10158
11413
  friend class ::CMatchSyntax;
10159
11414
 
10160
 
#line 3245 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
11415
#line 3750 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10161
11416
 
10162
11417
  CTree *sons[3]; // key, expr, semi_colon
10163
11418
 
10164
11419
public:
 
11420
  /** Constructor.
 
11421
   *  \param key The keyword 'return'.
 
11422
   *  \param e The expression specifying the return value. 
 
11423
   *  \param sc The trailing semi-colon. */
10165
11424
  CT_ReturnStmt (CTree *key, CTree *e, CTree *sc) {
10166
11425
    AddSon (sons[0], key); AddSon (sons[1], e); AddSon (sons[2], sc); 
10167
11426
  }
10175
11434
   *  \param n The index of the son.
10176
11435
   *  \return The n-th son or NULL. */
10177
11436
  CTree *Son (int n) const { return CTree::Son (sons, 3, n); }
 
11437
  /** Get the expression specifying the return value. */
10178
11438
  CTree *Expr () const { return sons[1]; }
10179
11439
  /** Replace a son.
10180
11440
   *  \param old_son The son to replace.
10182
11442
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
10183
11443
    CTree::ReplaceSon (sons, 3, old_son, new_son);
10184
11444
  }
 
11445
public:
 
11446
  typedef AC::TL<Puma::CTree * [3],AC::TLE > __AttrTypes;
 
11447
  const char *__attr_name (unsigned i) const {
 
11448
    static const char *names[] = { "sons" }; return names[i];
 
11449
  }
 
11450
  const void *__attr (unsigned __i) const {
 
11451
    switch (__i) { case 0: return &sons; default: return 0; }
 
11452
  }
 
11453
#line 3779 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10185
11454
};
10186
11455
 
 
11456
/** \class CT_WhileStmt CTree.h Puma/CTree.h
 
11457
 *  Tree node representing a while-statement.
 
11458
 *  Example: \code while(a>0) a--; \endcode */
10187
11459
 
10188
 
#line 10189 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
11460
#line 11461 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
10189
11461
} // closed Puma
10190
11462
class CCExprResolve;
10191
11463
class CExprResolve;
10208
11480
class CMatchSyntax;
10209
11481
namespace Puma {
10210
11482
 
10211
 
#line 3271 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
11483
#line 3784 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10212
11484
class CT_WhileStmt : public CT_Statement, public CSemScope {
10213
 
#line 10214 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
11485
#line 11486 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
10214
11486
  friend class ::CCExprResolve;
10215
11487
  friend class ::CExprResolve;
10216
11488
  friend class ::WinIfExists;
10231
11503
  friend class ::PragmaOnce;
10232
11504
  friend class ::CMatchSyntax;
10233
11505
 
10234
 
#line 3271 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
11506
#line 3784 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10235
11507
 
10236
11508
  CTree *sons[5]; // key, open, cond, close, stmt
10237
11509
 
10238
11510
public:
 
11511
  /** Constructor.
 
11512
   *  \param kw The keyword 'while'.
 
11513
   *  \param o Left parenthesis before the condition.
 
11514
   *  \param cond The loop condition. 
 
11515
   *  \param c Right parenthesis behind the condition. 
 
11516
   *  \param stmt The controlled statement. */
10239
11517
  CT_WhileStmt (CTree *kw, CTree *o, CTree *cond, CTree *c, CTree *stmt) {
10240
11518
    AddSon (sons[0], kw); AddSon (sons[1], o); AddSon (sons[2], cond); 
10241
11519
    AddSon (sons[3], c); AddSon (sons[4], stmt); 
10250
11528
   *  \param n The index of the son.
10251
11529
   *  \return The n-th son or NULL. */
10252
11530
  CTree *Son (int n) const { return CTree::Son (sons, 5, n); }
 
11531
  /** Get the controlled statement. */
10253
11532
  CT_Statement *Statement () const { return (CT_Statement*)sons[4]; }
 
11533
  /** Get the loop condition. */
10254
11534
  CTree *Condition () const { return sons[2]; }
10255
11535
  /** Replace a son.
10256
11536
   *  \param old_son The son to replace.
10258
11538
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
10259
11539
    CTree::ReplaceSon (sons, 5, old_son, new_son);
10260
11540
  }
 
11541
  /** Get the scope opened by the while-statement. */
10261
11542
  CSemScope *SemScope () const { return (CSemScope*)this; }
 
11543
public:
 
11544
  typedef AC::TL<Puma::CTree * [5],AC::TLE > __AttrTypes;
 
11545
  const char *__attr_name (unsigned i) const {
 
11546
    static const char *names[] = { "sons" }; return names[i];
 
11547
  }
 
11548
  const void *__attr (unsigned __i) const {
 
11549
    switch (__i) { case 0: return &sons; default: return 0; }
 
11550
  }
 
11551
#line 3820 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10262
11552
};
10263
11553
 
 
11554
/** \class CT_DoStmt CTree.h Puma/CTree.h
 
11555
 *  Tree node representing a do-while-statement.
 
11556
 *  Example: \code do a--; while(a>0); \endcode */
10264
11557
 
10265
 
#line 10266 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
11558
#line 11559 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
10266
11559
} // closed Puma
10267
11560
class CCExprResolve;
10268
11561
class CExprResolve;
10285
11578
class CMatchSyntax;
10286
11579
namespace Puma {
10287
11580
 
10288
 
#line 3300 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
11581
#line 3825 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10289
11582
class CT_DoStmt : public CT_Statement {
10290
 
#line 10291 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
11583
#line 11584 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
10291
11584
  friend class ::CCExprResolve;
10292
11585
  friend class ::CExprResolve;
10293
11586
  friend class ::WinIfExists;
10308
11601
  friend class ::PragmaOnce;
10309
11602
  friend class ::CMatchSyntax;
10310
11603
 
10311
 
#line 3300 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
11604
#line 3825 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10312
11605
 
10313
11606
  CTree *sons[7]; // do, stmt, while, open, expr, close, semi_colon
10314
11607
 
10315
11608
public:
 
11609
  /** Constructor.
 
11610
   *  \param d The keyword 'do'.
 
11611
   *  \param stmt The controlled statement.
 
11612
   *  \param w The keyword 'while'.
 
11613
   *  \param o Left parenthesis before the loop condition.
 
11614
   *  \param e The loop condition.
 
11615
   *  \param c Right parenthesis behind the loop condition.
 
11616
   *  \param sc The trailing semi-colon. */
10316
11617
  CT_DoStmt (CTree *d, CTree *stmt, CTree *w, CTree *o, CTree *e, 
10317
11618
             CTree *c, CTree *sc) {
10318
11619
    AddSon (sons[0], d); AddSon (sons[1], stmt); AddSon (sons[2], w); 
10329
11630
   *  \param n The index of the son.
10330
11631
   *  \return The n-th son or NULL. */
10331
11632
  CTree *Son (int n) const { return CTree::Son (sons, 7, n); }
 
11633
  /** Get the controlled statement. */
10332
11634
  CT_Statement *Statement () const { return (CT_Statement*)sons[1]; }
 
11635
  /** Get the loop condition. */
10333
11636
  CTree *Expr () const { return sons[4]; }
10334
11637
  /** Replace a son.
10335
11638
   *  \param old_son The son to replace.
10337
11640
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
10338
11641
    CTree::ReplaceSon (sons, 7, old_son, new_son);
10339
11642
  }
 
11643
public:
 
11644
  typedef AC::TL<Puma::CTree * [7],AC::TLE > __AttrTypes;
 
11645
  const char *__attr_name (unsigned i) const {
 
11646
    static const char *names[] = { "sons" }; return names[i];
 
11647
  }
 
11648
  const void *__attr (unsigned __i) const {
 
11649
    switch (__i) { case 0: return &sons; default: return 0; }
 
11650
  }
 
11651
#line 3863 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10340
11652
};
10341
11653
 
 
11654
/** \class CT_ForStmt CTree.h Puma/CTree.h
 
11655
 *  Tree node representing a for-statement.
 
11656
 *  Example: \code for(int i=0; i<10; i++) f(i); \endcode */
10342
11657
 
10343
 
#line 10344 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
11658
#line 11659 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
10344
11659
} // closed Puma
10345
11660
class CCExprResolve;
10346
11661
class CExprResolve;
10363
11678
class CMatchSyntax;
10364
11679
namespace Puma {
10365
11680
 
10366
 
#line 3330 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
11681
#line 3868 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10367
11682
class CT_ForStmt : public CT_Statement, public CSemScope {
10368
 
#line 10369 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
11683
#line 11684 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
10369
11684
  friend class ::CCExprResolve;
10370
11685
  friend class ::CExprResolve;
10371
11686
  friend class ::WinIfExists;
10386
11701
  friend class ::PragmaOnce;
10387
11702
  friend class ::CMatchSyntax;
10388
11703
 
10389
 
#line 3330 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
11704
#line 3868 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10390
11705
 
10391
11706
  CTree *sons[8]; // key, open, init, cond, semi_colon, expr, close, stmt
10392
11707
 
10393
11708
public:
 
11709
  /** Constructor.
 
11710
   *  \param k The keyword 'for'.
 
11711
   *  \param o Left parenthesis.
 
11712
   *  \param i The loop initializer statement.
 
11713
   *  \param co The loop condition.
 
11714
   *  \param sc The semi-colon behind the loop condition.
 
11715
   *  \param e The loop counter expression.
 
11716
   *  \param c Right parenthesis.
 
11717
   *  \param stmt The controlled statement. */
10394
11718
  CT_ForStmt (CTree *k, CTree *o, CTree *i, CTree *co, CTree *sc,
10395
11719
              CTree *e, CTree *c, CTree *stmt) {
10396
11720
    AddSon (sons[0], k); AddSon (sons[1], o); AddSon (sons[2], i); 
10407
11731
   *  \param n The index of the son.
10408
11732
   *  \return The n-th son or NULL. */
10409
11733
  CTree *Son (int n) const { return CTree::Son (sons, 8, n); }
 
11734
  /** Get the loop initializer. */
10410
11735
  CTree *InitStmt () const { return sons[2]; }
 
11736
  /** Get the loop condition. */
10411
11737
  CTree *Condition () const { return sons[3]; }
 
11738
  /** Get the loop counter expression. */
10412
11739
  CTree *Expr () const { return sons[5]; }
 
11740
  /** Get the controlled statement. */
10413
11741
  CT_Statement *Statement () const { return (CT_Statement*)sons[7]; }
10414
11742
  /** Replace a son.
10415
11743
   *  \param old_son The son to replace.
10417
11745
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
10418
11746
    CTree::ReplaceSon (sons, 8, old_son, new_son);
10419
11747
  }
 
11748
  /** Get the scope opened by the for-statement. */
10420
11749
  CSemScope *SemScope () const { return (CSemScope*)this; }
 
11750
public:
 
11751
  typedef AC::TL<Puma::CTree * [8],AC::TLE > __AttrTypes;
 
11752
  const char *__attr_name (unsigned i) const {
 
11753
    static const char *names[] = { "sons" }; return names[i];
 
11754
  }
 
11755
  const void *__attr (unsigned __i) const {
 
11756
    switch (__i) { case 0: return &sons; default: return 0; }
 
11757
  }
 
11758
#line 3913 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10421
11759
};
10422
11760
 
 
11761
/** \class CT_Condition CTree.h Puma/CTree.h
 
11762
 *  Tree node representing a control-statement condition.
 
11763
 *  Example: \code int i = 0 \endcode */
10423
11764
 
10424
 
#line 10425 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
11765
#line 11766 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
10425
11766
} // closed Puma
10426
11767
class CCExprResolve;
10427
11768
class CExprResolve;
10444
11785
class CMatchSyntax;
10445
11786
namespace Puma {
10446
11787
 
10447
 
#line 3363 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
11788
#line 3918 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10448
11789
class CT_Condition : public CT_Decl, public CSemObject {
10449
 
#line 10450 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
11790
#line 11791 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
10450
11791
  friend class ::CCExprResolve;
10451
11792
  friend class ::CExprResolve;
10452
11793
  friend class ::WinIfExists;
10467
11808
  friend class ::PragmaOnce;
10468
11809
  friend class ::CMatchSyntax;
10469
11810
 
10470
 
#line 3363 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
11811
#line 3918 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10471
11812
 
10472
11813
  CTree *sons[3]; // declspecs, declarator, init
10473
11814
 
10474
11815
public:
 
11816
  /** Constructor.
 
11817
   *  \param dsl The declaration specifier sequence. 
 
11818
   *  \param d The variable declarator. */
10475
11819
  CT_Condition (CTree *dsl, CTree *d) {
10476
11820
    AddSon (sons[0], dsl); AddSon (sons[1], d); AddSon (sons[2], 0);
10477
11821
  }
10485
11829
   *  \param n The index of the son.
10486
11830
   *  \return The n-th son or NULL. */
10487
11831
  CTree *Son (int n) const { return CTree::Son (sons, 3, n); }
 
11832
  /** Get the declaration specifier sequence. */
10488
11833
  CT_DeclSpecSeq *DeclSpecs () const { return (CT_DeclSpecSeq*)sons[0]; }
 
11834
  /** Get the declarator. */
10489
11835
  CTree *Declarator () const { return sons[1]; }
 
11836
  /** Get the initializer of the declaration. */
10490
11837
  CT_ExprList *Initializer () const { return (CT_ExprList*)sons[2]; }
 
11838
  /** Get the semantic information of the declared object. */
10491
11839
  CSemObject *SemObject () const { return (CSemObject*)this; }
 
11840
  /** Set the initializer. */
10492
11841
  void Initializer (CTree *i) { AddSon (sons[2], i); }
10493
11842
  /** Replace a son.
10494
11843
   *  \param old_son The son to replace.
10496
11845
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
10497
11846
    CTree::ReplaceSon (sons, 3, old_son, new_son);
10498
11847
  }
 
11848
public:
 
11849
  typedef AC::TL<Puma::CTree * [3],AC::TLE > __AttrTypes;
 
11850
  const char *__attr_name (unsigned i) const {
 
11851
    static const char *names[] = { "sons" }; return names[i];
 
11852
  }
 
11853
  const void *__attr (unsigned __i) const {
 
11854
    switch (__i) { case 0: return &sons; default: return 0; }
 
11855
  }
 
11856
#line 3954 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10499
11857
};
10500
11858
 
10501
11859
/*****************************************************************************/
10504
11862
/*                                                                           */
10505
11863
/*****************************************************************************/
10506
11864
 
 
11865
/** \class CT_ClassDef CTree.h Puma/CTree.h
 
11866
 *  Tree node representing a class definition.
 
11867
 *  Example: \code class X : Y { int x; } \endcode */
10507
11868
 
10508
 
#line 10509 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
11869
#line 11870 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
10509
11870
} // closed Puma
10510
11871
class CCExprResolve;
10511
11872
class CExprResolve;
10528
11889
class CMatchSyntax;
10529
11890
namespace Puma {
10530
11891
 
10531
 
#line 3399 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
11892
#line 3965 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10532
11893
 
10533
 
#line 10534 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
11894
#line 11895 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
10534
11895
} // closed Puma
10535
11896
 
10536
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
10537
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
11897
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
11898
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACTree_ah__
10538
11899
#include "ExtACTree.ah"
10539
11900
#endif
10540
11901
namespace Puma {
10541
11902
 
10542
 
#line 3399 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
11903
#line 3965 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10543
11904
class CT_ClassDef : public CT_Decl, public CSemObject {
10544
 
#line 10545 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
11905
#line 11906 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
10545
11906
  friend class ::CCExprResolve;
10546
11907
  friend class ::CExprResolve;
10547
11908
  friend class ::WinIfExists;
10562
11923
  friend class ::PragmaOnce;
10563
11924
  friend class ::CMatchSyntax;
10564
11925
 
10565
 
#line 3399 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
11926
#line 3965 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10566
11927
 
10567
11928
   
10568
 
#line 10569 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
11929
#line 11930 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
10569
11930
 
10570
11931
  struct __ac_wrapper_sons {
10571
11932
    typedef ::Puma::CTree * E; typedef E A[4]; A _data;
10580
11941
    template <typename I> E& operator [] (I i) { return _data[i]; } // for VC++ 2003
10581
11942
    template <typename I> const E& operator [] (I i) const { return _data[i]; } // for VC++ 2003
10582
11943
  } sons
10583
 
#line 3400 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
11944
#line 3966 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10584
11945
 
10585
 
#line 3400 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
11946
#line 3966 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10586
11947
; // key, name, bases, members
10587
11948
  CTree *obj_decl;
10588
11949
 
10589
11950
public:
 
11951
  /** Constructor.
 
11952
   *  \param k The keyword 'class' or 'struct'.
 
11953
   *  \param n The name of the class.
 
11954
   *  \param b The base class list. */
10590
11955
  
10591
 
#line 10592 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
11956
#line 11957 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
10592
11957
 
10593
11958
 
10594
11959
template <typename TResult, typename TThat, typename TTarget, typename TArgs> struct TJP__ZN4Puma11CT_ClassDefC1EPN4PumaE5CTreePN4PumaE5CTreePN4PumaE5CTree_0 {
10612
11977
};
10613
11978
 
10614
11979
 
10615
 
#line 3404 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
11980
#line 3974 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10616
11981
CT_ClassDef (CTree * arg0, CTree * arg1, CTree * arg2 = (CTree*)0) 
10617
 
#line 10618 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
11982
#line 11983 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
10618
11983
{
10619
11984
  typedef TJP__ZN4Puma11CT_ClassDefC1EPN4PumaE5CTreePN4PumaE5CTreePN4PumaE5CTree_0< void, ::Puma::CT_ClassDef , ::Puma::CT_ClassDef ,  AC::TL< ::Puma::CTree * , AC::TL< ::Puma::CTree * , AC::TL< ::Puma::CTree * , AC::TLE > > > > __TJP;
10620
11985
    __TJP tjp;
10624
11989
  
10625
11990
}
10626
11991
__attribute__((always_inline)) inline void __exec_old_C1(::Puma::CTree * k,::Puma::CTree * n,::Puma::CTree * b)
10627
 
#line 3404 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
11992
#line 3974 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10628
11993
{
10629
11994
    AddSon (sons[0], k); AddSon (sons[1], n); AddSon (sons[2], b); 
10630
11995
    AddSon (sons[3], 0); AddSon (obj_decl, 0); 
10639
12004
   *  \param n The index of the son.
10640
12005
   *  \return The n-th son or NULL. */
10641
12006
  CTree *Son (int n) const { return CTree::Son (sons, 4, n); }
 
12007
  /** Get the name of the class. */
10642
12008
  CT_SimpleName *Name () const { return (CT_SimpleName*)sons[1]; }
 
12009
  /** Get the member declarations list. */
10643
12010
  CT_MembList *Members () const { return (CT_MembList*)sons[3]; }
 
12011
  /** Get the base class specifiers list. */
10644
12012
  CT_BaseSpecList *BaseClasses () const { return (CT_BaseSpecList*)sons[2]; }
 
12013
  /** Get the object declaration node containing the class definition. */
10645
12014
  CT_ObjDecl *ObjDecl () const { return (CT_ObjDecl*)obj_decl; }
 
12015
  /** Get the semantic information about the declared class. */
10646
12016
  CSemObject *SemObject () const { return (CSemObject*)this; }
 
12017
  /** Set the member declarations list. */
10647
12018
  void Members (CTree *m) { AddSon (sons[3], m); }
 
12019
  /** Set the base class specifiers list. */
10648
12020
  void BaseClasses (CTree *bc) { AddSon (sons[2], bc); }
 
12021
  /** Set the object declaration containing the class definition. */
10649
12022
  void ObjDecl (CTree *od) { AddSon (obj_decl, od); }
10650
12023
  /** Replace a son.
10651
12024
   *  \param old_son The son to replace.
10655
12028
  }
10656
12029
   private:
10657
12030
 
10658
 
#line 37 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACTree.ah"
 
12031
#line 37 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/ExtACTree.ah"
10659
12032
 Puma :: CTree * _intro_members ;
10660
12033
Puma :: CTree * _base_intros ;
10661
12034
public :
10662
12035
Puma :: CTree * IntroMembers ( ) const { return _intro_members ; }
10663
12036
void IntroMembers ( Puma :: CTree * members ) { _intro_members = members ; }
10664
12037
Puma :: CTree * BaseIntros ( ) const { return _base_intros ; }
10665
 
void BaseIntros ( Puma :: CTree * bases ) { _base_intros = bases ; }
10666
 
#line 3432 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
12038
void BaseIntros ( Puma :: CTree * bases ) { _base_intros = bases ; }public:
 
12039
  typedef AC::TL<Puma::CTree * [4],AC::TL<Puma::CTree *,AC::TL<Puma::CTree *,AC::TL<Puma::CTree *,AC::TLE > > > > __AttrTypes;
 
12040
  const char *__attr_name (unsigned i) const {
 
12041
    static const char *names[] = { "sons", "obj_decl", "_intro_members", "_base_intros" }; return names[i];
 
12042
  }
 
12043
  const void *__attr (unsigned __i) const {
 
12044
    switch (__i) { case 0: return &sons; case 1: return &obj_decl; case 2: return &_intro_members; case 3: return &_base_intros; default: return 0; }
 
12045
  }
 
12046
#line 4010 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10667
12047
 
10668
 
#line 10669 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
12048
#line 12049 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
10669
12049
 
10670
12050
template <typename TResult, typename TThat, typename TTarget, typename TArgs> struct TJP__ZN4Puma11CT_ClassDefC1ERKN4PumaE11CT_ClassDef_0 {
10671
12051
  typedef TJP__ZN4Puma11CT_ClassDefC1ERKN4PumaE11CT_ClassDef_0 __TJP;
10674
12054
  typedef TTarget Target;
10675
12055
  enum { ARGS = TArgs::ARGS };
10676
12056
  template <int I> struct Arg : AC::Arg<TArgs, I> {};
10677
 
  static const int JPID = 8547;
 
12057
  static const int JPID = 8545;
10678
12058
  static const AC::JPType JPTYPE = (AC::JPType)16;
10679
12059
  struct Res {
10680
12060
    typedef void Type;
10688
12068
};
10689
12069
 
10690
12070
 
10691
 
#line 3432 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
12071
#line 4010 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10692
12072
 
10693
 
#line 10694 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
12073
#line 12074 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
10694
12074
 
10695
12075
public:
10696
12076
inline CT_ClassDef (const Puma::CT_ClassDef & arg0) : Puma::CT_Decl (arg0), Puma::CSemObject (arg0), sons (arg0.sons), obj_decl (arg0.obj_decl), _intro_members (arg0._intro_members), _base_intros (arg0._base_intros) {
10701
12081
 
10702
12082
}
10703
12083
 
10704
 
#line 3432 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
12084
#line 4010 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10705
12085
 
10706
 
#line 10707 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
12086
#line 12087 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
10707
12087
 
10708
12088
template <typename TResult, typename TThat, typename TTarget, typename TArgs> struct TJP__ZN4Puma11CT_ClassDefD1Ev_0 {
10709
12089
  typedef TJP__ZN4Puma11CT_ClassDefD1Ev_0 __TJP;
10712
12092
  typedef TTarget Target;
10713
12093
  enum { ARGS = TArgs::ARGS };
10714
12094
  template <int I> struct Arg : AC::Arg<TArgs, I> {};
10715
 
  static const int JPID = 8545;
 
12095
  static const int JPID = 8543;
10716
12096
  static const AC::JPType JPTYPE = (AC::JPType)32;
10717
12097
  struct Res {
10718
12098
    typedef void Type;
10726
12106
};
10727
12107
 
10728
12108
 
10729
 
#line 3432 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
12109
#line 4010 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10730
12110
 
10731
 
#line 10732 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
12111
#line 12112 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
10732
12112
 
10733
12113
public:
10734
12114
inline ~CT_ClassDef () {
10739
12119
 
10740
12120
}
10741
12121
 
10742
 
#line 3432 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
12122
#line 4010 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10743
12123
};
10744
12124
      
 
12125
/** \class CT_UnionDef CTree.h Puma/CTree.h
 
12126
 *  Tree node representing the definition of a union.
 
12127
 *  Example: \code union U { int i; } \endcode */
10745
12128
 
10746
 
#line 10747 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
12129
#line 12130 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
10747
12130
} // closed Puma
10748
12131
class CCExprResolve;
10749
12132
class CExprResolve;
10766
12149
class CMatchSyntax;
10767
12150
namespace Puma {
10768
12151
 
10769
 
#line 3434 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
12152
#line 4015 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10770
12153
class CT_UnionDef : public CT_ClassDef {
10771
 
#line 10772 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
12154
#line 12155 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
10772
12155
  friend class ::CCExprResolve;
10773
12156
  friend class ::CExprResolve;
10774
12157
  friend class ::WinIfExists;
10789
12172
  friend class ::PragmaOnce;
10790
12173
  friend class ::CMatchSyntax;
10791
12174
 
10792
 
#line 3434 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
12175
#line 4015 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10793
12176
 
10794
12177
public:
 
12178
  /** Constructor.
 
12179
   *  \param k The keyword 'union'.
 
12180
   *  \param n The name of the union.
 
12181
   *  \param b The base union list. */
10795
12182
  CT_UnionDef (CTree *k, CTree *n, CTree *b = 0) : CT_ClassDef (k, n, b) {}
 
12183
  /** Get the identifier for this node type. Can be compared with NodeName(). */
10796
12184
  static const char *NodeId ();
10797
12185
  /** Get the name of the node. Can be compared with NodeId(). */
10798
12186
  const char *NodeName () const { return NodeId (); }
 
12187
public:
 
12188
  typedef AC::TLE __AttrTypes;
 
12189
  const char *__attr_name (unsigned i) const { return 0; }
 
12190
  const void *__attr (unsigned __i) const { return 0; }
 
12191
#line 4026 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10799
12192
};
10800
12193
      
 
12194
/** \class CT_MembList CTree.h Puma/CTree.h
 
12195
 *  Tree node representing a member declarations list. */ 
10801
12196
 
10802
 
#line 10803 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
12197
#line 12198 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
10803
12198
} // closed Puma
10804
12199
class CCExprResolve;
10805
12200
class CExprResolve;
10822
12217
class CMatchSyntax;
10823
12218
namespace Puma {
10824
12219
 
10825
 
#line 3442 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
12220
#line 4030 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10826
12221
class CT_MembList : public CT_DeclList, public CSemScope {
10827
 
#line 10828 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
12222
#line 12223 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
10828
12223
  friend class ::CCExprResolve;
10829
12224
  friend class ::CExprResolve;
10830
12225
  friend class ::WinIfExists;
10845
12240
  friend class ::PragmaOnce;
10846
12241
  friend class ::CMatchSyntax;
10847
12242
 
10848
 
#line 3442 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
12243
#line 4030 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10849
12244
 
10850
12245
public:
10851
12246
  CT_MembList (int size = 10, int incr = 10) : 
10854
12249
  static const char *NodeId ();
10855
12250
  /** Get the name of the node. Can be compared with NodeId(). */
10856
12251
  const char *NodeName () const { return NodeId (); }
 
12252
  /** Get the scope opened by the member declarations list. */
10857
12253
  CSemScope *SemScope () const { return (CSemScope*)this; }
 
12254
public:
 
12255
  typedef AC::TLE __AttrTypes;
 
12256
  const char *__attr_name (unsigned i) const { return 0; }
 
12257
  const void *__attr (unsigned __i) const { return 0; }
 
12258
#line 4040 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10858
12259
};
10859
12260
 
 
12261
/** \class CT_MembInitList CTree.h Puma/CTree.h
 
12262
 *  Tree node representing a constructor initializer list.
 
12263
 *  Example: \code : Base(), m_Member(0) \endcode */
10860
12264
 
10861
 
#line 10862 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
12265
#line 12266 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
10862
12266
} // closed Puma
10863
12267
class CCExprResolve;
10864
12268
class CExprResolve;
10881
12285
class CMatchSyntax;
10882
12286
namespace Puma {
10883
12287
 
10884
 
#line 3453 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
12288
#line 4045 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10885
12289
class CT_MembInitList : public CT_List, public CSemScope {
10886
 
#line 10887 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
12290
#line 12291 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
10887
12291
  friend class ::CCExprResolve;
10888
12292
  friend class ::CExprResolve;
10889
12293
  friend class ::WinIfExists;
10904
12308
  friend class ::PragmaOnce;
10905
12309
  friend class ::CMatchSyntax;
10906
12310
 
10907
 
#line 3453 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
12311
#line 4045 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10908
12312
 
10909
12313
public:
 
12314
  /** Constructor.
 
12315
   *  \param size The initial size of the list. */
10910
12316
  CT_MembInitList (int size = 2) : 
10911
12317
    CT_List (size, 2, CT_List::OPEN) {}
 
12318
  /** Get the identifier for this node type. Can be compared with NodeName(). */
10912
12319
  static const char *NodeId ();
10913
12320
  /** Get the name of the node. Can be compared with NodeId(). */
10914
12321
  const char *NodeName () const { return NodeId (); }
 
12322
  /** Get the scope opened by the member initializer list. */
10915
12323
  CSemScope *SemScope () const { return (CSemScope*)this; }
 
12324
public:
 
12325
  typedef AC::TLE __AttrTypes;
 
12326
  const char *__attr_name (unsigned i) const { return 0; }
 
12327
  const void *__attr (unsigned __i) const { return 0; }
 
12328
#line 4057 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10916
12329
};
10917
12330
 
 
12331
/** \class CT_MembInit CTree.h Puma/CTree.h
 
12332
 *  Tree node representing a member initializer.
 
12333
 *  Example: \code m_Member(0) \endcode */
10918
12334
 
10919
 
#line 10920 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
12335
#line 12336 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
10920
12336
} // closed Puma
10921
12337
class CCExprResolve;
10922
12338
class CExprResolve;
10939
12355
class CMatchSyntax;
10940
12356
namespace Puma {
10941
12357
 
10942
 
#line 3463 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
12358
#line 4062 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10943
12359
 
10944
 
#line 10945 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
12360
#line 12361 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
10945
12361
} // closed Puma
10946
12362
 
10947
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
10948
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
12363
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
12364
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
10949
12365
#include "CCExprResolveH.ah"
10950
12366
#endif
10951
12367
namespace Puma {
10952
12368
 
10953
 
#line 3463 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
12369
#line 4062 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10954
12370
 
10955
 
#line 10956 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
12371
#line 12372 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
10956
12372
} // closed Puma
10957
12373
 
10958
 
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
10959
 
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
12374
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
12375
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
10960
12376
#include "CExprResolveH.ah"
10961
12377
#endif
10962
12378
namespace Puma {
10963
12379
 
10964
 
#line 3463 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
12380
#line 4062 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10965
12381
class CT_MembInit : public CT_Expression, public CSemObject {
10966
 
#line 10967 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
12382
#line 12383 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
10967
12383
  friend class ::CCExprResolve;
10968
12384
  friend class ::CExprResolve;
10969
12385
  friend class ::WinIfExists;
10984
12400
  friend class ::PragmaOnce;
10985
12401
  friend class ::CMatchSyntax;
10986
12402
 
10987
 
#line 3463 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
12403
#line 4062 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
10988
12404
 
10989
12405
  CTree *sons[2]; // name, init
10990
12406
 
10991
12407
public:
 
12408
  /** Constructor.
 
12409
   *  \param n The name of the member.
 
12410
   *  \param i The member initializer. */
10992
12411
  CT_MembInit (CTree *n, CTree *i) { AddSon (sons[0], n); AddSon (sons[1], i); }
10993
12412
  /** Get the identifier for this node type. Can be compared with NodeName(). */
10994
12413
  static const char *NodeId ();
11006
12425
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
11007
12426
    CTree::ReplaceSon (sons, 2, old_son, new_son);
11008
12427
  }
 
12428
  /** Get the name of the member. */
11009
12429
  CT_SimpleName *Name () const { return (CT_SimpleName*)sons[0]; }
 
12430
  /** Get the initializer. */
11010
12431
  CT_ExprList *Initializer () const { return (CT_ExprList*)sons[1]; }
 
12432
  /** Get the semantic information about the initialized member. */
11011
12433
  CSemObject *SemObject () const { return (CSemObject*)this; }
11012
12434
   private:
11013
12435
  typedef CT_MembInit CCExprResolveExpr;
11014
12436
 
11015
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
 
12437
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CCExprResolveH.ah"
11016
12438
 public :
11017
12439
virtual Puma :: CTypeInfo * resolve ( Puma :: CCSemExpr & sem_expr , Puma :: CTree * base ) ;   private:
11018
12440
  typedef CT_MembInit CExprResolveExpr;
11019
12441
 
11020
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/CExprResolveH.ah"
 
12442
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/CExprResolveH.ah"
11021
12443
 public :
11022
 
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;
11023
 
#line 3487 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
12444
virtual Puma :: CTypeInfo * resolve ( Puma :: CSemExpr & sem_expr , Puma :: CTree * base ) ;public:
 
12445
  typedef AC::TL<Puma::CTree * [2],AC::TLE > __AttrTypes;
 
12446
  const char *__attr_name (unsigned i) const {
 
12447
    static const char *names[] = { "sons" }; return names[i];
 
12448
  }
 
12449
  const void *__attr (unsigned __i) const {
 
12450
    switch (__i) { case 0: return &sons; default: return 0; }
 
12451
  }
 
12452
#line 4092 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
11024
12453
};
11025
12454
 
 
12455
/** \class CT_BaseSpecList CTree.h Puma/CTree.h
 
12456
 *  Tree node representing a base specifier list.
 
12457
 *  Example: \code : X, Y, Z \endcode */
11026
12458
 
11027
 
#line 11028 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
12459
#line 12460 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
11028
12460
} // closed Puma
11029
12461
class CCExprResolve;
11030
12462
class CExprResolve;
11047
12479
class CMatchSyntax;
11048
12480
namespace Puma {
11049
12481
 
11050
 
#line 3489 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
12482
#line 4097 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
11051
12483
class CT_BaseSpecList : public CT_List {
11052
 
#line 11053 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
12484
#line 12485 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
11053
12485
  friend class ::CCExprResolve;
11054
12486
  friend class ::CExprResolve;
11055
12487
  friend class ::WinIfExists;
11070
12502
  friend class ::PragmaOnce;
11071
12503
  friend class ::CMatchSyntax;
11072
12504
 
11073
 
#line 3489 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
12505
#line 4097 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
11074
12506
 
11075
12507
public:
 
12508
  /** Constructor.
 
12509
   *  \param size The initial size of the list. */
11076
12510
  CT_BaseSpecList (int size = 2) : 
11077
12511
    CT_List (size, 2, CT_List::OPEN|CT_List::SEPARATORS) {}
11078
12512
  /** Get the identifier for this node type. Can be compared with NodeName(). */
11079
12513
  static const char *NodeId ();
11080
12514
  /** Get the name of the node. Can be compared with NodeId(). */
11081
12515
  const char *NodeName () const { return NodeId (); }
 
12516
public:
 
12517
  typedef AC::TLE __AttrTypes;
 
12518
  const char *__attr_name (unsigned i) const { return 0; }
 
12519
  const void *__attr (unsigned __i) const { return 0; }
 
12520
#line 4107 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
11082
12521
};
11083
12522
 
 
12523
/** \class CT_AccessSpec CTree.h Puma/CTree.h
 
12524
 *  Tree node representing an access specifier.
 
12525
 *  Example: \code public: \endcode */
11084
12526
 
11085
 
#line 11086 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
12527
#line 12528 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
11086
12528
} // closed Puma
11087
12529
class CCExprResolve;
11088
12530
class CExprResolve;
11105
12547
class CMatchSyntax;
11106
12548
namespace Puma {
11107
12549
 
11108
 
#line 3499 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
12550
#line 4112 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
11109
12551
class CT_AccessSpec : public CTree {
11110
 
#line 11111 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
12552
#line 12553 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
11111
12553
  friend class ::CCExprResolve;
11112
12554
  friend class ::CExprResolve;
11113
12555
  friend class ::WinIfExists;
11128
12570
  friend class ::PragmaOnce;
11129
12571
  friend class ::CMatchSyntax;
11130
12572
 
11131
 
#line 3499 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
12573
#line 4112 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
11132
12574
 
11133
12575
  CTree *sons[2]; // access, colon
11134
12576
 
11135
12577
public:
 
12578
  /** Constructor.
 
12579
   *  \param a The access specifier, i.e. 'public', 'private', or 'protected'.
 
12580
   *  \param c The trailing colon. */
11136
12581
  CT_AccessSpec (CTree *a, CTree *c) { AddSon (sons[0], a); AddSon (sons[1], c); }
11137
12582
  /** Get the identifier for this node type. Can be compared with NodeName(). */
11138
12583
  static const char *NodeId ();
11144
12589
   *  \param n The index of the son.
11145
12590
   *  \return The n-th son or NULL. */
11146
12591
  CTree *Son (int n) const { return CTree::Son (sons, 2, n); }
 
12592
  /** Get the access specifier type (token type). */
11147
12593
  int Access () const { return sons[0]->token ()->type (); }
11148
12594
  /** Replace a son.
11149
12595
   *  \param old_son The son to replace.
11151
12597
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
11152
12598
    CTree::ReplaceSon (sons, 2, old_son, new_son);
11153
12599
  }
 
12600
public:
 
12601
  typedef AC::TL<Puma::CTree * [2],AC::TLE > __AttrTypes;
 
12602
  const char *__attr_name (unsigned i) const {
 
12603
    static const char *names[] = { "sons" }; return names[i];
 
12604
  }
 
12605
  const void *__attr (unsigned __i) const {
 
12606
    switch (__i) { case 0: return &sons; default: return 0; }
 
12607
  }
 
12608
#line 4138 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
11154
12609
};
11155
12610
 
 
12611
/** \class CT_BaseSpec CTree.h Puma/CTree.h
 
12612
 *  Tree node representing a base class specifier.
 
12613
 *  Example: \code public X \endcode */
11156
12614
 
11157
 
#line 11158 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
12615
#line 12616 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
11158
12616
} // closed Puma
11159
12617
class CCExprResolve;
11160
12618
class CExprResolve;
11177
12635
class CMatchSyntax;
11178
12636
namespace Puma {
11179
12637
 
11180
 
#line 3523 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
12638
#line 4143 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
11181
12639
class CT_BaseSpec : public CTree {
11182
 
#line 11183 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
12640
#line 12641 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
11183
12641
  friend class ::CCExprResolve;
11184
12642
  friend class ::CExprResolve;
11185
12643
  friend class ::WinIfExists;
11200
12658
  friend class ::PragmaOnce;
11201
12659
  friend class ::CMatchSyntax;
11202
12660
 
11203
 
#line 3523 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
12661
#line 4143 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
11204
12662
 
11205
12663
  CTree *sons[3]; // virtual, access, name
11206
12664
 
11207
12665
public:
 
12666
  /** Constructor.
 
12667
   *  \param v Optional keyword 'virtual'.
 
12668
   *  \param a The optional access specifier.
 
12669
   *  \param n The name of the base class. */
11208
12670
  CT_BaseSpec (CTree *v, CTree *a, CTree *n) {
11209
12671
    AddSon (sons[0], v); AddSon (sons[1], a); AddSon (sons[2], n); 
11210
12672
  }
11218
12680
   *  \param n The index of the son.
11219
12681
   *  \return The n-th son or NULL. */
11220
12682
  CTree *Son (int n) const { return CTree::Son (sons, 3, n); }
 
12683
  /** Get the type of the access specifier (token type). */
11221
12684
  int Access () const { return sons[1]->token ()->type (); }
 
12685
  /** The access specifier. */
11222
12686
  CTree *AccessSpec () const { return sons[1]; }
 
12687
  /** Get the keyword 'virtual'. */
11223
12688
  CTree *Virtual () const { return sons[0]; }
 
12689
  /** Get the name of the base class. */
11224
12690
  CT_SimpleName *Name () const { return (CT_SimpleName*)sons[2]; }
11225
12691
  /** Replace a son.
11226
12692
   *  \param old_son The son to replace.
11228
12694
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
11229
12695
    CTree::ReplaceSon (sons, 3, old_son, new_son);
11230
12696
  }
 
12697
public:
 
12698
  typedef AC::TL<Puma::CTree * [3],AC::TLE > __AttrTypes;
 
12699
  const char *__attr_name (unsigned i) const {
 
12700
    static const char *names[] = { "sons" }; return names[i];
 
12701
  }
 
12702
  const void *__attr (unsigned __i) const {
 
12703
    switch (__i) { case 0: return &sons; default: return 0; }
 
12704
  }
 
12705
#line 4178 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
11231
12706
};
11232
12707
 
 
12708
/** \class CT_AccessDecl CTree.h Puma/CTree.h
 
12709
 *  Tree node representing a member access declaration.
 
12710
 *  Example: \code m_BaseClassMember; \endcode */
11233
12711
 
11234
 
#line 11235 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
12712
#line 12713 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
11235
12713
} // closed Puma
11236
12714
class CCExprResolve;
11237
12715
class CExprResolve;
11254
12732
class CMatchSyntax;
11255
12733
namespace Puma {
11256
12734
 
11257
 
#line 3552 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
12735
#line 4183 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
11258
12736
class CT_AccessDecl : public CT_Decl {
11259
 
#line 11260 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
12737
#line 12738 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
11260
12738
  friend class ::CCExprResolve;
11261
12739
  friend class ::CExprResolve;
11262
12740
  friend class ::WinIfExists;
11277
12755
  friend class ::PragmaOnce;
11278
12756
  friend class ::CMatchSyntax;
11279
12757
 
11280
 
#line 3552 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
12758
#line 4183 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
11281
12759
 
11282
12760
  CTree *sons[2]; // name, semi_colon
11283
12761
 
11284
12762
public:
 
12763
  /** Constructor.
 
12764
   *  \param n The name of the base class member.
 
12765
   *  \param s The trailing semi-colon. */
11285
12766
  CT_AccessDecl (CTree *n, CTree *s) { AddSon (sons[0], n); AddSon (sons[1], s); }
11286
12767
  /** Get the identifier for this node type. Can be compared with NodeName(). */
11287
12768
  static const char *NodeId ();
11293
12774
   *  \param n The index of the son.
11294
12775
   *  \return The n-th son or NULL. */
11295
12776
  CTree *Son (int n) const { return CTree::Son (sons, 2, n); }
 
12777
  /** Get the name of the base class member. */
11296
12778
  CT_QualName *Member () const { return (CT_QualName*)sons[0]; }
11297
12779
  /** Replace a son.
11298
12780
   *  \param old_son The son to replace.
11300
12782
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
11301
12783
    CTree::ReplaceSon (sons, 2, old_son, new_son);
11302
12784
  }
 
12785
public:
 
12786
  typedef AC::TL<Puma::CTree * [2],AC::TLE > __AttrTypes;
 
12787
  const char *__attr_name (unsigned i) const {
 
12788
    static const char *names[] = { "sons" }; return names[i];
 
12789
  }
 
12790
  const void *__attr (unsigned __i) const {
 
12791
    switch (__i) { case 0: return &sons; default: return 0; }
 
12792
  }
 
12793
#line 4209 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
11303
12794
};
11304
12795
 
 
12796
/** \class CT_UsingDecl CTree.h Puma/CTree.h
 
12797
 *  Tree node representing a using declaration.
 
12798
 *  Example: \code using Base::m_Member; \endcode */
11305
12799
 
11306
 
#line 11307 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
12800
#line 12801 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
11307
12801
} // closed Puma
11308
12802
class CCExprResolve;
11309
12803
class CExprResolve;
11326
12820
class CMatchSyntax;
11327
12821
namespace Puma {
11328
12822
 
11329
 
#line 3576 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
12823
#line 4214 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
11330
12824
class CT_UsingDecl : public CT_AccessDecl {
11331
 
#line 11332 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
12825
#line 12826 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
11332
12826
  friend class ::CCExprResolve;
11333
12827
  friend class ::CExprResolve;
11334
12828
  friend class ::WinIfExists;
11349
12843
  friend class ::PragmaOnce;
11350
12844
  friend class ::CMatchSyntax;
11351
12845
 
11352
 
#line 3576 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
12846
#line 4214 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
11353
12847
 
11354
12848
  CTree *sons[2]; // using, typename
11355
12849
 
11356
12850
public:
 
12851
  /** Constructor.
 
12852
   *  \param u The keyword 'using'.
 
12853
   *  \param n The name of the entity.
 
12854
   *  \param s The trailing semi-colon. */
11357
12855
  CT_UsingDecl (CTree *u, CTree *n, CTree *s) : CT_AccessDecl (n, s) {
11358
12856
    AddSon (sons[0], u); AddSon (sons[1], 0); 
11359
12857
  }
 
12858
  /** Constructor.
 
12859
   *  \param u The keyword 'using'.
 
12860
   *  \param t The keyword 'typename'.
 
12861
   *  \param n The name of the entity.
 
12862
   *  \param s The trailing semi-colon. */
11360
12863
  CT_UsingDecl (CTree *u, CTree *t, CTree *n, CTree *s) : CT_AccessDecl (n, s) {
11361
12864
    AddSon (sons[0], u); AddSon (sons[1], t); 
11362
12865
  }
11374
12877
    CTree *result = CTree::Son (sons, 2, n);
11375
12878
    return result ? result : CT_AccessDecl::Son (n-num);
11376
12879
  }
 
12880
  /** Get the keyword 'typename'. */
11377
12881
  CTree *Typename () const { return sons[1]; }
11378
12882
  /** Replace a son.
11379
12883
   *  \param old_son The son to replace.
11382
12886
    CTree::ReplaceSon (sons, 2, old_son, new_son);
11383
12887
    CT_AccessDecl::ReplaceSon (old_son, new_son);
11384
12888
  }
 
12889
public:
 
12890
  typedef AC::TL<Puma::CTree * [2],AC::TLE > __AttrTypes;
 
12891
  const char *__attr_name (unsigned i) const {
 
12892
    static const char *names[] = { "sons" }; return names[i];
 
12893
  }
 
12894
  const void *__attr (unsigned __i) const {
 
12895
    switch (__i) { case 0: return &sons; default: return 0; }
 
12896
  }
 
12897
#line 4256 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
11385
12898
};
11386
12899
 
11387
12900
/*****************************************************************************/
11390
12903
/*                                                                           */
11391
12904
/*****************************************************************************/
11392
12905
 
 
12906
/** \class CT_Any CTree.h Puma/CTree.h
 
12907
 *  Tree node representing a wildcard. */
11393
12908
 
11394
 
#line 11395 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
12909
#line 12910 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
11395
12910
} // closed Puma
11396
12911
class CCExprResolve;
11397
12912
class CExprResolve;
11414
12929
class CMatchSyntax;
11415
12930
namespace Puma {
11416
12931
 
11417
 
#line 3616 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
12932
#line 4266 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
11418
12933
class CT_Any : public CTree {
11419
 
#line 11420 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
12934
#line 12935 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
11420
12935
  friend class ::CCExprResolve;
11421
12936
  friend class ::CExprResolve;
11422
12937
  friend class ::WinIfExists;
11437
12952
  friend class ::PragmaOnce;
11438
12953
  friend class ::CMatchSyntax;
11439
12954
 
11440
 
#line 3616 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
12955
#line 4266 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
11441
12956
 
11442
12957
  CTree *sons[2]; // keyword, extension
11443
12958
 
11444
12959
public:
 
12960
  /** Constructor.
 
12961
   *  \param k The wildcard keyword.
 
12962
   *  \param e The extension. */
11445
12963
  CT_Any (CTree *k, CTree *e = (CTree*)0) { AddSon (sons[0], k); AddSon (sons[1], e); }
11446
12964
  /** Get the identifier for this node type. Can be compared with NodeName(). */
11447
12965
  static const char *NodeId ();
11459
12977
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
11460
12978
    CTree::ReplaceSon (sons, 2, old_son, new_son);
11461
12979
  }
 
12980
  /** Get the type of the wildcard (token type). */
11462
12981
  int AnyType () const { return sons[0]->token ()->type (); }
 
12982
  /** Get the extension. */
11463
12983
  CT_AnyExtension *Extension () const { return (CT_AnyExtension*)sons[1]; }
 
12984
public:
 
12985
  typedef AC::TL<Puma::CTree * [2],AC::TLE > __AttrTypes;
 
12986
  const char *__attr_name (unsigned i) const {
 
12987
    static const char *names[] = { "sons" }; return names[i];
 
12988
  }
 
12989
  const void *__attr (unsigned __i) const {
 
12990
    switch (__i) { case 0: return &sons; default: return 0; }
 
12991
  }
 
12992
#line 4294 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
11464
12993
};
11465
12994
 
 
12995
/** \class CT_AnyList CTree.h Puma/CTree.h
 
12996
 *  Tree node representing a list wildcard. */
11466
12997
 
11467
 
#line 11468 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
12998
#line 12999 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
11468
12999
} // closed Puma
11469
13000
class CCExprResolve;
11470
13001
class CExprResolve;
11487
13018
class CMatchSyntax;
11488
13019
namespace Puma {
11489
13020
 
11490
 
#line 3641 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
13021
#line 4298 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
11491
13022
class CT_AnyList : public CT_Any {
11492
 
#line 11493 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
13023
#line 13024 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
11493
13024
  friend class ::CCExprResolve;
11494
13025
  friend class ::CExprResolve;
11495
13026
  friend class ::WinIfExists;
11510
13041
  friend class ::PragmaOnce;
11511
13042
  friend class ::CMatchSyntax;
11512
13043
 
11513
 
#line 3641 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
13044
#line 4298 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
11514
13045
 
11515
13046
public:
 
13047
  /** Constructor.
 
13048
   *  \param k The wildcard keyword.
 
13049
   *  \param e The extension. */
11516
13050
  CT_AnyList (CTree *k, CTree *e = (CTree*)0) : CT_Any (k, e) {}
11517
13051
  /** Get the identifier for this node type. Can be compared with NodeName(). */
11518
13052
  static const char *NodeId ();
11519
13053
  /** Get the name of the node. Can be compared with NodeId(). */
11520
13054
  const char *NodeName () const { return NodeId (); }
 
13055
public:
 
13056
  typedef AC::TLE __AttrTypes;
 
13057
  const char *__attr_name (unsigned i) const { return 0; }
 
13058
  const void *__attr (unsigned __i) const { return 0; }
 
13059
#line 4308 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
11521
13060
};
11522
13061
 
 
13062
/** \class CT_AnyExtension CTree.h Puma/CTree.h
 
13063
 *  Tree node representing a wildcard extension. */
11523
13064
 
11524
 
#line 11525 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
13065
#line 13066 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
11525
13066
} // closed Puma
11526
13067
class CCExprResolve;
11527
13068
class CExprResolve;
11544
13085
class CMatchSyntax;
11545
13086
namespace Puma {
11546
13087
 
11547
 
#line 3650 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
13088
#line 4312 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
11548
13089
class CT_AnyExtension : public CTree, public CSemValue {
11549
 
#line 11550 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
13090
#line 13091 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
11550
13091
  friend class ::CCExprResolve;
11551
13092
  friend class ::CExprResolve;
11552
13093
  friend class ::WinIfExists;
11567
13108
  friend class ::PragmaOnce;
11568
13109
  friend class ::CMatchSyntax;
11569
13110
 
11570
 
#line 3650 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
13111
#line 4312 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
11571
13112
 
11572
13113
  CTree *sons[5]; // open, string, comma, cond, close
11573
13114
 
11574
13115
public:
 
13116
  /** Constructor.
 
13117
   *  \param o Left parenthesis before the extension. 
 
13118
   *  \param n The name of the extension.
 
13119
   *  \param co The comma between the name and the condition. 
 
13120
   *  \param c The condition.
 
13121
   *  \param cr Right parenthesis behind the extension. */
11575
13122
  CT_AnyExtension (CTree *o, CTree *n, CTree *co, CTree *c, CTree *cr) {
11576
13123
    AddSon (sons[0], o); AddSon (sons[1], n); AddSon (sons[2], co); 
11577
13124
    AddSon (sons[3], c); AddSon (sons[4], cr); 
11592
13139
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
11593
13140
    CTree::ReplaceSon (sons, 5, old_son, new_son);
11594
13141
  }
 
13142
  /** Get the condition. */
11595
13143
  CTree *Condition () const { return sons[3]; }
 
13144
  /** Get the name string. */
11596
13145
  CT_Token *String () const { return (CT_Token*)sons[1]; }
11597
 
  const char *Name () const { 
11598
 
    return value ? value->StrLiteral ()->String () : (const char*)0; }
11599
 
 
 
13146
  /** Get the extension name. */
 
13147
  const char *Name () const { return value ? value->StrLiteral ()->String () : (const char*)0; }
 
13148
  /** Get the value of the extension (the name). */
11600
13149
  CExprValue *Value () const { return value; }
 
13150
  /** Get the semantic value information object. */
11601
13151
  CSemValue *SemValue () const { return (CSemValue*)this; }
 
13152
public:
 
13153
  typedef AC::TL<Puma::CTree * [5],AC::TLE > __AttrTypes;
 
13154
  const char *__attr_name (unsigned i) const {
 
13155
    static const char *names[] = { "sons" }; return names[i];
 
13156
  }
 
13157
  const void *__attr (unsigned __i) const {
 
13158
    switch (__i) { case 0: return &sons; default: return 0; }
 
13159
  }
 
13160
#line 4352 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
11602
13161
};
11603
13162
 
 
13163
/** \class CT_AnyCondition CTree.h Puma/CTree.h
 
13164
 *  Tree node representing the condition of a wildcard. */
11604
13165
 
11605
 
#line 11606 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
13166
#line 13167 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
11606
13167
} // closed Puma
11607
13168
class CCExprResolve;
11608
13169
class CExprResolve;
11625
13186
class CMatchSyntax;
11626
13187
namespace Puma {
11627
13188
 
11628
 
#line 3683 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
13189
#line 4356 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
11629
13190
class CT_AnyCondition : public CTree {
11630
 
#line 11631 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
13191
#line 13192 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
11631
13192
  friend class ::CCExprResolve;
11632
13193
  friend class ::CExprResolve;
11633
13194
  friend class ::WinIfExists;
11648
13209
  friend class ::PragmaOnce;
11649
13210
  friend class ::CMatchSyntax;
11650
13211
 
11651
 
#line 3683 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTree.h"
 
13212
#line 4356 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
11652
13213
 
11653
13214
  CTree *sons[3]; // arg1, arg2, arg3
11654
13215
 
11655
13216
public:
 
13217
  /** Constructor.
 
13218
   *  \param a1 The first argument.
 
13219
   *  \param a2 The optional second argument.
 
13220
   *  \param a3 The optional third argument. */
11656
13221
  CT_AnyCondition (CTree *a1, CTree *a2 = (CTree*)0, CTree *a3 = (CTree*)0) {
11657
13222
    AddSon (sons[0], a1); AddSon (sons[1], a2); AddSon (sons[2], a3); 
11658
13223
  }
11672
13237
  void ReplaceSon (CTree *old_son, CTree *new_son) { 
11673
13238
    CTree::ReplaceSon (sons, 3, old_son, new_son);
11674
13239
  }
 
13240
public:
 
13241
  typedef AC::TL<Puma::CTree * [3],AC::TLE > __AttrTypes;
 
13242
  const char *__attr_name (unsigned i) const {
 
13243
    static const char *names[] = { "sons" }; return names[i];
 
13244
  }
 
13245
  const void *__attr (unsigned __i) const {
 
13246
    switch (__i) { case 0: return &sons; default: return 0; }
 
13247
  }
 
13248
#line 4383 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTree.h"
11675
13249
};
11676
13250
 
11677
13251
 
11679
13253
 
11680
13254
#endif /* __CTree_h__ */
11681
13255
 
11682
 
#line 11683 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/inc/Puma/CTree.h"
 
13256
#line 13257 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/inc/Puma/CTree.h"
11683
13257
 
11684
 
#ifdef __ac_FIRST_FILE__var_tmp_aspectc4343_debian_Puma_gen45release_step1_inc_Puma_CTree_h__
11685
 
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveCC_ah__
11686
 
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveCC_ah__
11687
 
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveCC_ah__
 
13258
#ifdef __ac_FIRST_FILE__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_inc_Puma_CTree_h__
 
13259
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveCC_ah__
 
13260
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveCC_ah__
 
13261
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveCC_ah__
11688
13262
#include "CCExprResolveCC.ah"
11689
13263
#endif
11690
 
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
11691
 
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
13264
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
13265
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACTree_ah__
11692
13266
#include "ExtACTree.ah"
11693
13267
#endif
11694
 
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
11695
 
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
13268
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
13269
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtGnu_ah__
11696
13270
#include "ExtGnu.ah"
11697
13271
#endif
11698
13272
#endif
11699
 
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
11700
 
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
11701
 
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
13273
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
13274
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
13275
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
11702
13276
#include "CCExprResolveH.ah"
11703
13277
#endif
11704
13278
#endif
11705
 
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveCC_ah__
11706
 
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveCC_ah__
11707
 
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveCC_ah__
 
13279
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveCC_ah__
 
13280
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveCC_ah__
 
13281
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveCC_ah__
11708
13282
#include "CExprResolveCC.ah"
11709
13283
#endif
11710
 
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
11711
 
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
13284
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
13285
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACTree_ah__
11712
13286
#include "ExtACTree.ah"
11713
13287
#endif
11714
 
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
11715
 
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
13288
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
13289
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtGnu_ah__
11716
13290
#include "ExtGnu.ah"
11717
13291
#endif
11718
13292
#endif
11719
 
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
11720
 
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
11721
 
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
13293
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
13294
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
13295
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
11722
13296
#include "CExprResolveH.ah"
11723
13297
#endif
11724
13298
#endif
11725
 
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
11726
 
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
11727
 
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
 
13299
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinIfExists_ah__
 
13300
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinIfExists_ah__
 
13301
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinIfExists_ah__
11728
13302
#include "WinIfExists.ah"
11729
13303
#endif
11730
13304
#endif
11731
 
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinImportHandler_ah__
11732
 
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinImportHandler_ah__
11733
 
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinImportHandler_ah__
 
13305
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinImportHandler_ah__
 
13306
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinImportHandler_ah__
 
13307
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinImportHandler_ah__
11734
13308
#include "WinImportHandler.ah"
11735
13309
#endif
11736
13310
#endif
11737
 
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMacros_ah__
11738
 
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMacros_ah__
11739
 
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMacros_ah__
 
13311
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinMacros_ah__
 
13312
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinMacros_ah__
 
13313
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinMacros_ah__
11740
13314
#include "WinMacros.ah"
11741
13315
#endif
11742
 
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
11743
 
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
13316
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
13317
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
11744
13318
#include "PragmaOnceUnitState.ah"
11745
13319
#endif
11746
13320
#endif
11747
 
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinAsm_ah__
11748
 
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinAsm_ah__
11749
 
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinAsm_ah__
 
13321
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinAsm_ah__
 
13322
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinAsm_ah__
 
13323
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinAsm_ah__
11750
13324
#include "WinAsm.ah"
11751
13325
#endif
11752
 
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
11753
 
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
13326
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
13327
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACTree_ah__
11754
13328
#include "ExtACTree.ah"
11755
13329
#endif
11756
13330
#endif
11757
 
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__
11758
 
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__
11759
 
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__
 
13331
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__
 
13332
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__
 
13333
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__
11760
13334
#include "WinDeclSpecs.ah"
11761
13335
#endif
11762
13336
#endif
11763
 
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__
11764
 
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__
11765
 
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__
 
13337
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__
 
13338
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__
 
13339
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__
11766
13340
#include "WinMemberExplSpec.ah"
11767
13341
#endif
11768
13342
#endif
11769
 
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__
11770
 
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__
11771
 
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__
 
13343
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__
 
13344
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__
 
13345
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__
11772
13346
#include "WinTypeKeywords.ah"
11773
13347
#endif
11774
13348
#endif
11775
 
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinFriend_ah__
11776
 
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinFriend_ah__
11777
 
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinFriend_ah__
 
13349
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinFriend_ah__
 
13350
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinFriend_ah__
 
13351
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinFriend_ah__
11778
13352
#include "WinFriend.ah"
11779
13353
#endif
11780
13354
#endif
11781
 
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtAC_ah__
11782
 
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtAC_ah__
11783
 
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtAC_ah__
 
13355
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtAC_ah__
 
13356
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtAC_ah__
 
13357
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtAC_ah__
11784
13358
#include "ExtAC.ah"
11785
13359
#endif
11786
 
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
11787
 
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
13360
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
13361
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACTree_ah__
11788
13362
#include "ExtACTree.ah"
11789
13363
#endif
11790
 
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
11791
 
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
13364
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
13365
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
11792
13366
#include "ExtACKeywords.ah"
11793
13367
#endif
11794
 
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
11795
 
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
13368
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
13369
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtGnu_ah__
11796
13370
#include "ExtGnu.ah"
11797
13371
#endif
11798
 
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
11799
 
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
13372
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
13373
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
11800
13374
#include "PragmaOnceUnitState.ah"
11801
13375
#endif
11802
 
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
11803
 
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
 
13376
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
 
13377
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
11804
13378
#include "CMatchSyntax.ah"
11805
13379
#endif
11806
13380
#endif
11807
 
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACBuilderH_ah__
11808
 
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACBuilderH_ah__
11809
 
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACBuilderH_ah__
 
13381
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACBuilderH_ah__
 
13382
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACBuilderH_ah__
 
13383
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACBuilderH_ah__
11810
13384
#include "ExtACBuilderH.ah"
11811
13385
#endif
11812
13386
#endif
11813
 
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACBuilderCC_ah__
11814
 
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACBuilderCC_ah__
11815
 
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACBuilderCC_ah__
 
13387
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACBuilderCC_ah__
 
13388
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACBuilderCC_ah__
 
13389
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACBuilderCC_ah__
11816
13390
#include "ExtACBuilderCC.ah"
11817
13391
#endif
11818
 
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
11819
 
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
13392
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
13393
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACTree_ah__
11820
13394
#include "ExtACTree.ah"
11821
13395
#endif
11822
13396
#endif
11823
 
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACSyntaxH_ah__
11824
 
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACSyntaxH_ah__
11825
 
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACSyntaxH_ah__
 
13397
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACSyntaxH_ah__
 
13398
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACSyntaxH_ah__
 
13399
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACSyntaxH_ah__
11826
13400
#include "ExtACSyntaxH.ah"
11827
13401
#endif
11828
13402
#endif
11829
 
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACSyntaxCC_ah__
11830
 
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACSyntaxCC_ah__
11831
 
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACSyntaxCC_ah__
 
13403
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACSyntaxCC_ah__
 
13404
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACSyntaxCC_ah__
 
13405
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACSyntaxCC_ah__
11832
13406
#include "ExtACSyntaxCC.ah"
11833
13407
#endif
11834
13408
#endif
11835
 
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
11836
 
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
11837
 
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
13409
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
13410
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
13411
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACTree_ah__
11838
13412
#include "ExtACTree.ah"
11839
13413
#endif
11840
13414
#endif
11841
 
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
11842
 
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
11843
 
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
13415
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
13416
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
13417
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
11844
13418
#include "ExtACKeywords.ah"
11845
13419
#endif
11846
 
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
11847
 
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
13420
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
13421
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
11848
13422
#include "PragmaOnceUnitState.ah"
11849
13423
#endif
11850
13424
#endif
11851
 
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
11852
 
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
11853
 
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
13425
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
13426
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
13427
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACTree_ah__
11854
13428
#include "ExtACTree.ah"
11855
13429
#endif
11856
 
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
11857
 
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
13430
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
13431
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtGnu_ah__
11858
13432
#include "ExtGnu.ah"
11859
13433
#endif
11860
13434
#endif
11861
 
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnuCSemDeclSpecs_ah__
11862
 
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
11863
 
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
13435
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtGnuCSemDeclSpecs_ah__
 
13436
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
13437
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACTree_ah__
11864
13438
#include "ExtACTree.ah"
11865
13439
#endif
11866
 
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnuCSemDeclSpecs_ah__
11867
 
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnuCSemDeclSpecs_ah__
 
13440
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtGnuCSemDeclSpecs_ah__
 
13441
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtGnuCSemDeclSpecs_ah__
11868
13442
#include "ExtGnuCSemDeclSpecs.ah"
11869
13443
#endif
11870
13444
#endif
11871
 
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
11872
 
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
11873
 
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
11874
 
#include "PragmaOnceUnitState.ah"
11875
 
#endif
11876
 
#endif
11877
 
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
11878
 
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
11879
 
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
11880
 
#include "PragmaOnceUnitState.ah"
11881
 
#endif
11882
 
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
11883
 
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
13445
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
13446
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
13447
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
13448
#include "PragmaOnceUnitState.ah"
 
13449
#endif
 
13450
#endif
 
13451
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
13452
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
13453
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
13454
#include "PragmaOnceUnitState.ah"
 
13455
#endif
 
13456
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
13457
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_PragmaOnce_ah__
11884
13458
#include "PragmaOnce.ah"
11885
13459
#endif
11886
13460
#endif
11887
 
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_TraceSyntax_ah__
11888
 
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_TraceSyntax_ah__
11889
 
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_TraceSyntax_ah__
 
13461
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_TraceSyntax_ah__
 
13462
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_TraceSyntax_ah__
 
13463
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_TraceSyntax_ah__
11890
13464
#include "TraceSyntax.ah"
11891
13465
#endif
11892
13466
#endif
11893
 
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
11894
 
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
11895
 
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
 
13467
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
 
13468
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
 
13469
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
11896
13470
#include "CMatchSyntax.ah"
11897
13471
#endif
11898
13472
#endif
11899
 
#undef __ac_FIRST__var_tmp_aspectc4343_debian_Puma_gen45release_step1__
11900
 
#undef __ac_FIRST_FILE__var_tmp_aspectc4343_debian_Puma_gen45release_step1_inc_Puma_CTree_h__
11901
 
#endif // __ac_FIRST_FILE__var_tmp_aspectc4343_debian_Puma_gen45release_step1_inc_Puma_CTree_h__
 
13473
#undef __ac_FIRST__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1__
 
13474
#undef __ac_FIRST_FILE__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_inc_Puma_CTree_h__
 
13475
#endif // __ac_FIRST_FILE__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_inc_Puma_CTree_h__