27713
26650
#endif /* __ACIntroducer_h__ */
27715
#line 40 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27716
using namespace Puma;
27719
#line 27720 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
27721
class WinImportHandler;
27723
class CMatchSyntax;
27727
class WinDeclSpecs;
27728
class WinMemberExplSpec;
27729
class WinTypeKeywords;
27730
class PragmaOnceUnitState;
27732
class CCExprResolve;
27733
class CExprResolve;
27735
#line 42 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27737
#line 27738 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
27740
static ExtAC *aspectof () {
27741
static ExtAC __instance;
27742
return &__instance;
27744
static ExtAC *aspectOf () {
27745
return aspectof ();
27749
#line 42 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27751
#line 27752 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
27752
friend class ::WinIfExists;
27753
friend class ::WinImportHandler;
27754
friend class ::WinMacros;
27755
friend class ::CMatchSyntax;
27756
friend class ::ExtGnu;
27757
friend class ::ExtACTree;
27758
friend class ::WinAsm;
27759
friend class ::WinDeclSpecs;
27760
friend class ::WinMemberExplSpec;
27761
friend class ::WinTypeKeywords;
27762
friend class ::PragmaOnceUnitState;
27763
friend class ::PragmaOnce;
27764
friend class ::CCExprResolve;
27765
friend class ::CExprResolve;
27767
#line 42 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27769
// used to enable and disable this extension at runtime
27772
// relevant pointcuts
27774
#line 47 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27777
#line 48 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27780
#line 49 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27783
#line 50 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27786
#line 51 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27790
ExtAC () : _enabled (false) {}
27792
// ******************
27793
// C parser extension
27794
// ******************
27799
#line 64 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27803
#line 68 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27806
// *****************
27807
// ClassDb extension
27808
// *****************
27810
// introduce AC extensions
27813
#line 76 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27816
// add behavioral extensions
27818
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27820
public: template<class JoinPoint> void __a0_before
27821
#line 79 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27823
#line 79 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27825
#line 79 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27827
#line 27828 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
27829
typedef typename JoinPoint::That __JP_That;
27830
typedef typename JoinPoint::Target __JP_Target;
27831
typedef typename JoinPoint::Result __JP_Result;
27833
#line 79 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27835
tjp->that ()->ACClassDatabase::Dump (*tjp->template arg<0>(), *tjp->template arg<1>());
27838
// **************************
27839
// C and CC-Builder extension
27840
// **************************
27842
// extension for member_decl1
27844
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27846
public: template<class JoinPoint> void __a1_around
27847
#line 89 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27849
#line 89 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27851
#line 89 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27853
#line 27854 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
27855
typedef typename JoinPoint::That __JP_That;
27856
typedef typename JoinPoint::Target __JP_Target;
27857
typedef typename JoinPoint::Result __JP_Result;
27859
#line 89 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27862
// 1: pointcut_decl
27863
if (tjp->that ()->nodes () == 1 &&
27864
(tjp->that ()->get_node ()->NodeName () == CT_AdviceDecl::NodeId () ||
27865
tjp->that ()->get_node ()->NodeName () == CT_PointcutDecl::NodeId ()))
27866
*tjp->result () = tjp->that ()->get_node (0);
27872
// new C and CC Builder member functions, implementation below ...
27874
#line 102 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27877
#line 103 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27880
#line 104 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27883
#line 105 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27886
#line 106 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27889
#line 107 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27892
// *************************
27893
// C and CC-Syntax extension
27894
// *************************
27897
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27899
public: template<class JoinPoint> void __a2_after
27900
#line 114 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27902
#line 114 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27904
#line 114 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27906
#line 27907 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
27908
typedef typename JoinPoint::That __JP_That;
27909
typedef typename JoinPoint::Target __JP_Target;
27910
typedef typename JoinPoint::Result __JP_Result;
27912
#line 114 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27914
tjp->that ()->_class_key_1.set (TOK_ASPECT);
27918
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27920
public: template<class JoinPoint> void __a3_around
27921
#line 119 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27923
#line 119 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27925
#line 119 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27927
#line 27928 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
27929
typedef typename JoinPoint::That __JP_That;
27930
typedef typename JoinPoint::Target __JP_Target;
27931
typedef typename JoinPoint::Result __JP_Result;
27933
#line 119 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27935
// 1: pointcut_decl
27937
if (tjp->that ()->parse (&__JP_That
27938
#line 122 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27939
::pointcut_decl) ||
27940
tjp->that ()->parse (&__JP_That
27941
#line 123 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27943
*tjp->result () = tjp->that ()->builder ().block_decl ();
27949
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27951
public: template<class JoinPoint> void __a4_around
27952
#line 130 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27954
#line 130 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27956
#line 130 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27958
#line 27959 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
27960
typedef typename JoinPoint::That __JP_That;
27961
typedef typename JoinPoint::Target __JP_Target;
27962
typedef typename JoinPoint::Result __JP_Result;
27964
#line 130 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27966
// 1: pointcut_member_decl
27967
// 1: advice_member_decl
27968
if (tjp->that ()->parse (&__JP_That
27969
#line 133 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27970
::pointcut_member_decl) ||
27971
tjp->that ()->parse (&__JP_That
27972
#line 134 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27973
::advice_member_decl))
27974
*tjp->result () = tjp->that ()->builder ().member_decl ();
27980
// new Syntax member functions, implementation below ...
27982
#line 142 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27985
#line 143 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27988
#line 144 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27991
#line 145 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27994
#line 146 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
27997
#line 147 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28000
#line 148 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28003
#line 149 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28006
#line 150 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28009
// ***************************
28010
// C and CC-Semantic extension
28011
// ***************************
28015
#line 157 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28019
#line 159 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28022
#line 160 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28025
#line 161 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28028
#line 162 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28031
// initialize introduced attributes
28033
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28035
public: template<class JoinPoint> void __a5_after
28036
#line 165 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28038
#line 165 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28040
#line 165 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28042
#line 28043 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
28044
typedef typename JoinPoint::That __JP_That;
28045
typedef typename JoinPoint::Target __JP_Target;
28046
typedef typename JoinPoint::Result __JP_Result;
28048
#line 165 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28050
tjp->that ()->_in_advice_decl = false;
28051
tjp->that ()->_in_pointcut_decl = false;
28052
tjp->that ()->_introducer = 0;
28054
#line 28055 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
28058
#line 169 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28061
// introduce_function must check for code advice
28063
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28065
public: template<class JoinPoint> void __a6_around
28066
#line 173 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28068
#line 173 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28070
#line 173 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28072
#line 28073 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
28074
typedef typename JoinPoint::That __JP_That;
28075
typedef typename JoinPoint::Target __JP_Target;
28076
typedef typename JoinPoint::Result __JP_Result;
28078
#line 173 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28081
// first save the current function
28082
CObjectInfo *func = tjp->that ()->current_fct;
28084
// now do the original stuff
28086
CTree *node = *tjp->result ();
28090
// do the necessary post processing
28091
tjp->that ()->introduce_function_post (func, node);
28093
#line 28094 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
28097
#line 186 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28100
// introduce_function post processing by introduce function
28102
#line 189 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28105
// make sure lookup of functions is ignored for intros
28107
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28109
public: template<class JoinPoint> void __a7_around
28110
#line 193 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28112
#line 193 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28114
#line 193 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28116
#line 28117 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
28118
typedef typename JoinPoint::That __JP_That;
28119
typedef typename JoinPoint::Target __JP_Target;
28120
typedef typename JoinPoint::Result __JP_Result;
28122
#line 193 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28124
if (tjp->that ()->_in_advice_decl)
28125
*tjp->result () = true;
28129
#line 28130 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
28133
#line 198 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28136
// extend member handling
28138
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28140
public: template<class JoinPoint> void __a8_after
28141
#line 202 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28143
#line 202 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28145
#line 202 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28147
#line 28148 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
28149
typedef typename JoinPoint::That __JP_That;
28150
typedef typename JoinPoint::Target __JP_Target;
28151
typedef typename JoinPoint::Result __JP_Result;
28153
#line 202 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28155
CTree *node = *tjp->result ();
28156
if (!node || node->NodeName () != CT_InitDeclarator::NodeId ())
28159
CObjectInfo *object = ((CT_InitDeclarator *)node)->Object ();
28160
if (tjp->that ()->_in_pointcut_decl && object->FunctionInfo ()) {
28161
// setup the scope for the following pointcut expression
28162
tjp->that ()->current_scope = object->FunctionInfo ();
28165
#line 28166 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
28169
#line 212 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28172
// make sure lookup of members is ignored for intros
28174
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28176
public: template<class JoinPoint> void __a9_around
28177
#line 218 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28178
(JoinPoint *tjp, bool &redef_typedef)
28179
#line 218 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28181
#line 218 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28183
#line 28184 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
28185
typedef typename JoinPoint::That __JP_That;
28186
typedef typename JoinPoint::Target __JP_Target;
28187
typedef typename JoinPoint::Result __JP_Result;
28189
#line 218 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28191
if (tjp->that ()->_in_advice_decl) {
28192
redef_typedef = false;
28193
*tjp->result () = true;
28197
#line 28198 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
28201
#line 224 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28204
// extend object handling
28206
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28208
public: template<class JoinPoint> void __a10_after
28209
#line 228 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28211
#line 228 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28213
#line 228 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28215
#line 28216 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
28217
typedef typename JoinPoint::That __JP_That;
28218
typedef typename JoinPoint::Target __JP_Target;
28219
typedef typename JoinPoint::Result __JP_Result;
28221
#line 228 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28223
CTree *node = *tjp->result ();
28224
if (! node || node->NodeName () != CT_InitDeclarator::NodeId ())
28227
CObjectInfo *object = ((CT_InitDeclarator *)node)->Object ();
28228
if (tjp->that ()->_in_pointcut_decl && object->FunctionInfo ()) {
28229
// setup the scope for the following pointcut expression
28231
// tjp->that ()->last_scope = tjp->that ()->current_scope;
28232
tjp->that ()->current_scope = object->FunctionInfo ();
28235
#line 28236 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
28239
#line 240 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28242
// make sure lookup of members is ignored for intros
28244
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28246
public: template<class JoinPoint> void __a11_around
28247
#line 246 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28248
(JoinPoint *tjp, bool &redef_typedef)
28249
#line 246 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28251
#line 246 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28253
#line 28254 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
28255
typedef typename JoinPoint::That __JP_That;
28256
typedef typename JoinPoint::Target __JP_Target;
28257
typedef typename JoinPoint::Result __JP_Result;
28259
#line 246 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28261
if (tjp->that ()->_in_advice_decl) {
28262
redef_typedef = false;
28263
*tjp->result () = true;
28267
#line 28268 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
28271
#line 252 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28274
// extend the class handling
28276
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28278
public: template<class JoinPoint> void __a12_after
28279
#line 256 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28281
#line 256 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28283
#line 256 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28285
#line 28286 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
28287
typedef typename JoinPoint::That __JP_That;
28288
typedef typename JoinPoint::Target __JP_Target;
28289
typedef typename JoinPoint::Result __JP_Result;
28291
#line 256 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28293
CT_ClassDef *cd = (CT_ClassDef*)*tjp->result ();
28296
tjp->that ()->introduce_class_post (cd);
28298
if (tjp->that ()->_introducer) {
28299
// handle introductions before a class, they shall be parsed in global scope
28300
CStructure *saved_scope = tjp->that ()->current_scope;
28301
tjp->that ()->current_scope = tjp->that ()->_db->FileInfo (0);
28302
// _protection.push (CProtection::PROT_NONE);
28303
// _in_extern_decl.push (0);
28304
tjp->that ()->_introducer->class_before (cd);
28305
// _in_extern_decl.pop ();
28306
// _protection.pop ();
28307
tjp->that ()->current_scope = saved_scope;
28310
#line 28311 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
28314
#line 273 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28317
// extend the class handling
28319
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28321
public: template<class JoinPoint> void __a13_before
28322
#line 277 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28324
#line 277 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28326
#line 277 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28328
#line 28329 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
28330
typedef typename JoinPoint::That __JP_That;
28331
typedef typename JoinPoint::Target __JP_Target;
28332
typedef typename JoinPoint::Result __JP_Result;
28334
#line 277 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28336
if (tjp->that ()->_introducer) {
28338
(CT_ClassDef*)tjp->that ()->current_scope->Structure ()->Tree ();
28339
Builder &builder = tjp->that ()->builder ();
28340
tjp->that ()->_introducer->class_end (cd,
28341
builder.get_node (builder.nodes () - 1));
28344
#line 28345 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
28348
#line 285 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28352
#line 287 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28355
// perform an additional check on base classes with aspects
28357
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28359
public: template<class JoinPoint> void __a14_after
28360
#line 291 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28362
#line 291 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28364
#line 291 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28366
#line 28367 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
28368
typedef typename JoinPoint::That __JP_That;
28369
typedef typename JoinPoint::Target __JP_Target;
28370
typedef typename JoinPoint::Result __JP_Result;
28372
#line 291 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28375
// obtain the first argument
28376
CTree *cs = *tjp->template arg<0>();
28379
tjp->that ()->add_base_classes_post (cs);
28381
#line 28382 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
28385
#line 298 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28388
#line 299 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28393
#line 302 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28396
#line 303 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28399
#line 306 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28402
public: // change or get semantic state information
28404
#line 309 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28407
#line 310 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28410
#line 311 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28413
#line 312 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28416
#line 313 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28419
#line 314 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28422
// check an introduction if it makes sense
28424
#line 317 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28428
#line 28429 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
26652
#ifndef __ac_fwd_ExtACKeywords__
26653
#define __ac_fwd_ExtACKeywords__
26654
class ExtACKeywords;
28430
26655
namespace AC {
28431
template <class JoinPoint>
28432
inline void invoke_ExtAC_ExtAC_a0_before (JoinPoint *tjp) {
28433
::ExtAC::aspectof()->__a0_before (tjp);
28435
template <class JoinPoint>
28436
inline void invoke_ExtAC_ExtAC_a1_around (JoinPoint *tjp) {
28437
::ExtAC::aspectof()->__a1_around (tjp);
28439
template <class JoinPoint>
28440
inline void invoke_ExtAC_ExtAC_a2_after (JoinPoint *tjp) {
28441
::ExtAC::aspectof()->__a2_after (tjp);
28443
template <class JoinPoint>
28444
inline void invoke_ExtAC_ExtAC_a3_around (JoinPoint *tjp) {
28445
::ExtAC::aspectof()->__a3_around (tjp);
28447
template <class JoinPoint>
28448
inline void invoke_ExtAC_ExtAC_a4_around (JoinPoint *tjp) {
28449
::ExtAC::aspectof()->__a4_around (tjp);
28451
template <class JoinPoint>
28452
inline void invoke_ExtAC_ExtAC_a5_after (JoinPoint *tjp) {
28453
::ExtAC::aspectof()->__a5_after (tjp);
28455
template <class JoinPoint>
28456
inline void invoke_ExtAC_ExtAC_a6_around (JoinPoint *tjp) {
28457
::ExtAC::aspectof()->__a6_around (tjp);
28459
template <class JoinPoint>
28460
inline void invoke_ExtAC_ExtAC_a7_around (JoinPoint *tjp) {
28461
::ExtAC::aspectof()->__a7_around (tjp);
28463
template <class JoinPoint>
28464
inline void invoke_ExtAC_ExtAC_a8_after (JoinPoint *tjp) {
28465
::ExtAC::aspectof()->__a8_after (tjp);
28467
template <class JoinPoint, class Binding>
28468
inline void invoke_ExtAC_ExtAC_a9_around (JoinPoint *tjp) {
28469
typedef typename Binding::template Arg<0> Arg0;
28470
::ExtAC::aspectof()->__a9_around (tjp, (bool &)Arg0::val (tjp));
28472
template <class JoinPoint>
28473
inline void invoke_ExtAC_ExtAC_a10_after (JoinPoint *tjp) {
28474
::ExtAC::aspectof()->__a10_after (tjp);
28476
template <class JoinPoint, class Binding>
28477
inline void invoke_ExtAC_ExtAC_a11_around (JoinPoint *tjp) {
28478
typedef typename Binding::template Arg<0> Arg0;
28479
::ExtAC::aspectof()->__a11_around (tjp, (bool &)Arg0::val (tjp));
28481
template <class JoinPoint>
28482
inline void invoke_ExtAC_ExtAC_a12_after (JoinPoint *tjp) {
28483
::ExtAC::aspectof()->__a12_after (tjp);
28485
template <class JoinPoint>
28486
inline void invoke_ExtAC_ExtAC_a13_before (JoinPoint *tjp) {
28487
::ExtAC::aspectof()->__a13_before (tjp);
28489
template <class JoinPoint>
28490
inline void invoke_ExtAC_ExtAC_a14_after (JoinPoint *tjp) {
28491
::ExtAC::aspectof()->__a14_after (tjp);
28495
#line 319 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28498
// **************************
28499
// C and CC-Builder extension
28500
// **************************
28503
#line 329 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28507
#line 334 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28511
#line 339 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28515
#line 344 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28519
#line 349 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28523
#line 354 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28526
// *************************
28527
// C and CC-Syntax extension
28528
// *************************
28531
#line 363 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28535
#line 372 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28539
#line 379 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28543
#line 385 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28547
#line 405 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28551
#line 411 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28556
#line 421 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28560
#line 441 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28564
#line 475 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28567
// ***************************
28568
// C and CC-Semantic extension
28569
// ***************************
28572
#line 514 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28576
#line 527 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28580
#line 554 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28584
#line 613 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28588
#line 678 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28592
#line 703 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28596
#line 711 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28601
#line 718 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtAC.ah"
28604
#endif /* __ext_ac_h__ */
28606
#line 4 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/CClassDatabase.h"
28607
#ifndef __ac_guard__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_inc_Puma_CClassDatabase_h__
28608
#define __ac_guard__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_inc_Puma_CClassDatabase_h__
28610
#line 1 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/CClassDatabase.h"
28611
// This file is part of PUMA.
28612
// Copyright (C) 1999-2003 The PUMA developer team.
28614
// This program is free software; you can redistribute it and/or
28615
// modify it under the terms of the GNU General Public License as
28616
// published by the Free Software Foundation; either version 2 of
28617
// the License, or (at your option) any later version.
28619
// This program is distributed in the hope that it will be useful,
28620
// but WITHOUT ANY WARRANTY; without even the implied warranty of
28621
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
28622
// GNU General Public License for more details.
28624
// You should have received a copy of the GNU General Public
28625
// License along with this program; if not, write to the Free
28626
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
28627
// MA 02111-1307 USA
28629
#ifndef __CClassDatabase_h__
28630
#define __CClassDatabase_h__
28633
#line 1 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/CProject.h"
26656
template <class JoinPoint, class Binding>
26657
inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp);
26658
template <class JoinPoint, class Binding>
26659
inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp);
26660
template <class JoinPoint>
26661
inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp);
26665
#ifndef __ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
26666
#define __ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
28634
26668
// This file is part of PUMA.
28635
26669
// Copyright (C) 1999-2003 The PUMA developer team.
31925
29740
class CCExprResolve;
31926
29741
class CExprResolve;
31927
29742
namespace Puma {
31929
#line 35 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/CProject.h"
31930
class CProject : public Project {
31931
#line 31932 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
29743
class CProject : public Project { friend class ::WinIfExists;
29744
friend class ::WinImportHandler;
29745
friend class ::WinMacros;
29746
friend class ::CMatchSyntax;
29747
friend class ::ExtGnu;
29748
friend class ::ExtAC;
29749
friend class ::ExtACBuilderCoupling;
29750
friend class ::ExtACSyntaxCoupling;
29751
friend class ::ExtACTree;
29752
friend class ::ExtACKeywords;
29753
friend class ::WinAsm;
29754
friend class ::WinDeclSpecs;
29755
friend class ::WinMemberExplSpec;
29756
friend class ::WinTypeKeywords;
29757
friend class ::PragmaOnceUnitState;
29758
friend class ::PragmaOnce;
29759
friend class ::CCExprResolve;
29760
friend class ::CExprResolve;
29766
CProject (ErrorStream &e);
29768
// Constructor: Add some source directories.
29769
CProject (ErrorStream &, const char *defs,
29770
const char *decls = (const char*)0);
29772
// Constructor: Setup preprocessor configuration according to
29773
// command line parameter and the global config file and
29774
// add some source directories.
29775
CProject (ErrorStream &, int &argc, char **&argv,
29776
const char *defs = (const char*)0,
29777
const char *decls = (const char*)0);
29779
public: // Project configuration
29780
// Get the preprocessor configuration.
29783
// Configure the project from the command line or a file.
29784
virtual void configure (Config &);
29786
// Add a new file to the project.
29787
Unit *addFile (Filename file);
29789
public: // Scanner interface
29790
// Get the scanner.
29791
CScanner &scanner ();
29793
// Scan the file `file' or the source if given. When
29794
// scanning a source the resulting unit gets the name `file'.
29795
public: inline ::Puma::Unit * __exec_old_scanFile(const char * file,::Puma::Source * ,bool isFile);
29796
virtual Unit *scanFile (const char *file, Source * = (Source*)0,
29797
bool isFile = true);
29799
// Scan a string. The resulting unit gets the name `name'.
29800
// (and will not be registered at the unit manager!)
29801
virtual Unit *scanString (const char *str,
29802
const char *name = (const char*)0);
29804
public: // Miscellaneous Functions
29806
// Give the filename needed to include a particular header file
29807
Filename getInclString (Filename filename);
29810
// Map the type string from --size-type and --ptrdiff-type
29811
// to real Puma type.
29812
CTypeInfo *mapType (const char *) const;
29815
inline Config &CProject::config ()
29816
{ return _config; }
29817
inline CScanner &CProject::scanner ()
29818
{ return _scanner; }
29821
} // namespace Puma
29823
#endif /* __CProject_h__ */
29824
using namespace Puma;
29827
class WinImportHandler;
29829
class CMatchSyntax;
29831
class ExtACBuilderCoupling;
29832
class ExtACSyntaxCoupling;
29834
class ExtACKeywords;
29836
class WinDeclSpecs;
29837
class WinMemberExplSpec;
29838
class WinTypeKeywords;
29839
class PragmaOnceUnitState;
29841
class CCExprResolve;
29842
class CExprResolve;
29845
static ExtAC *aspectof () {
29846
static ExtAC __instance;
29847
return &__instance;
29849
static ExtAC *aspectOf () {
29850
return aspectof ();
31932
29853
friend class ::WinIfExists;
31933
29854
friend class ::WinImportHandler;
31934
29855
friend class ::WinMacros;
31935
29856
friend class ::CMatchSyntax;
31936
29857
friend class ::ExtGnu;
29858
friend class ::ExtACBuilderCoupling;
29859
friend class ::ExtACSyntaxCoupling;
29860
friend class ::ExtACTree;
29861
friend class ::ExtACKeywords;
29862
friend class ::WinAsm;
29863
friend class ::WinDeclSpecs;
29864
friend class ::WinMemberExplSpec;
29865
friend class ::WinTypeKeywords;
29866
friend class ::PragmaOnceUnitState;
29867
friend class ::PragmaOnce;
29868
friend class ::CCExprResolve;
29869
friend class ::CExprResolve;
29871
// used to enable and disable this extension at runtime
29875
ExtAC () : _enabled (false) {}
29877
// ******************
29878
// C parser extension
29879
// ******************
29883
// *****************
29884
// ClassDb extension
29885
// *****************
29887
// introduce AC extensions
29891
// add behavioral extensions
29893
public: template<class JoinPoint> void __a0_before (JoinPoint *tjp) {
29894
typedef typename JoinPoint::That __JP_That;
29895
typedef typename JoinPoint::Target __JP_Target;
29896
typedef typename JoinPoint::Result __JP_Result;
29898
tjp->that ()->ACClassDatabase::Dump (*tjp->template arg<0>(), *tjp->template arg<1>());
29903
// ***************************
29904
// C and CC-Semantic extension
29905
// ***************************
29911
// initialize introduced attributes
29913
public: template<class JoinPoint> void __a1_after (JoinPoint *tjp) {
29914
typedef typename JoinPoint::That __JP_That;
29915
typedef typename JoinPoint::Target __JP_Target;
29916
typedef typename JoinPoint::Result __JP_Result;
29918
tjp->that ()->_in_advice_decl = false;
29919
tjp->that ()->_in_pointcut_decl = false;
29920
tjp->that ()->_introducer = 0;
29925
// introduce_function must check for code advice
29927
public: template<class JoinPoint> void __a2_around (JoinPoint *tjp) {
29928
typedef typename JoinPoint::That __JP_That;
29929
typedef typename JoinPoint::Target __JP_Target;
29930
typedef typename JoinPoint::Result __JP_Result;
29933
// first save the current function
29934
CObjectInfo *func = tjp->that ()->current_fct;
29936
// now do the original stuff
29938
CTree *node = *tjp->result ();
29942
// do the necessary post processing
29943
tjp->that ()->introduce_function_post (func, node);
29948
// make sure lookup of functions is ignored for intros
29950
public: template<class JoinPoint> void __a3_around (JoinPoint *tjp) {
29951
typedef typename JoinPoint::That __JP_That;
29952
typedef typename JoinPoint::Target __JP_Target;
29953
typedef typename JoinPoint::Result __JP_Result;
29955
if (tjp->that ()->_in_advice_decl)
29956
*tjp->result () = true;
29963
// extend member handling
29965
public: template<class JoinPoint> void __a4_after (JoinPoint *tjp) {
29966
typedef typename JoinPoint::That __JP_That;
29967
typedef typename JoinPoint::Target __JP_Target;
29968
typedef typename JoinPoint::Result __JP_Result;
29970
CTree *node = *tjp->result ();
29971
if (!node || node->NodeName () != CT_InitDeclarator::NodeId ())
29974
CObjectInfo *object = ((CT_InitDeclarator *)node)->Object ();
29975
if (tjp->that ()->_in_pointcut_decl && object->FunctionInfo ()) {
29976
// setup the scope for the following pointcut expression
29977
tjp->that ()->current_scope = object->FunctionInfo ();
29983
// make sure lookup of members is ignored for intros
29985
public: template<class JoinPoint> void __a5_around (JoinPoint *tjp, bool &redef_typedef) {
29986
typedef typename JoinPoint::That __JP_That;
29987
typedef typename JoinPoint::Target __JP_Target;
29988
typedef typename JoinPoint::Result __JP_Result;
29990
if (tjp->that ()->_in_advice_decl) {
29991
redef_typedef = false;
29992
*tjp->result () = true;
29999
// extend object handling
30001
public: template<class JoinPoint> void __a6_after (JoinPoint *tjp) {
30002
typedef typename JoinPoint::That __JP_That;
30003
typedef typename JoinPoint::Target __JP_Target;
30004
typedef typename JoinPoint::Result __JP_Result;
30006
CTree *node = *tjp->result ();
30007
if (! node || node->NodeName () != CT_InitDeclarator::NodeId ())
30010
CObjectInfo *object = ((CT_InitDeclarator *)node)->Object ();
30011
if (tjp->that ()->_in_pointcut_decl && object->FunctionInfo ()) {
30012
// setup the scope for the following pointcut expression
30014
// tjp->that ()->last_scope = tjp->that ()->current_scope;
30015
tjp->that ()->current_scope = object->FunctionInfo ();
30021
// make sure lookup of members is ignored for intros
30023
public: template<class JoinPoint> void __a7_around (JoinPoint *tjp, bool &redef_typedef) {
30024
typedef typename JoinPoint::That __JP_That;
30025
typedef typename JoinPoint::Target __JP_Target;
30026
typedef typename JoinPoint::Result __JP_Result;
30028
if (tjp->that ()->_in_advice_decl) {
30029
redef_typedef = false;
30030
*tjp->result () = true;
30037
// extend the class handling
30039
public: template<class JoinPoint> void __a8_after (JoinPoint *tjp) {
30040
typedef typename JoinPoint::That __JP_That;
30041
typedef typename JoinPoint::Target __JP_Target;
30042
typedef typename JoinPoint::Result __JP_Result;
30044
CT_ClassDef *cd = (CT_ClassDef*)*tjp->result ();
30047
tjp->that ()->introduce_class_post (cd);
30049
if (tjp->that ()->_introducer) {
30050
// handle introductions before a class, they shall be parsed in global scope
30051
CStructure *saved_scope = tjp->that ()->current_scope;
30052
tjp->that ()->current_scope = tjp->that ()->_db->FileInfo (0);
30053
// _protection.push (CProtection::PROT_NONE);
30054
// _in_extern_decl.push (0);
30055
tjp->that ()->_introducer->class_before (cd);
30056
// _in_extern_decl.pop ();
30057
// _protection.pop ();
30058
tjp->that ()->current_scope = saved_scope;
30064
// extend the class handling
30066
public: template<class JoinPoint> void __a9_before (JoinPoint *tjp) {
30067
typedef typename JoinPoint::That __JP_That;
30068
typedef typename JoinPoint::Target __JP_Target;
30069
typedef typename JoinPoint::Result __JP_Result;
30071
if (tjp->that ()->_introducer) {
30073
(CT_ClassDef*)tjp->that ()->current_scope->Structure ()->Tree ();
30074
Builder &builder = tjp->that ()->builder ();
30075
tjp->that ()->_introducer->class_end (cd,
30076
builder.get_node (builder.nodes () - 1));
30082
// perform an additional check on base classes with aspects
30084
public: template<class JoinPoint> void __a10_after (JoinPoint *tjp) {
30085
typedef typename JoinPoint::That __JP_That;
30086
typedef typename JoinPoint::Target __JP_Target;
30087
typedef typename JoinPoint::Result __JP_Result;
30090
// obtain the first argument
30091
CTree *cs = *tjp->template arg<0>();
30094
tjp->that ()->add_base_classes_post (cs);
30100
template <class JoinPoint>
30101
inline void invoke_ExtAC_ExtAC_a0_before (JoinPoint *tjp) {
30102
::ExtAC::aspectof()->__a0_before (tjp);
30104
template <class JoinPoint>
30105
inline void invoke_ExtAC_ExtAC_a1_after (JoinPoint *tjp) {
30106
::ExtAC::aspectof()->__a1_after (tjp);
30108
template <class JoinPoint>
30109
inline void invoke_ExtAC_ExtAC_a2_around (JoinPoint *tjp) {
30110
::ExtAC::aspectof()->__a2_around (tjp);
30112
template <class JoinPoint>
30113
inline void invoke_ExtAC_ExtAC_a3_around (JoinPoint *tjp) {
30114
::ExtAC::aspectof()->__a3_around (tjp);
30116
template <class JoinPoint>
30117
inline void invoke_ExtAC_ExtAC_a4_after (JoinPoint *tjp) {
30118
::ExtAC::aspectof()->__a4_after (tjp);
30120
template <class JoinPoint, class Binding>
30121
inline void invoke_ExtAC_ExtAC_a5_around (JoinPoint *tjp) {
30122
typedef typename Binding::template Arg<0> Arg0;
30123
::ExtAC::aspectof()->__a5_around (tjp, (bool &)Arg0::val (tjp));
30125
template <class JoinPoint>
30126
inline void invoke_ExtAC_ExtAC_a6_after (JoinPoint *tjp) {
30127
::ExtAC::aspectof()->__a6_after (tjp);
30129
template <class JoinPoint, class Binding>
30130
inline void invoke_ExtAC_ExtAC_a7_around (JoinPoint *tjp) {
30131
typedef typename Binding::template Arg<0> Arg0;
30132
::ExtAC::aspectof()->__a7_around (tjp, (bool &)Arg0::val (tjp));
30134
template <class JoinPoint>
30135
inline void invoke_ExtAC_ExtAC_a8_after (JoinPoint *tjp) {
30136
::ExtAC::aspectof()->__a8_after (tjp);
30138
template <class JoinPoint>
30139
inline void invoke_ExtAC_ExtAC_a9_before (JoinPoint *tjp) {
30140
::ExtAC::aspectof()->__a9_before (tjp);
30142
template <class JoinPoint>
30143
inline void invoke_ExtAC_ExtAC_a10_after (JoinPoint *tjp) {
30144
::ExtAC::aspectof()->__a10_after (tjp);
30150
// ***************************
30151
// C and CC-Semantic extension
30152
// ***************************
30176
#endif /* __ext_ac_h__ */
30177
#ifndef __ac_guard__tmp_AOP_LIN_AOP_Puma_gen45release_step1_inc_Puma_CClassDatabase_h__
30178
#define __ac_guard__tmp_AOP_LIN_AOP_Puma_gen45release_step1_inc_Puma_CClassDatabase_h__
30179
// This file is part of PUMA.
30180
// Copyright (C) 1999-2003 The PUMA developer team.
30182
// This program is free software; you can redistribute it and/or
30183
// modify it under the terms of the GNU General Public License as
30184
// published by the Free Software Foundation; either version 2 of
30185
// the License, or (at your option) any later version.
30187
// This program is distributed in the hope that it will be useful,
30188
// but WITHOUT ANY WARRANTY; without even the implied warranty of
30189
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30190
// GNU General Public License for more details.
30192
// You should have received a copy of the GNU General Public
30193
// License along with this program; if not, write to the Free
30194
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
30195
// MA 02111-1307 USA
30197
#ifndef __CClassDatabase_h__
30198
#define __CClassDatabase_h__
30201
#ifndef __ac_fwd_ExtACKeywords__
30202
#define __ac_fwd_ExtACKeywords__
30203
class ExtACKeywords;
30205
template <class JoinPoint, class Binding>
30206
inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp);
30207
template <class JoinPoint, class Binding>
30208
inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp);
30209
template <class JoinPoint>
30210
inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp);
30214
#ifndef __ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
30215
#define __ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
30217
// This file is part of PUMA.
30218
// Copyright (C) 1999-2003 The PUMA developer team.
30220
// This program is free software; you can redistribute it and/or
30221
// modify it under the terms of the GNU General Public License as
30222
// published by the Free Software Foundation; either version 2 of
30223
// the License, or (at your option) any later version.
30225
// This program is distributed in the hope that it will be useful,
30226
// but WITHOUT ANY WARRANTY; without even the implied warranty of
30227
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30228
// GNU General Public License for more details.
30230
// You should have received a copy of the GNU General Public
30231
// License along with this program; if not, write to the Free
30232
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
30233
// MA 02111-1307 USA
30235
#ifndef __CProject_h__
30236
#define __CProject_h__
30238
// Special project derivation for C++ sources.
30240
#include "Puma/Config.h"
30241
#include "Puma/Project.h"
30242
#include "Puma/CScanner.h"
30243
#include "Puma/ErrorStream.h"
30253
class WinImportHandler;
30255
class CMatchSyntax;
30258
class ExtACBuilderCoupling;
30259
class ExtACSyntaxCoupling;
30261
class ExtACKeywords;
30263
class WinDeclSpecs;
30264
class WinMemberExplSpec;
30265
class WinTypeKeywords;
30266
class PragmaOnceUnitState;
30268
class CCExprResolve;
30269
class CExprResolve;
30271
class CProject : public Project { friend class ::WinIfExists;
30272
friend class ::WinImportHandler;
30273
friend class ::WinMacros;
30274
friend class ::CMatchSyntax;
30275
friend class ::ExtGnu;
31937
30276
friend class ::ExtAC;
30277
friend class ::ExtACBuilderCoupling;
30278
friend class ::ExtACSyntaxCoupling;
31938
30279
friend class ::ExtACTree;
30280
friend class ::ExtACKeywords;
31939
30281
friend class ::WinAsm;
31940
30282
friend class ::WinDeclSpecs;
31941
30283
friend class ::WinMemberExplSpec;
42337
40412
CMatchSyntax () : match_expr (false) {}
42340
// introduce wildcard rules to CSyntax
42342
#line 62 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42345
#line 63 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42348
#line 64 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42351
#line 65 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42354
#line 66 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42357
#line 67 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42360
#line 68 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42363
#line 69 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42366
// introduce wildcard rules to CCSyntax
42368
#line 72 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
40414
// introduce wildcard rules to CSyntax and CCSyntax
42371
40418
// extend CBuilder
42373
#line 75 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42376
#line 76 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42379
#line 77 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42382
#line 78 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42385
#line 79 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42388
#line 80 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42391
#line 81 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42394
#line 82 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42397
#line 83 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42400
#line 84 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42403
#line 85 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42406
40421
// extend CSemantic
42408
#line 97 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42411
40424
// let first parse wildcards before parsing anything else
42413
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42415
public: template<class JoinPoint> void __a0_around
42416
#line 101 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42418
#line 101 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42420
#line 101 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42422
#line 42423 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
40426
public: template<class JoinPoint> void __a0_around (JoinPoint *tjp) {
42424
40427
JoinPoint *&thisJoinPoint = tjp;
42426
#line 101 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42428
#line 42429 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
42430
40429
typedef typename JoinPoint::That __JP_That;
42431
40430
typedef typename JoinPoint::Target __JP_Target;
42432
40431
typedef typename JoinPoint::Result __JP_Result;
42434
#line 101 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42436
40433
if (match_expr &&
42437
thisJoinPoint->that ()->parse (&__JP_That
42438
#line 103 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
40434
thisJoinPoint->that ()->parse (&__JP_That::wildcards))
42440
40435
*(CTree**)thisJoinPoint->result () =
42441
40436
thisJoinPoint->that ()->builder ().get_node ();
42443
40438
thisJoinPoint->action ().trigger ();
42446
40443
// extend the syntax to parse ANYs
42449
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42451
public: template<class JoinPoint> void __a1_around
42452
#line 113 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42454
#line 113 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42456
#line 113 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42458
#line 42459 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
40446
public: template<class JoinPoint> void __a1_around (JoinPoint *tjp) {
42460
40447
JoinPoint *&thisJoinPoint = tjp;
42462
#line 113 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42464
#line 42465 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
42466
40449
typedef typename JoinPoint::That __JP_That;
42467
40450
typedef typename JoinPoint::Target __JP_Target;
42468
40451
typedef typename JoinPoint::Result __JP_Result;
42470
#line 113 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42472
40453
if (match_expr && thisJoinPoint->that ()->parse (TOK_ANY_EXPR)) {
42473
thisJoinPoint->that ()->parse (&__JP_That
42474
#line 115 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
40454
thisJoinPoint->that ()->parse (&__JP_That::wc_extension);
42476
40455
*(CTree**)thisJoinPoint->result () =
42477
40456
thisJoinPoint->that ()->builder ().any ();
42479
40458
thisJoinPoint->action ().trigger ();
42483
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42485
public: template<class JoinPoint> void __a2_around
42486
#line 123 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42488
#line 123 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42490
#line 123 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42492
#line 42493 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
40464
public: template<class JoinPoint> void __a2_around (JoinPoint *tjp) {
42494
40465
JoinPoint *&thisJoinPoint = tjp;
42496
#line 123 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42498
#line 42499 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
42500
40467
typedef typename JoinPoint::That __JP_That;
42501
40468
typedef typename JoinPoint::Target __JP_Target;
42502
40469
typedef typename JoinPoint::Result __JP_Result;
42504
#line 123 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42506
40471
if (match_expr && thisJoinPoint->that ()->parse (TOK_ANY_EXPR_LIST)) {
42507
thisJoinPoint->that ()->parse (&__JP_That
42508
#line 125 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
40472
thisJoinPoint->that ()->parse (&__JP_That::wc_extension);
42510
40473
*(CTree**)thisJoinPoint->result () =
42511
40474
thisJoinPoint->that ()->builder ().any_list ();
42513
40476
thisJoinPoint->action ().trigger ();
42517
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42519
public: template<class JoinPoint> void __a3_around
42520
#line 133 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42522
#line 133 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42524
#line 133 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42526
#line 42527 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
40482
public: template<class JoinPoint> void __a3_around (JoinPoint *tjp) {
42528
40483
JoinPoint *&thisJoinPoint = tjp;
42530
#line 133 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42532
#line 42533 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
42534
40485
typedef typename JoinPoint::That __JP_That;
42535
40486
typedef typename JoinPoint::Target __JP_Target;
42536
40487
typedef typename JoinPoint::Result __JP_Result;
42538
#line 133 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42540
40489
if (match_expr && thisJoinPoint->that ()->parse (TOK_ANY_ID_EXPR)) {
42541
thisJoinPoint->that ()->parse (&__JP_That
42542
#line 135 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
40490
thisJoinPoint->that ()->parse (&__JP_That::wc_extension);
42544
40491
*(CTree**)thisJoinPoint->result () =
42545
40492
thisJoinPoint->that ()->builder ().any ();
42547
40494
thisJoinPoint->action ().trigger ();
42551
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42553
public: template<class JoinPoint> void __a4_around
42554
#line 143 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42556
#line 143 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42558
#line 143 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42560
#line 42561 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
40500
public: template<class JoinPoint> void __a4_around (JoinPoint *tjp) {
42562
40501
JoinPoint *&thisJoinPoint = tjp;
42564
#line 143 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42566
#line 42567 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
42568
40503
typedef typename JoinPoint::That __JP_That;
42569
40504
typedef typename JoinPoint::Target __JP_Target;
42570
40505
typedef typename JoinPoint::Result __JP_Result;
42572
#line 143 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42574
40507
if (match_expr && thisJoinPoint->that ()->parse (TOK_ANY_IDENTIFIER)) {
42575
thisJoinPoint->that ()->parse (&__JP_That
42576
#line 145 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
40508
thisJoinPoint->that ()->parse (&__JP_That::wc_extension);
42578
40509
*(CTree**)thisJoinPoint->result () =
42579
40510
thisJoinPoint->that ()->builder ().any ();
42581
40512
thisJoinPoint->action ().trigger ();
42585
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42587
public: template<class JoinPoint> void __a5_after
42588
#line 153 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42590
#line 153 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42592
#line 153 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42594
#line 42595 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
40518
public: template<class JoinPoint> void __a5_after (JoinPoint *tjp) {
42596
40519
typedef typename JoinPoint::That __JP_That;
42597
40520
typedef typename JoinPoint::Target __JP_Target;
42598
40521
typedef typename JoinPoint::Result __JP_Result;
42600
#line 153 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42602
40523
tjp->that ()->_decl_spec_1.set (TOK_ANY_DECL_SPEC);
42606
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42608
public: template<class JoinPoint> void __a6_after
42609
#line 158 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42611
#line 158 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42613
#line 158 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42615
#line 42616 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
40529
public: template<class JoinPoint> void __a6_after (JoinPoint *tjp) {
42617
40530
typedef typename JoinPoint::That __JP_That;
42618
40531
typedef typename JoinPoint::Target __JP_Target;
42619
40532
typedef typename JoinPoint::Result __JP_Result;
42621
#line 158 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42623
40534
CTree *&result = *(CTree**)tjp->result ();
42624
40535
if (match_expr && !result &&
42625
40536
tjp->that ()->parse (TOK_ANY_DECL_SPEC) &&
42626
tjp->that ()->parse (&__JP_That
42627
#line 162 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
40537
tjp->that ()->parse (&__JP_That::wc_extension)) {
42629
40538
result = tjp->that ()->builder().any ();
42634
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42636
public: template<class JoinPoint> void __a7_around
42637
#line 168 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42639
#line 168 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42641
#line 168 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42643
#line 42644 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
40545
public: template<class JoinPoint> void __a7_around (JoinPoint *tjp) {
42645
40546
JoinPoint *&thisJoinPoint = tjp;
42647
#line 168 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42649
#line 42650 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
42651
40548
typedef typename JoinPoint::That __JP_That;
42652
40549
typedef typename JoinPoint::Target __JP_Target;
42653
40550
typedef typename JoinPoint::Result __JP_Result;
42655
#line 168 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42657
40552
if (match_expr && thisJoinPoint->that ()->parse (TOK_ANY_DECL_SPEC_SEQ)) {
42658
thisJoinPoint->that ()->parse (&__JP_That
42659
#line 170 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
40553
thisJoinPoint->that ()->parse (&__JP_That::wc_extension);
42661
40554
*(CTree**)thisJoinPoint->result () =
42662
40555
thisJoinPoint->that ()->builder ().any_list ();
42664
40557
thisJoinPoint->action ().trigger ();
42668
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42670
public: template<class JoinPoint> void __a8_around
42671
#line 178 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42673
#line 178 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42675
#line 178 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42677
#line 42678 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
40563
public: template<class JoinPoint> void __a8_around (JoinPoint *tjp) {
42679
40564
JoinPoint *&thisJoinPoint = tjp;
42681
#line 178 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42683
#line 42684 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
42685
40566
typedef typename JoinPoint::That __JP_That;
42686
40567
typedef typename JoinPoint::Target __JP_Target;
42687
40568
typedef typename JoinPoint::Result __JP_Result;
42689
#line 178 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42691
40570
if (match_expr && thisJoinPoint->that ()->parse (TOK_ANY_INIT_DECLARATOR_LIST)) {
42692
thisJoinPoint->that ()->parse (&__JP_That
42693
#line 180 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
40571
thisJoinPoint->that ()->parse (&__JP_That::wc_extension);
42695
40572
*(CTree**)thisJoinPoint->result () =
42696
40573
thisJoinPoint->that ()->builder ().any_list ();
42698
40575
thisJoinPoint->action ().trigger ();
42702
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42704
public: template<class JoinPoint> void __a9_around
42705
#line 188 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42707
#line 188 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42709
#line 188 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42711
#line 42712 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
40581
public: template<class JoinPoint> void __a9_around (JoinPoint *tjp) {
42713
40582
JoinPoint *&thisJoinPoint = tjp;
42715
#line 188 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42717
#line 42718 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
42719
40584
typedef typename JoinPoint::That __JP_That;
42720
40585
typedef typename JoinPoint::Target __JP_Target;
42721
40586
typedef typename JoinPoint::Result __JP_Result;
42723
#line 188 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42725
40588
if (match_expr && thisJoinPoint->that ()->parse (TOK_ANY_INIT_DECLARATOR)) {
42726
thisJoinPoint->that ()->parse (&__JP_That
42727
#line 190 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
40589
thisJoinPoint->that ()->parse (&__JP_That::wc_extension);
42729
40590
*(CTree**)thisJoinPoint->result () =
42730
40591
thisJoinPoint->that ()->builder ().any ();
42732
40593
thisJoinPoint->action ().trigger ();
42736
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42738
public: template<class JoinPoint> void __a10_around
42739
#line 198 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42741
#line 198 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42743
#line 198 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42745
#line 42746 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
40599
public: template<class JoinPoint> void __a10_around (JoinPoint *tjp) {
42747
40600
JoinPoint *&thisJoinPoint = tjp;
42749
#line 198 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42751
#line 42752 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
42753
40602
typedef typename JoinPoint::That __JP_That;
42754
40603
typedef typename JoinPoint::Target __JP_Target;
42755
40604
typedef typename JoinPoint::Result __JP_Result;
42757
#line 198 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42759
40606
if (match_expr && thisJoinPoint->that ()->parse (TOK_ANY_DECLARATOR)) {
42760
thisJoinPoint->that ()->parse (&__JP_That
42761
#line 200 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
40607
thisJoinPoint->that ()->parse (&__JP_That::wc_extension);
42763
40608
*(CTree**)thisJoinPoint->result () =
42764
40609
thisJoinPoint->that ()->builder ().any ();
42766
40611
thisJoinPoint->action ().trigger ();
42770
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42772
public: template<class JoinPoint> void __a11_around
42773
#line 208 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42775
#line 208 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42777
#line 208 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42779
#line 42780 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
40617
public: template<class JoinPoint> void __a11_around (JoinPoint *tjp) {
42781
40618
JoinPoint *&thisJoinPoint = tjp;
42783
#line 208 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42785
#line 42786 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
42787
40620
typedef typename JoinPoint::That __JP_That;
42788
40621
typedef typename JoinPoint::Target __JP_Target;
42789
40622
typedef typename JoinPoint::Result __JP_Result;
42791
#line 208 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42793
40624
if (match_expr && thisJoinPoint->that ()->parse (TOK_ANY_INIT)) {
42794
thisJoinPoint->that ()->parse (&__JP_That
42795
#line 210 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
40625
thisJoinPoint->that ()->parse (&__JP_That::wc_extension);
42797
40626
*(CTree**)thisJoinPoint->result () =
42798
40627
thisJoinPoint->that ()->builder ().any ();
42800
40629
thisJoinPoint->action ().trigger ();
42804
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42806
public: template<class JoinPoint> void __a12_around
42807
#line 218 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42809
#line 218 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42811
#line 218 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42813
#line 42814 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
40635
public: template<class JoinPoint> void __a12_around (JoinPoint *tjp) {
42815
40636
JoinPoint *&thisJoinPoint = tjp;
42817
#line 218 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42819
#line 42820 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
42821
40638
typedef typename JoinPoint::That __JP_That;
42822
40639
typedef typename JoinPoint::Target __JP_Target;
42823
40640
typedef typename JoinPoint::Result __JP_Result;
42825
#line 218 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42827
40642
if (match_expr && thisJoinPoint->that ()->parse (TOK_ANY_ARG_DECL_SEQ)) {
42828
thisJoinPoint->that ()->parse (&__JP_That
42829
#line 220 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
40643
thisJoinPoint->that ()->parse (&__JP_That::wc_extension);
42831
40644
*(CTree**)thisJoinPoint->result () =
42832
40645
thisJoinPoint->that ()->builder ().any_list ();
42834
40647
thisJoinPoint->action ().trigger ();
42838
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42840
public: template<class JoinPoint> void __a13_around
42841
#line 228 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42843
#line 228 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42845
#line 228 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42847
#line 42848 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
40653
public: template<class JoinPoint> void __a13_around (JoinPoint *tjp) {
42849
40654
JoinPoint *&thisJoinPoint = tjp;
42851
#line 228 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42853
#line 42854 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
42855
40656
typedef typename JoinPoint::That __JP_That;
42856
40657
typedef typename JoinPoint::Target __JP_Target;
42857
40658
typedef typename JoinPoint::Result __JP_Result;
42859
#line 228 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42861
40660
if (match_expr && thisJoinPoint->that ()->parse (TOK_ANY_FCT_BODY)) {
42862
thisJoinPoint->that ()->parse (&__JP_That
42863
#line 230 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
40661
thisJoinPoint->that ()->parse (&__JP_That::wc_extension);
42865
40662
*(CTree**)thisJoinPoint->result () =
42866
40663
thisJoinPoint->that ()->builder ().any ();
42868
40665
thisJoinPoint->action ().trigger ();
42872
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42874
public: template<class JoinPoint> void __a14_around
42875
#line 238 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42877
#line 238 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42879
#line 238 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42881
#line 42882 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
40671
public: template<class JoinPoint> void __a14_around (JoinPoint *tjp) {
42883
40672
JoinPoint *&thisJoinPoint = tjp;
42885
#line 238 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42887
#line 42888 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
42889
40674
typedef typename JoinPoint::That __JP_That;
42890
40675
typedef typename JoinPoint::Target __JP_Target;
42891
40676
typedef typename JoinPoint::Result __JP_Result;
42893
#line 238 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42895
40678
if (match_expr && thisJoinPoint->that ()->parse (TOK_ANY_CLASS_SPEC)) {
42896
thisJoinPoint->that ()->parse (&__JP_That
42897
#line 240 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
40679
thisJoinPoint->that ()->parse (&__JP_That::wc_extension);
42899
40680
*(CTree**)thisJoinPoint->result () =
42900
40681
thisJoinPoint->that ()->builder ().any ();
42902
40683
thisJoinPoint->action ().trigger ();
42906
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42908
public: template<class JoinPoint> void __a15_around
42909
#line 248 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42911
#line 248 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42913
#line 248 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42915
#line 42916 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
40689
public: template<class JoinPoint> void __a15_around (JoinPoint *tjp) {
42917
40690
JoinPoint *&thisJoinPoint = tjp;
42919
#line 248 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42921
#line 42922 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
42923
40692
typedef typename JoinPoint::That __JP_That;
42924
40693
typedef typename JoinPoint::Target __JP_Target;
42925
40694
typedef typename JoinPoint::Result __JP_Result;
42927
#line 248 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42929
40696
if (match_expr && thisJoinPoint->that ()->parse (TOK_ANY_MEMBER_SPEC)) {
42930
thisJoinPoint->that ()->parse (&__JP_That
42931
#line 250 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
40697
thisJoinPoint->that ()->parse (&__JP_That::wc_extension);
42933
40698
*(CTree**)thisJoinPoint->result () =
42934
40699
thisJoinPoint->that ()->builder ().any_list ();
42936
40701
thisJoinPoint->action ().trigger ();
42940
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42942
public: template<class JoinPoint> void __a16_around
42943
#line 258 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42945
#line 258 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42947
#line 258 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42949
#line 42950 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
40707
public: template<class JoinPoint> void __a16_around (JoinPoint *tjp) {
42951
40708
JoinPoint *&thisJoinPoint = tjp;
42953
#line 258 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42955
#line 42956 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
42957
40710
typedef typename JoinPoint::That __JP_That;
42958
40711
typedef typename JoinPoint::Target __JP_Target;
42959
40712
typedef typename JoinPoint::Result __JP_Result;
42961
#line 258 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42963
40714
if (match_expr && thisJoinPoint->that ()->parse (TOK_ANY_MEMBER_DECL)) {
42964
thisJoinPoint->that ()->parse (&__JP_That
42965
#line 260 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
40715
thisJoinPoint->that ()->parse (&__JP_That::wc_extension);
42967
40716
*(CTree**)thisJoinPoint->result () =
42968
40717
thisJoinPoint->that ()->builder ().any ();
42970
40719
thisJoinPoint->action ().trigger ();
42974
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42976
public: template<class JoinPoint> void __a17_around
42977
#line 268 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42979
#line 268 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42981
#line 268 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42983
#line 42984 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
40725
public: template<class JoinPoint> void __a17_around (JoinPoint *tjp) {
42985
40726
JoinPoint *&thisJoinPoint = tjp;
42987
#line 268 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42989
#line 42990 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
42991
40728
typedef typename JoinPoint::That __JP_That;
42992
40729
typedef typename JoinPoint::Target __JP_Target;
42993
40730
typedef typename JoinPoint::Result __JP_Result;
42995
#line 268 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
42997
40732
if (match_expr && thisJoinPoint->that ()->parse (TOK_ANY_STMT)) {
42998
thisJoinPoint->that ()->parse (&__JP_That
42999
#line 270 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
40733
thisJoinPoint->that ()->parse (&__JP_That::wc_extension);
43001
40734
*(CTree**)thisJoinPoint->result () =
43002
40735
thisJoinPoint->that ()->builder ().any ();
43004
40737
thisJoinPoint->action ().trigger ();
43008
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
43010
public: template<class JoinPoint> void __a18_around
43011
#line 278 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
43013
#line 278 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
43015
#line 278 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
43017
#line 43018 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
40743
public: template<class JoinPoint> void __a18_around (JoinPoint *tjp) {
43019
40744
JoinPoint *&thisJoinPoint = tjp;
43021
#line 278 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
43023
#line 43024 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
43025
40746
typedef typename JoinPoint::That __JP_That;
43026
40747
typedef typename JoinPoint::Target __JP_Target;
43027
40748
typedef typename JoinPoint::Result __JP_Result;
43029
#line 278 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
43031
40750
if (match_expr && thisJoinPoint->that ()->parse (TOK_ANY_STMT_SEQ)) {
43032
thisJoinPoint->that ()->parse (&__JP_That
43033
#line 280 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
40751
thisJoinPoint->that ()->parse (&__JP_That::wc_extension);
43035
40752
*(CTree**)thisJoinPoint->result () =
43036
40753
thisJoinPoint->that ()->builder ().any_list ();
43038
40755
thisJoinPoint->action ().trigger ();
43042
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
43044
public: template<class JoinPoint> void __a19_around
43045
#line 288 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
43047
#line 288 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
43049
#line 288 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
43051
#line 43052 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
40761
public: template<class JoinPoint> void __a19_around (JoinPoint *tjp) {
43053
40762
JoinPoint *&thisJoinPoint = tjp;
43055
#line 288 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
43057
#line 43058 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
43059
40764
typedef typename JoinPoint::That __JP_That;
43060
40765
typedef typename JoinPoint::Target __JP_Target;
43061
40766
typedef typename JoinPoint::Result __JP_Result;
43063
#line 288 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
43065
40768
if (match_expr && thisJoinPoint->that ()->parse (TOK_ANY_BASE_CLAUSE)) {
43066
thisJoinPoint->that ()->parse (&__JP_That
43067
#line 290 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
40769
thisJoinPoint->that ()->parse (&__JP_That::wc_extension);
43069
40770
*(CTree**)thisJoinPoint->result () =
43070
40771
thisJoinPoint->that ()->builder ().any_list ();
43072
40773
thisJoinPoint->action ().trigger ();
43076
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
43078
public: template<class JoinPoint> void __a20_around
43079
#line 298 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
43081
#line 298 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
43083
#line 298 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
43085
#line 43086 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
40779
public: template<class JoinPoint> void __a20_around (JoinPoint *tjp) {
43087
40780
JoinPoint *&thisJoinPoint = tjp;
43089
#line 298 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
43091
#line 43092 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
43093
40782
typedef typename JoinPoint::That __JP_That;
43094
40783
typedef typename JoinPoint::Target __JP_Target;
43095
40784
typedef typename JoinPoint::Result __JP_Result;
43097
#line 298 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
43099
40786
if (match_expr && thisJoinPoint->that ()->parse (TOK_ANY_CTOR_INIT)) {
43100
thisJoinPoint->that ()->parse (&__JP_That
43101
#line 300 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
40787
thisJoinPoint->that ()->parse (&__JP_That::wc_extension);
43103
40788
*(CTree**)thisJoinPoint->result () =
43104
40789
thisJoinPoint->that ()->builder ().any ();
43106
40791
thisJoinPoint->action ().trigger ();
43110
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
43112
public: template<class JoinPoint> void __a21_around
43113
#line 308 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
43115
#line 308 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
43117
#line 308 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
43119
#line 43120 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
40797
public: template<class JoinPoint> void __a21_around (JoinPoint *tjp) {
43121
40798
JoinPoint *&thisJoinPoint = tjp;
43123
#line 308 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
43125
#line 43126 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
43127
40800
typedef typename JoinPoint::That __JP_That;
43128
40801
typedef typename JoinPoint::Target __JP_Target;
43129
40802
typedef typename JoinPoint::Result __JP_Result;
43131
#line 308 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
43133
40804
if (match_expr && thisJoinPoint->that ()->parse (TOK_ANY_MEM_INIT)) {
43134
thisJoinPoint->that ()->parse (&__JP_That
43135
#line 310 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
40805
thisJoinPoint->that ()->parse (&__JP_That::wc_extension);
43137
40806
*(CTree**)thisJoinPoint->result () =
43138
40807
thisJoinPoint->that ()->builder ().any ();
43140
40809
thisJoinPoint->action ().trigger ();
43143
40814
// extend the syntax to be able to parse match trees
43146
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
43148
public: template<class JoinPoint> void __a22_around
43149
#line 320 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
43151
#line 320 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
43153
#line 320 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
43155
#line 43156 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
40817
public: template<class JoinPoint> void __a22_around (JoinPoint *tjp) {
43157
40818
JoinPoint *&thisJoinPoint = tjp;
43159
#line 320 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
43161
#line 43162 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
43163
40820
typedef typename JoinPoint::That __JP_That;
43164
40821
typedef typename JoinPoint::Target __JP_Target;
43165
40822
typedef typename JoinPoint::Result __JP_Result;
43167
#line 320 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CMatchSyntax.ah"
43169
40824
if (match_expr && thisJoinPoint->that ()->parse (TOK_IS_TYPEDEF)) {
43170
40825
*(CTree**)thisJoinPoint->result () =
67552
64141
// pointcut definitions
67554
#line 51 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67557
#line 52 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67560
#line 53 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67563
#line 54 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67566
#line 55 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67570
// extend the C Builder
67572
#line 59 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67575
#line 60 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67578
#line 61 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67581
#line 62 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67584
#line 63 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67587
// add rules to the C Syntax
67589
#line 66 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67592
#line 67 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67595
#line 68 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67598
#line 69 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67601
#line 70 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67604
// extend the C/C++ semantic
67606
#line 73 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
64148
// ----------------------------------------------------
64149
// the Gnu ASM syntax
64150
// ----------------------------------------------------
64152
// structural extensions
67609
64156
// extended asm statement
67611
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67613
public: template<class JoinPoint> void __a0_after
67614
#line 77 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67615
(JoinPoint *tjp, CSyntax *syntax)
67616
#line 77 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67618
#line 77 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67620
#line 67621 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
64158
public: template<class JoinPoint> void __a0_after (JoinPoint *tjp, CSyntax *syntax) {
67622
64159
typedef typename JoinPoint::That __JP_That;
67623
64160
typedef typename JoinPoint::Target __JP_Target;
67624
64161
typedef typename JoinPoint::Result __JP_Result;
67626
#line 77 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67628
64163
CTree *&result = *(CTree**)tjp->result ();
67629
64164
if (extended_asm && !result &&
67631
#line 80 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67632
*)syntax)->look_ahead (TOK_ASM) &&
67634
#line 81 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67635
*)syntax)->parse (&__JP_That
67636
#line 81 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67638
result = ((__JP_That
67639
#line 82 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67640
*)syntax)->builder().simple_decl ();
64165
((__JP_That*)syntax)->look_ahead (TOK_ASM) &&
64166
((__JP_That*)syntax)->parse (&__JP_That::gnu_asm_def)) {
64167
result = ((__JP_That*)syntax)->builder().simple_decl ();
67644
64173
// extended asm statement
67646
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67648
public: template<class JoinPoint> void __a1_around
67649
#line 88 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67650
(JoinPoint *tjp, CSyntax *syn)
67651
#line 88 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67653
#line 88 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67655
#line 67656 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
64175
public: template<class JoinPoint> void __a1_around (JoinPoint *tjp, CSyntax *syn) {
67657
64176
typedef typename JoinPoint::That __JP_That;
67658
64177
typedef typename JoinPoint::Target __JP_Target;
67659
64178
typedef typename JoinPoint::Result __JP_Result;
67661
#line 88 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67663
64180
if (extended_asm)
67664
*tjp->result () = ((__JP_That
67665
#line 90 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67666
*)syn)->gnu_asm_def ();
64181
*tjp->result () = ((__JP_That*)syn)->gnu_asm_def ();
67668
64183
tjp->proceed ();
64188
// ----------------------------------------------------
64189
// the 'restrict' keyword
64190
// ----------------------------------------------------
67671
64192
// extended cv qualifier
67673
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67675
public: template<class JoinPoint> void __a2_after
67676
#line 96 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67678
#line 96 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67680
#line 96 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67682
#line 67683 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
64194
public: template<class JoinPoint> void __a2_after (JoinPoint *tjp) {
67684
64195
typedef typename JoinPoint::That __JP_That;
67685
64196
typedef typename JoinPoint::Target __JP_Target;
67686
64197
typedef typename JoinPoint::Result __JP_Result;
67688
#line 96 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67690
64199
if (extended_cv_qual)
67691
64200
tjp->that ()->_cv_qual_1.set (TOK_RESTRICT);
67694
// ----------------------
67695
// expression statements
67696
// ----------------------
64205
// -------------------------
64206
// Gnu statement expressions
64207
// -------------------------
67698
64209
// pointcut definitions
67700
#line 106 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67703
#line 107 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67706
// extend the C Builder
67708
#line 110 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
64213
// structural extensions
67711
64218
// extended primary expression syntax
67713
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67715
public: template<class JoinPoint> void __a3_around
67716
#line 114 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67718
#line 114 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67720
#line 114 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67722
#line 67723 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
64220
public: template<class JoinPoint> void __a3_around (JoinPoint *tjp) {
67724
64221
typedef typename JoinPoint::That __JP_That;
67725
64222
typedef typename JoinPoint::Target __JP_Target;
67726
64223
typedef typename JoinPoint::Result __JP_Result;
67728
#line 114 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67731
#line 115 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67732
*syntax = tjp->that ();
64225
__JP_That *syntax = tjp->that ();
67733
64226
if (statement_exprs &&
67735
#line 117 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67736
*)syntax)->look_ahead (TOK_OPEN_ROUND) &&
67738
#line 118 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67739
*)syntax)->look_ahead (TOK_OPEN_CURLY, 2)) {
64227
((__JP_That*)syntax)->look_ahead (TOK_OPEN_ROUND) &&
64228
((__JP_That*)syntax)->look_ahead (TOK_OPEN_CURLY, 2)) {
67740
64229
CTree *&result = *(CTree**)tjp->result ();
67742
#line 120 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67743
*)syntax)->consume (); // skip the TOK_OPEN_ROUND
64230
((__JP_That*)syntax)->consume (); // skip the TOK_OPEN_ROUND
67746
#line 122 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67747
*)syntax)->parse (&__JP_That
67748
#line 122 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67751
#line 123 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67752
*)syntax)->parse (TOK_CLOSE_ROUND)) ?
67754
#line 124 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67755
*)syntax)->builder().gnu_statement_expr () : 0;
64232
(((__JP_That*)syntax)->parse (&__JP_That::cmpd_stmt) &&
64233
((__JP_That*)syntax)->parse (TOK_CLOSE_ROUND)) ?
64234
((__JP_That*)syntax)->builder().gnu_statement_expr () : 0;
67758
64237
tjp->proceed ();
67761
// extend the C/C++ semantic
67763
#line 131 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67766
#line 132 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67769
64242
// ----------------------
67770
64243
// TYPEOF keyword support
67771
64244
// ----------------------
67774
#line 138 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
64246
// structural extensions
64252
// introduce new state into CSemDeclSpecs
67777
64256
// syntax extension
67779
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67781
public: template<class JoinPoint> void __a4_after
67782
#line 142 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67784
#line 142 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67786
#line 142 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67788
#line 67789 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
64258
public: template<class JoinPoint> void __a4_after (JoinPoint *tjp) {
67790
64259
typedef typename JoinPoint::That __JP_That;
67791
64260
typedef typename JoinPoint::Target __JP_Target;
67792
64261
typedef typename JoinPoint::Result __JP_Result;
67794
#line 142 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67796
64263
if (typeof_keyword)
67797
64264
tjp->that ()->_simple_type_spec_1.set (TOK_TYPEOF);
67800
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67802
public: template<class JoinPoint> void __a5_after
67803
#line 146 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67805
#line 146 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67807
#line 146 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67809
#line 67810 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
64269
public: template<class JoinPoint> void __a5_after (JoinPoint *tjp) {
67811
64270
typedef typename JoinPoint::That __JP_That;
67812
64271
typedef typename JoinPoint::Target __JP_Target;
67813
64272
typedef typename JoinPoint::Result __JP_Result;
67815
#line 146 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67817
64274
CTree *&result = *(CTree**)tjp->result ();
67818
64275
if (typeof_keyword && !result && tjp->that ()->look_ahead (TOK_TYPEOF) &&
67819
tjp->that ()->parse (&__JP_That
67820
#line 149 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
64276
tjp->that ()->parse (&__JP_That::gnu_typeof))
67822
64277
result = tjp->that ()->builder ().simple_type_spec ();
67825
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67827
public: template<class JoinPoint> void __a6_after
67828
#line 152 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67830
#line 152 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67832
#line 152 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67834
#line 67835 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
64282
public: template<class JoinPoint> void __a6_after (JoinPoint *tjp) {
67836
64283
typedef typename JoinPoint::That __JP_That;
67837
64284
typedef typename JoinPoint::Target __JP_Target;
67838
64285
typedef typename JoinPoint::Result __JP_Result;
67840
#line 152 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67842
64287
CTree *&result = *(CTree**)tjp->result ();
67843
64288
if (typeof_keyword && !result && tjp->that ()->look_ahead (TOK_TYPEOF) &&
67844
tjp->that ()->parse (&__JP_That
67845
#line 155 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
64289
tjp->that ()->parse (&__JP_That::gnu_typeof))
67847
64290
result = tjp->that ()->semantic ().simple_type_spec ();
67850
// semantic extension
67852
#line 160 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67855
#line 161 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67859
// define gnu builtins in the semantic
67861
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67863
public: template<class JoinPoint> void __a7_after
67864
#line 166 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67866
#line 166 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67868
#line 166 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67870
#line 67871 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
67872
typedef typename JoinPoint::That __JP_That;
67873
typedef typename JoinPoint::Target __JP_Target;
67874
typedef typename JoinPoint::Result __JP_Result;
67876
#line 166 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67879
tjp->that ()->define_gnu_builtins ();
67882
// introduce new state into CSemDeclSpecs
67884
#line 172 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67887
#line 173 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67890
64295
// initialize the new state before an analysis starts
67892
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67894
public: void __a8_before
67895
#line 177 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67896
(CSemDeclSpecs &csd)
67897
#line 177 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67899
#line 177 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
64297
public: void __a7_before (CSemDeclSpecs &csd) {
67901
64298
csd._typeofs = 0;
67902
64299
csd._typeof_node = 0;
67905
64304
// make the analysis function aware of 'typeof'
67907
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67909
public: template<class JoinPoint> void __a9_after
67910
#line 184 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67911
(JoinPoint *tjp, CSemDeclSpecs &csd, CTree *spec)
67912
#line 184 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67914
#line 184 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67916
#line 67917 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/src/CCNameLookup.cc"
64306
public: template<class JoinPoint> void __a8_after (JoinPoint *tjp, CSemDeclSpecs &csd, CTree *spec) {
67918
64307
typedef typename JoinPoint::That __JP_That;
67919
64308
typedef typename JoinPoint::Target __JP_Target;
67920
64309
typedef typename JoinPoint::Result __JP_Result;
67922
#line 184 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
67924
64311
bool &result = *tjp->result ();
67925
64312
if (!result && spec->NodeName () == CT_GnuTypeof::NodeId ()) {
67926
64313
csd._typeofs++;
68185
#line 278 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
64537
// ----------------------------------------------------
64538
// the Gnu ASM syntax
64539
// ----------------------------------------------------
68188
64541
// add rules to the C Syntax
68191
#line 290 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
68195
#line 296 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
68199
#line 302 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
68203
#line 307 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
68207
64552
// extend the C Builder
68210
#line 324 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
68214
#line 328 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
68218
#line 333 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
68222
#line 337 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
68225
// ----------------------
68226
// expression statements
68227
// ----------------------
68229
// extend the C Builder
68231
#line 347 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
68234
// C++ semantic extension
64563
// -------------------------
64564
// Gnu statement expressions
64565
// -------------------------
64567
// C Builder extension
64572
// C semantic extension
68236
64575
// the necessary #include "..CSemVisitor.h" in CSemExpr.cc will is inserted
68237
64576
// manually (for now)!
68239
#line 382 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
64579
// C++ semantic extension
68242
64582
// the necessary #include "..CCSemVisitor.h" in CCSemExpr.cc will is inserted
68243
64583
// manually (for now)!
68245
#line 415 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
68248
64586
// ----------------------
68249
64587
// TYPEOF keyword support
68250
64588
// ----------------------
68252
// syntax extension
68254
#line 426 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
64590
// add rules to the C Syntax for the Gnu Typeof syntax
64595
// add rules to the C Builder for the Gnu Typeof syntax
68257
64598
// builder extension
68259
#line 439 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
68262
64601
// C semantic extension
68264
#line 458 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
68267
64606
// C++ semantic extension
68269
#line 476 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
68273
// extend the C semantic
68275
#line 800 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
64612
// ----------------------
64613
// Gnu builtin functions
64614
// ----------------------
64616
// extend the C/C++ semantic
68279
64622
#endif /* __ext_gnu_h__ */
68281
#line 23 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/src/CCNameLookup.cc"
68283
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_ExtAC_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_ExtAC_ah__)
68284
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_ExtAC_ah__
68286
#line 27 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/src/CCNameLookup.cc"
68288
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_ExtACTree_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_ExtACTree_ah__)
68289
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_ExtACTree_ah__
68291
#line 31 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/src/CCNameLookup.cc"
68293
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_TraceSyntax_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_TraceSyntax_ah__)
68294
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_TraceSyntax_ah__
64624
#if !defined(__ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtAC_ah__) && defined(__ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtAC_ah__)
64625
#define __ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtAC_ah__
64627
#if !defined(__ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtACBuilderH_ah__) && defined(__ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtACBuilderH_ah__)
64628
#define __ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtACBuilderH_ah__
64629
#include "ExtACBuilderH.ah"
64631
#if !defined(__ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtACBuilderCC_ah__) && defined(__ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtACBuilderCC_ah__)
64632
#define __ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtACBuilderCC_ah__
64633
#include "ExtACBuilderCC.ah"
64635
#if !defined(__ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtACSyntaxH_ah__) && defined(__ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtACSyntaxH_ah__)
64636
#define __ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtACSyntaxH_ah__
64637
#include "ExtACSyntaxH.ah"
64639
#if !defined(__ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtACSyntaxCC_ah__) && defined(__ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtACSyntaxCC_ah__)
64640
#define __ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtACSyntaxCC_ah__
64641
#include "ExtACSyntaxCC.ah"
64643
#if !defined(__ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtACTree_ah__) && defined(__ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtACTree_ah__)
64644
#define __ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtACTree_ah__
64646
#if !defined(__ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtACKeywords_ah__) && defined(__ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtACKeywords_ah__)
64647
#define __ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
64648
// This file is part of PUMA.
64649
// Copyright (C) 1999-2003 The PUMA developer team.
64651
// This program is free software; you can redistribute it and/or
64652
// modify it under the terms of the GNU General Public License as
64653
// published by the Free Software Foundation; either version 2 of
64654
// the License, or (at your option) any later version.
64656
// This program is distributed in the hope that it will be useful,
64657
// but WITHOUT ANY WARRANTY; without even the implied warranty of
64658
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
64659
// GNU General Public License for more details.
64661
// You should have received a copy of the GNU General Public
64662
// License along with this program; if not, write to the Free
64663
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
64664
// MA 02111-1307 USA
64666
#ifndef __ext_ac_keywords_ah__
64667
#define __ext_ac_keywords_ah__
64670
#ifndef __ac_fwd_ExtACKeywords__
64671
#define __ac_fwd_ExtACKeywords__
64672
class ExtACKeywords;
64674
template <class JoinPoint, class Binding>
64675
inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp);
64676
template <class JoinPoint, class Binding>
64677
inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp);
64678
template <class JoinPoint>
64679
inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp);
64683
#ifndef __ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
64684
#define __ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
64686
// This file is part of PUMA.
64687
// Copyright (C) 1999-2003 The PUMA developer team.
64689
// This program is free software; you can redistribute it and/or
64690
// modify it under the terms of the GNU General Public License as
64691
// published by the Free Software Foundation; either version 2 of
64692
// the License, or (at your option) any later version.
64694
// This program is distributed in the hope that it will be useful,
64695
// but WITHOUT ANY WARRANTY; without even the implied warranty of
64696
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
64697
// GNU General Public License for more details.
64699
// You should have received a copy of the GNU General Public
64700
// License along with this program; if not, write to the Free
64701
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
64702
// MA 02111-1307 USA
64704
#ifndef __CProject_h__
64705
#define __CProject_h__
64707
// Special project derivation for C++ sources.
64709
#include "Puma/Config.h"
64710
#include "Puma/Project.h"
64711
#include "Puma/CScanner.h"
64712
#include "Puma/ErrorStream.h"
64722
class WinImportHandler;
64724
class CMatchSyntax;
64727
class ExtACBuilderCoupling;
64728
class ExtACSyntaxCoupling;
64730
class ExtACKeywords;
64732
class WinDeclSpecs;
64733
class WinMemberExplSpec;
64734
class WinTypeKeywords;
64735
class PragmaOnceUnitState;
64737
class CCExprResolve;
64738
class CExprResolve;
64740
class CProject : public Project { friend class ::WinIfExists;
64741
friend class ::WinImportHandler;
64742
friend class ::WinMacros;
64743
friend class ::CMatchSyntax;
64744
friend class ::ExtGnu;
64745
friend class ::ExtAC;
64746
friend class ::ExtACBuilderCoupling;
64747
friend class ::ExtACSyntaxCoupling;
64748
friend class ::ExtACTree;
64749
friend class ::ExtACKeywords;
64750
friend class ::WinAsm;
64751
friend class ::WinDeclSpecs;
64752
friend class ::WinMemberExplSpec;
64753
friend class ::WinTypeKeywords;
64754
friend class ::PragmaOnceUnitState;
64755
friend class ::PragmaOnce;
64756
friend class ::CCExprResolve;
64757
friend class ::CExprResolve;
64763
CProject (ErrorStream &e);
64765
// Constructor: Add some source directories.
64766
CProject (ErrorStream &, const char *defs,
64767
const char *decls = (const char*)0);
64769
// Constructor: Setup preprocessor configuration according to
64770
// command line parameter and the global config file and
64771
// add some source directories.
64772
CProject (ErrorStream &, int &argc, char **&argv,
64773
const char *defs = (const char*)0,
64774
const char *decls = (const char*)0);
64776
public: // Project configuration
64777
// Get the preprocessor configuration.
64780
// Configure the project from the command line or a file.
64781
virtual void configure (Config &);
64783
// Add a new file to the project.
64784
Unit *addFile (Filename file);
64786
public: // Scanner interface
64787
// Get the scanner.
64788
CScanner &scanner ();
64790
// Scan the file `file' or the source if given. When
64791
// scanning a source the resulting unit gets the name `file'.
64792
public: inline ::Puma::Unit * __exec_old_scanFile(const char * file,::Puma::Source * ,bool isFile);
64793
virtual Unit *scanFile (const char *file, Source * = (Source*)0,
64794
bool isFile = true);
64796
// Scan a string. The resulting unit gets the name `name'.
64797
// (and will not be registered at the unit manager!)
64798
virtual Unit *scanString (const char *str,
64799
const char *name = (const char*)0);
64801
public: // Miscellaneous Functions
64803
// Give the filename needed to include a particular header file
64804
Filename getInclString (Filename filename);
64807
// Map the type string from --size-type and --ptrdiff-type
64808
// to real Puma type.
64809
CTypeInfo *mapType (const char *) const;
64812
inline Config &CProject::config ()
64813
{ return _config; }
64814
inline CScanner &CProject::scanner ()
64815
{ return _scanner; }
64818
} // namespace Puma
64820
#endif /* __CProject_h__ */
64821
// This file is part of PUMA.
64822
// Copyright (C) 1999-2003 The PUMA developer team.
64824
// This program is free software; you can redistribute it and/or
64825
// modify it under the terms of the GNU General Public License as
64826
// published by the Free Software Foundation; either version 2 of
64827
// the License, or (at your option) any later version.
64829
// This program is distributed in the hope that it will be useful,
64830
// but WITHOUT ANY WARRANTY; without even the implied warranty of
64831
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
64832
// GNU General Public License for more details.
64834
// You should have received a copy of the GNU General Public
64835
// License along with this program; if not, write to the Free
64836
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
64837
// MA 02111-1307 USA
64839
#ifndef __FileUnit__
64840
#define __FileUnit__
64842
// Special Unit for files. Knows its last save location and the
64843
// absolute path of the corresponding file.
64852
class WinImportHandler;
64854
class CMatchSyntax;
64857
class ExtACBuilderCoupling;
64858
class ExtACSyntaxCoupling;
64860
class ExtACKeywords;
64862
class WinDeclSpecs;
64863
class WinMemberExplSpec;
64864
class WinTypeKeywords;
64865
class PragmaOnceUnitState;
64867
class CCExprResolve;
64868
class CExprResolve;
64870
class FileUnit : public Unit { friend class ::WinIfExists;
64871
friend class ::WinImportHandler;
64872
friend class ::WinMacros;
64873
friend class ::CMatchSyntax;
64874
friend class ::ExtGnu;
64875
friend class ::ExtAC;
64876
friend class ::ExtACBuilderCoupling;
64877
friend class ::ExtACSyntaxCoupling;
64878
friend class ::ExtACTree;
64879
friend class ::ExtACKeywords;
64880
friend class ::WinAsm;
64881
friend class ::WinDeclSpecs;
64882
friend class ::WinMemberExplSpec;
64883
friend class ::WinTypeKeywords;
64884
friend class ::PragmaOnceUnitState;
64885
friend class ::PragmaOnce;
64886
friend class ::CCExprResolve;
64887
friend class ::CExprResolve;
64889
char *_lastLocation;
64890
char *_absolutePath;
64898
FileUnit (const List &);
64899
virtual ~FileUnit ();
64901
virtual void name (const char *);
64902
void setLocation (const char *);
64904
char *lastLocation () const;
64905
char *absolutePath () const;
64906
bool isFile () const;
64908
// Generates the absolute pathname to the file.
64909
static char *absolutePath (const char *);
64910
static char *resolvePath (const char *);
64912
// File belongs to given project?
64913
bool belongsTo (Project &);
64916
inline FileUnit::FileUnit () :
64918
_lastLocation ((char*)0),
64919
_absolutePath ((char*)0),
64923
inline FileUnit::FileUnit (Unit &unit) :
64925
_lastLocation ((char*)0),
64926
_absolutePath ((char*)0),
64930
inline FileUnit::FileUnit (const List &list) :
64932
_lastLocation ((char*)0),
64933
_absolutePath ((char*)0),
64937
inline FileUnit::~FileUnit ()
64938
{ if (_lastLocation) delete[] _lastLocation;
64939
if (_absolutePath) delete[] _absolutePath; }
64941
inline char *FileUnit::lastLocation () const
64942
{ return _lastLocation; }
64943
inline char *FileUnit::absolutePath () const
64944
{ return _absolutePath; }
64945
inline bool FileUnit::isFile () const
64949
} // namespace Puma
64951
#endif /* __FileUnit__ */
64952
using namespace Puma;
64954
// *****************************************
64955
// AspectC++ keyword handling in the scanner
64956
// *****************************************
64958
class WinImportHandler;
64960
class CMatchSyntax;
64963
class ExtACBuilderCoupling;
64964
class ExtACSyntaxCoupling;
64967
class WinDeclSpecs;
64968
class WinMemberExplSpec;
64969
class WinTypeKeywords;
64970
class PragmaOnceUnitState;
64972
class CCExprResolve;
64973
class CExprResolve;
64974
class ExtACKeywords {
64976
static ExtACKeywords *aspectof () {
64977
static ExtACKeywords __instance;
64978
return &__instance;
64980
static ExtACKeywords *aspectOf () {
64981
return aspectof ();
64984
friend class ::WinIfExists;
64985
friend class ::WinImportHandler;
64986
friend class ::WinMacros;
64987
friend class ::CMatchSyntax;
64988
friend class ::ExtGnu;
64989
friend class ::ExtAC;
64990
friend class ::ExtACBuilderCoupling;
64991
friend class ::ExtACSyntaxCoupling;
64992
friend class ::ExtACTree;
64993
friend class ::WinAsm;
64994
friend class ::WinDeclSpecs;
64995
friend class ::WinMemberExplSpec;
64996
friend class ::WinTypeKeywords;
64997
friend class ::PragmaOnceUnitState;
64998
friend class ::PragmaOnce;
64999
friend class ::CCExprResolve;
65000
friend class ::CExprResolve;
65003
bool _prj_keywords;
65004
CProject *_project; // active project
65007
ExtACKeywords () : _prj_keywords (false) {}
65009
// allow/forbid AspectC++ keywords in normal project files
65010
void prj_keywords (bool kw) { _prj_keywords = kw; }
65013
public: void __a0_before (CProject &project) {
65014
_project = &project;
65018
public: template<class JoinPoint> void __a1_before (JoinPoint *tjp, Unit &unit) {
65019
typedef typename JoinPoint::That __JP_That;
65020
typedef typename JoinPoint::Target __JP_Target;
65021
typedef typename JoinPoint::Result __JP_Result;
65023
if (!unit.isFile ())
65026
bool ac_kw = _prj_keywords;
65027
// in external files the AspectC++ keywords are always identifiers
65028
if (!((FileUnit*)&unit)->belongsTo (*_project)) {
65031
// in aspect headers keywords are keywords
65032
else if (unit.name () &&
65033
strcmp (unit.name () + strlen (unit.name ()) - 3, ".ah") == 0) {
65036
// finally the right flag
65037
tjp->that ()->allow_aspectc (ac_kw);
65041
public: template<class JoinPoint> void __a2_before (JoinPoint *tjp) {
65042
typedef typename JoinPoint::That __JP_That;
65043
typedef typename JoinPoint::Target __JP_Target;
65044
typedef typename JoinPoint::Result __JP_Result;
65046
_project = tjp->that ();
65050
template <class JoinPoint, class Binding>
65051
inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp) {
65052
typedef typename Binding::template Arg<0> Arg0;
65053
::ExtACKeywords::aspectof()->__a0_before ((Puma::CProject &)Arg0::val (tjp));
65055
template <class JoinPoint, class Binding>
65056
inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp) {
65057
typedef typename Binding::template Arg<0> Arg0;
65058
::ExtACKeywords::aspectof()->__a1_before (tjp, (Puma::Unit &)Arg0::val (tjp));
65060
template <class JoinPoint>
65061
inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp) {
65062
::ExtACKeywords::aspectof()->__a2_before (tjp);
65067
#endif /* __ext_ac_keywords_ah__ */
65069
#if !defined(__ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_TraceSyntax_ah__) && defined(__ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_TraceSyntax_ah__)
65070
#define __ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_TraceSyntax_ah__
68295
65071
#include "TraceSyntax.ah"
68297
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinAsm_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinAsm_ah__)
68298
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinAsm_ah__
65073
#if !defined(__ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_WinAsm_ah__) && defined(__ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_WinAsm_ah__)
65074
#define __ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_WinAsm_ah__
68299
65075
#include "WinAsm.ah"
68301
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__)
68302
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__
65077
#if !defined(__ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__) && defined(__ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__)
65078
#define __ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__
68303
65079
#include "WinDeclSpecs.ah"
68305
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__)
68306
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__
65081
#if !defined(__ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__) && defined(__ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__)
65082
#define __ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__
68307
65083
#include "WinMemberExplSpec.ah"
68309
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__)
68310
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__
65085
#if !defined(__ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__) && defined(__ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__)
65086
#define __ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__
68311
65087
#include "WinTypeKeywords.ah"
68313
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__)
68314
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
68316
#line 55 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/src/CCNameLookup.cc"
65089
#if !defined(__ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__) && defined(__ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__)
65090
#define __ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
68318
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_PragmaOnce_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_PragmaOnce_ah__)
68319
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_PragmaOnce_ah__
65092
#if !defined(__ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_PragmaOnce_ah__) && defined(__ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_PragmaOnce_ah__)
65093
#define __ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_PragmaOnce_ah__
68320
65094
#include "PragmaOnce.ah"
68322
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_CCExprResolve_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_CCExprResolve_ah__)
68323
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_CCExprResolve_ah__
68324
#include "CCExprResolve.ah"
68326
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_CExprResolve_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_CExprResolve_ah__)
68327
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_CExprResolve_ah__
68328
#include "CExprResolve.ah"
65096
#if !defined(__ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_CCExprResolveH_ah__) && defined(__ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_CCExprResolveH_ah__)
65097
#define __ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
65098
#include "CCExprResolveH.ah"
65100
#if !defined(__ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_CCExprResolveCC_ah__) && defined(__ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_CCExprResolveCC_ah__)
65101
#define __ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_CCExprResolveCC_ah__
65102
#include "CCExprResolveCC.ah"
65104
#if !defined(__ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_CExprResolveH_ah__) && defined(__ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_CExprResolveH_ah__)
65105
#define __ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_CExprResolveH_ah__
65106
#include "CExprResolveH.ah"
65108
#if !defined(__ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_CExprResolveCC_ah__) && defined(__ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_CExprResolveCC_ah__)
65109
#define __ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_CExprResolveCC_ah__
65110
#include "CExprResolveCC.ah"
68330
65112
/*** end of aspect includes ***/
68331
#undef __ac_FIRST__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1__
68332
#undef __ac_FIRST_FILE__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_src_CCNameLookup_cc__
68333
#endif // __ac_FIRST_FILE__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_src_CCNameLookup_cc__
65113
#undef __ac_FIRST__tmp_AOP_LIN_AOP_Puma_gen45release_step1__
65114
#undef __ac_FIRST_FILE__tmp_AOP_LIN_AOP_Puma_gen45release_step1_src_CCNameLookup_cc__
65115
#endif // __ac_FIRST_FILE__tmp_AOP_LIN_AOP_Puma_gen45release_step1_src_CCNameLookup_cc__